Merge branch 'mosfet/master' of https://git.maemo.org/projects/findit into mosfet...
[findit] / src / findit.py
index 6c42ce0..2fb2e94 100755 (executable)
@@ -119,7 +119,7 @@ class PropertiesDialog(gtk.Dialog):
 
         # Надписи (подпись: значение)
         lbls = [(gtk.Label(_(name)), gtk.Label(value)) for name, value in 
-            [('Name', name), ('Size', "%s (%d b)" % (size, bytesize)),
+            [('Name', name), ('Size', '%s (%d b)' % (size, bytesize)),
              ('Opened', access), ('Modified', modified)]]
 
         # Упаковка надписей в таблицу и выравнивание
@@ -208,7 +208,8 @@ class MainWindow(gtk.Window):
             self.butt_start.set_sensitive(True)
             self.butt_stop.set_sensitive(False)
             self.propertiesbtn.set_sensitive(True)
-            self.srch_p_entr.grab_focus()
+#             self.srch_p_entr.grab_focus()
+            self.srch_p_btn.grab_focus()
         else:
             # Иначе выводим окошко с ошибкой
             self.mess_window('error', _('Invalid directory') )
@@ -218,6 +219,22 @@ class MainWindow(gtk.Window):
         """Stop search. "Stop" button clicked callback."""
         self.stopit = True
 
+    # Функция выполняющаяся при нажатии на кнопку "Обзор"
+    def browse(self, widget):
+        """Open directory browser. "Browse" button clicked callback."""
+        dialog = gtk.FileChooserDialog( title=_('Choose directory'),
+                                        parent=self,
+                                        action='select-folder',
+                                        buttons=(gtk.STOCK_OK, gtk.RESPONSE_OK,
+                                                 gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) )
+        dialog.set_current_folder(self.srch_p_entr.get_text())
+        dialog.show_all()
+        response = dialog.run()
+        if response == gtk.RESPONSE_OK:
+            self.srch_p_entr.set_text(dialog.get_filename())
+        dialog.destroy()
+            
+
     # Функция выполняющаяся при нажатии на кнопку "Свойства файла"
     def show_properties_dialog(self, *args):
         """Show property dialog window."""
@@ -286,7 +303,7 @@ class MainWindow(gtk.Window):
         self.set_border_width(4)
         self.fullscreen = False
         self.connect('delete_event', gtk.main_quit)
-        self.connect("key-press-event", on_key_press)
+        self.connect('key-press-event', on_key_press)
         self.set_wmclass('MainWindow', 'FindIT')
 
         #########  Добавляем элементы ################
@@ -297,11 +314,13 @@ class MainWindow(gtk.Window):
         self.srch_p_entr.set_text(self.start_path)
         # Отключаем автокапитализацию(ввод первой буквы заглавной) на таблетке
         if HILDON:
-            self.srch_p_entr.set_property("hildon-input-mode", 'full')
+            self.srch_p_entr.set_property('hildon-input-mode', 'full')
         # Нажатие Enter в поле ввода
-        self.srch_p_entr.connect("activate", self.start_print)
+        self.srch_p_entr.connect('activate', self.start_print)
 
         # 2. Кнопка "Обзор"
+        self.srch_p_btn = gtk.Button('Browse...')
+        self.srch_p_btn.connect('clicked', self.browse)
 
         # 3. Надпись1 "Количество отображаемых файлов:"
         label1 = gtk.Label( _('Files quantity') )
@@ -392,9 +411,15 @@ class MainWindow(gtk.Window):
         hbox1.pack_start(self.butt_stop, True, True, 0)
         hbox1.pack_start(self.propertiesbtn, True, True, 0)
 
+        hbox2 = gtk.HBox(False, 5)
+        hbox2.pack_start(self.srch_p_entr, True, True, 0)
+        hbox2.pack_start(self.srch_p_btn, False, False, 0)
+
         # Добавляем элементы в основной контейнер
         main_vbox.pack_start(main_menu, False, False, 0)
-        main_vbox.pack_start(self.srch_p_entr, False, False, 0)
+#         main_vbox.pack_start(self.srch_p_entr, False, False, 0)
+#         main_vbox.pack_start(self.srch_p_btn, False, False, 0)
+        main_vbox.pack_start(hbox2, False, False, 0)
         main_vbox.pack_start(hbox1, False, False, 0)
         scrollwind.add(self.treeview)
         main_vbox.pack_start(scrollwind, True, True, 0)