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