From 23c5d7defe92f9c249ec40eab3777851c715788f Mon Sep 17 00:00:00 2001 From: Alexandr Popov Date: Sun, 29 Mar 2009 01:42:47 +0300 Subject: [PATCH] fixed problem with show main window and some bugs - fixed src/searchfile.py --- src/searchfile.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/searchfile.py b/src/searchfile.py index dbdff7f..08f2da0 100644 --- a/src/searchfile.py +++ b/src/searchfile.py @@ -11,21 +11,21 @@ from heapq import nlargest class Search_File_Control(object): - def __init__(self, start_dir, ignore_dirs, count): + def __init__(self, start_dir, count, ignore_dirs, show_func): self.filelist = [] - self.srch_present = Search_File_Presentation(self.start_search) - self.srch_abs = Search_File_Abstraction(start_dir, ignore_dirs) self.fl_cnt = count + self.srch_abs = Search_File_Abstraction(start_dir, ignore_dirs) + self.srch_present = Search_File_Presentation(self.start_search, show_func) def get_ui(self): return self.srch_present.get_ui() - def start_search(self, label): - count, start_path = self.srch_present() + def start_search(self, stopit, label, show_func): + #count, start_path = self.srch_present() for fsize, fpath in nlargest(self.fl_cnt, \ - self.srch_abs.filegetter(self.srch_present.stopit, label) ): + self.srch_abs.filegetter(stopit, label) ): self.filelist.append([fpath, self.srch_abs.size_convert(fsize), fsize]) - return self.filelist + show_func(self.filelist) class Search_File_Abstraction(object): @@ -33,7 +33,6 @@ class Search_File_Abstraction(object): def __init__(self, startdir, ignore_dirs): self.startdir = startdir self.ignore_dirs = ignore_dirs - self.label = label def size_convert(self, size): """Return string with file size in b or Kb or Mb or Gb or Tb.""" @@ -72,7 +71,8 @@ class Search_File_Abstraction(object): class Search_File_Presentation(object): - def __init__(self, st_func): + def __init__(self, st_func, show_func): + # Строка вывода текущего осматриваемого файла self.currfilelbl = gtk.Label('---') self.currfilelbl.set_alignment(0, 0.5) @@ -83,13 +83,14 @@ class Search_File_Presentation(object): # Кнопка "Показать" self.butt_start = gtk.Button('Go') - self.butt_start.connect('released', self.start_srch(st_func)) # Кнопка "Остановить" self.butt_stop = gtk.Button('Stop') self.butt_stop.set_sensitive(False) - self.butt_stop.connect('clicked', self.stop_srch) self.stopit = False + self.butt_stop.connect('clicked', self.stop_srch) + self.butt_start.connect('released', self.start_srch, st_func, show_func) + self.search_hbox = gtk.HBox(False, 10) self.search_hbox.pack_start(currfilefrm, False, False, 0) @@ -99,14 +100,14 @@ class Search_File_Presentation(object): def get_ui(self): return self.search_hbox - def start_srch(self, start_func): + def start_srch(self, widget, start_func, show_func): self.butt_stop.set_sensitive(True) self.butt_start.set_sensitive(False) - start_func(self.currfilelbl) + start_func(self.stopit, self.currfilelbl, show_func) self.butt_stop.set_sensitive(False) self.butt_start.set_sensitive(True) - def stop_srch(self): + def stop_srch(self, widget): self.stopit = True self.butt_stop.set_sensitive(False) self.butt_start.set_sensitive(True) -- 1.7.9.5