import gobject
import pango
from os import walk
-from os.path import join, abspath, normcase, basename
-from os.path import isdir, getsize, getatime, getmtime
+from os.path import join, abspath, normcase, basename, \
+ isdir, getsize, getatime, getmtime
from heapq import nlargest
import gettext
import sys
try: import hildon; hildonFound = True
except: hildonFound = False
-
try:
- # Ищем перевод в /usr/share/locale
- lang = gettext.translation('findit')
- lang.install()
+ # Подразумевается, что ru/LC_MESSAGES/program.mo находится в текущем каталоге (sys.path[0])
+ # Для стандартного /usr/share/locale писать gettext.translation('findit')
+ #langRU = gettext.translation('findit', sys.path[0], languages=['ru'])
+ langRU = gettext.translation('findit')
+ langRU.install()
except:
- try:
- # Иначе, ищем в ./ru/LC_MESSAGES/findit.mo
- langRU = gettext.translation('findit', sys.path[0], languages=['ru'])
- langRU.install()
- except:
- # Нет и там - используем захардкоженный текст
- # (закомментировать перед использованием pygettext)
- def _(text): return text
+ # Закомментировать перед использованием pygettext
+ def _(text): return text
+
+
+if hildonFound: winType = gtk.Window
+else: winType = gtk.Window
### Common functions ###########################################################
self.set_transient_for(app)
self.set_wmclass('PropertiesDialog', 'FindIT')
self.add_buttons(gtk.STOCK_OK, gtk.RESPONSE_OK)
+ self.set_resizable(False)
+ # Достаем свойства выбранного файла
name = basename(path)
-
access = time.strftime('%x %X', time.localtime(getatime(path)))
modified = time.strftime('%x %X', time.localtime(getmtime(path)))
- table = gtk.Table(2, 2, True)
+ # Таблица надписей
+ table = gtk.Table()
table.set_border_width(10)
table.set_col_spacings(10)
table.set_row_spacings(10)
+ # Надписи (подпись: значение)
nameLbl = gtk.Label( _('Name') )
nameValueLbl = gtk.Label(name)
modifiedLbl = gtk.Label( _('Modified') )
modifiedValueLbl = gtk.Label(modified)
- table.attach(nameLbl, 0, 1, 0, 1)
- table.attach(nameValueLbl, 1, 2, 0, 1)
- table.attach(sizeLbl, 0, 1, 1, 2)
- table.attach(sizeValueLbl, 1, 2, 1, 2)
- table.attach(accessLbl, 0, 1, 2, 3)
- table.attach(accessValueLbl, 1, 2, 2, 3)
- table.attach(modifiedLbl, 0, 1, 3, 4)
- table.attach(modifiedValueLbl, 1, 2, 3, 4)
+ # Список надписей
+ lbls = [(nameLbl, nameValueLbl), (sizeLbl, sizeValueLbl),
+ (accessLbl, accessValueLbl), (modifiedLbl, modifiedValueLbl)]
+
+ # Упаковка надписей в таблицу и выравнивание
+ for i, lbl in enumerate(lbls):
+ name, value = lbl
+ table.attach(name, 0, 1, i, i+1)
+ table.attach(value, 1, 2, i, i+1)
+ name.set_alignment(1, 0.5)
+ value.set_alignment(0, 0.5)
+ # Упаковка таблицы в vbox диалога
self.vbox.add(table)
self.show_all()
self.run()
### Main window ################################################################
-class MainWindow(gtk.Window):
+class MainWindow(winType):
# Окно сообщения заданного типа с заданным текстом
def mess_window(self, mestype, content):