From 44368480d0e9ae6b1eb111b5d382505b15422111 Mon Sep 17 00:00:00 2001 From: Eugene Gagarin Date: Fri, 20 Feb 2009 17:38:54 +0300 Subject: [PATCH] Properties dialog cleaning & gtk|hildon windows --- findit.py | 56 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/findit.py b/findit.py index 9f22d55..93608ef 100755 --- a/findit.py +++ b/findit.py @@ -6,8 +6,8 @@ import gtk 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 @@ -16,20 +16,19 @@ import time 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.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 + def _(text): return text + + +if hildonFound: + winType = hildon.Window +else: + winType = gtk.Window ### Common functions ########################################################### @@ -91,17 +90,20 @@ class PropertiesDialog(gtk.Dialog): 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) @@ -114,15 +116,19 @@ class PropertiesDialog(gtk.Dialog): 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() @@ -130,7 +136,7 @@ class PropertiesDialog(gtk.Dialog): ### Main window ################################################################ -class MainWindow(gtk.Window): +class MainWindow(winType): # Окно сообщения заданного типа с заданным текстом def mess_window(self, mestype, content): -- 1.7.9.5