From ab0af184839ff16125bda4b21e8b74aa19a04dcb Mon Sep 17 00:00:00 2001 From: Eugene Gagarin Date: Thu, 5 Mar 2009 16:09:58 +0300 Subject: [PATCH] 'Browse' button variant 2 --- src/findit.py | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/src/findit.py b/src/findit.py index e21bd48..a7c1251 100755 --- a/src/findit.py +++ b/src/findit.py @@ -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) -- 1.7.9.5