b7219dca156f8d682249eec337d1247a3788cdf1
[findit] / src / files / out_table.py
1 #!/usr/bin/env python
2 # -*-coding: utf-8 -*-
3 # vim: sw=4 ts=4 expandtab ai
4
5 from misc import _
6
7 #==============================================================================
8
9 # class OutTable_Control(object):
10 #     def __init__(self):
11 #         self.table_present = Gtk_Presentation()
12
13 #     def show(self, filelist, flsize):
14 #         self.table_present.show_result(filelist, flsize)
15
16 #     def get_ui(self):
17 #         return self.table_present.get_toplevel()
18
19
20 # #==============================================================================
21
22 # class OutTable_Abstraction(object):
23 #     pass
24
25 #==============================================================================
26
27 class Cli_Presentation(object):
28     def __init__(self, filelist):   ###
29         self.toplevel = self.print_results(filelist)
30
31     def print_results(self, filelist):
32         for bsize, path, size in filelist:
33             print '%10d' % bsize, path
34
35 #==============================================================================
36
37 class Gtk_Presentation(object):
38     def __init__(self, filelist):   ###
39         import gtk
40         import gobject
41
42         # Определяем переменную в которой будет храниться выводимый список
43         self.liststore = gtk.ListStore(str, str, gobject.TYPE_INT64)
44
45         for bsize, path, size in filelist:
46             self.liststore.append([path, size, bsize])
47
48         treeview = gtk.TreeView(self.liststore)
49
50         # Создаем и настраиваем колонку с размером файла
51         size_col = gtk.TreeViewColumn(_('Size'))
52         cell1 = gtk.CellRendererText()
53         cell1.set_property('width', 90)
54         size_col.pack_start(cell1, True)
55         size_col.add_attribute(cell1, 'text', 1)
56         treeview.append_column(size_col)
57         # Создаем и настраиваем колонку с именем файла
58         path_col = gtk.TreeViewColumn(_('Path'))
59         cell2 = gtk.CellRendererText()
60         path_col.pack_start(cell2, True)
61         path_col.add_attribute(cell2, 'text', 0)
62         treeview.append_column(path_col)
63
64         # Добавляем сортировку для колонок
65         treeview.set_search_column(1)
66         path_col.set_sort_column_id(0)
67         size_col.set_sort_column_id(2)
68
69         self.swin = gtk.ScrolledWindow()
70         self.swin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
71         self.swin.add(treeview)
72 ###        self.swin.show_all()
73         self.toplevel = self.swin
74
75 #     #=== Functions ============================================================
76 #     def show_results(self, filelist):
77 #         self.liststore.clear()
78 #         for path, size, bsize in filelist:
79 #             print path, size, bsize
80 #             self.liststore.append([path, size, bsize])
81
82 #==============================================================================
83
84 class Hildon_Presentation(object):
85     def __init__(self, filelist):   ###
86         import gtk
87         import gobject
88         import hildon
89
90         # На таблетке не отображаються заголовки столбцов по умолчанию -
91         # след строка заставляет их отображаться принудительно
92         treeview.set_headers_visible(1)