'Browse' button variant 2
authorEugene Gagarin <mosfet07@ya.ru>
Thu, 5 Mar 2009 13:09:58 +0000 (16:09 +0300)
committerEugene Gagarin <mosfet07@ya.ru>
Thu, 5 Mar 2009 13:09:58 +0000 (16:09 +0300)
src/findit.py

index e21bd48..a7c1251 100755 (executable)
@@ -180,8 +180,7 @@ class MainWindow(gtk.Window):
     # Функция выполняющаяся при нажатии на кнопку "Показать"
     def start_print(self, widget):
         """Start file search. Button "Go" activate callback."""         
-#         self.start_path = self.srch_p_entr.get_text()
-        self.start_path = self.srch_p_btn.get_current_folder()
+        self.start_path = self.srch_p_entr.get_text()
         # Проверяем правильное ли значение введено
         if isdir(self.start_path):
             self.butt_start.set_sensitive(False)
@@ -220,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."""
@@ -293,10 +308,19 @@ class MainWindow(gtk.Window):
 
         #########  Добавляем элементы ################
         # 1. Строка ввода каталога с которого начинать поиск
+        #    переменная в которой храниться стартовый каталог = self.start_path
+        self.srch_p_entr = gtk.Entry()
+        self.start_path = st_path
+        self.srch_p_entr.set_text(self.start_path)
+        # Отключаем автокапитализацию(ввод первой буквы заглавной) на таблетке
+        if HILDON:
+            self.srch_p_entr.set_property('hildon-input-mode', 'full')
+        # Нажатие Enter в поле ввода
+        self.srch_p_entr.connect('activate', self.start_print)
 
         # 2. Кнопка "Обзор"
-        self.srch_p_btn = gtk.FileChooserButton( _('Browse...') )
-        self.srch_p_btn.set_action('select-folder')
+        self.srch_p_btn = gtk.Button('Browse...')
+        self.srch_p_btn.connect('clicked', self.browse)
 
         # 3. Надпись1 "Количество отображаемых файлов:"
         label1 = gtk.Label( _('Files quantity') )
@@ -391,10 +415,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_btn, 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)