First working PAC version
[findit] / src / files / search.py
index e554f4e..7e7c7f2 100755 (executable)
@@ -27,11 +27,11 @@ class Control(object):
 
     def start_search(self, get_data, get_stopit, label, kill_func):
         filelist = []
-        start_path, count = get_data()
+        start_path, count, outtype = get_data()
         search_func = self.abstrac.filegetter(start_path, get_stopit, label)
         for fsize, fpath in nlargest(count, search_func):
-            filelist.append([fpath, size_hum_read(fsize), int(fsize)])
-        self.present.show_out_toplevel(None, 'outtable', filelist)
+            filelist.append([int(fsize), fpath, size_hum_read(fsize)])
+        self.present.show_out_toplevel(None, outtype, filelist)
 
     def run(self):
         return self.present.toplevel
@@ -117,11 +117,15 @@ class Gtk_Presentation(object):
         self.stop_btn.connect('clicked', self.stop_btn_clicked)
 
         # Output selection
-        outtable_rbtn = gtk.RadioButton(None, 'Table')
-        outdiagram_rbtn = gtk.RadioButton(outtable_rbtn, 'Diagram')
-        out1_rbtn = gtk.RadioButton(outtable_rbtn, 'Another 1')
-        out2_rbtn = gtk.RadioButton(outtable_rbtn, 'Another 2')
-        out_rbtns = [outtable_rbtn, outdiagram_rbtn, out1_rbtn, out2_rbtn]
+        self.outtable_rbtn = gtk.RadioButton(None, 'Table')
+        self.outtable_rbtn.set_name('outtable')
+        outdiagram_rbtn = gtk.RadioButton(self.outtable_rbtn, 'Diagram')
+        outdiagram_rbtn.set_name('outdiagram')
+        out1_rbtn = gtk.RadioButton(self.outtable_rbtn, 'Another 1')
+        out1_rbtn.set_name('outanother1')
+        out2_rbtn = gtk.RadioButton(self.outtable_rbtn, 'Another 2')
+        out2_rbtn.set_name('outanother2')
+        out_rbtns = [self.outtable_rbtn, outdiagram_rbtn, out1_rbtn, out2_rbtn]
 
         hbox = gtk.HBox(False, 4)
         hbox.pack_start(qty_label, False, False, 0)
@@ -164,7 +168,10 @@ class Gtk_Presentation(object):
         self.start_btn.set_sensitive(True)
 
     def get_data(self):
-        return self.path_entry.get_text(), int(self.qty_spin.get_value())
+        for btn in self.outtable_rbtn.get_group():
+            if btn.get_active():
+                out = btn.get_name()
+        return self.path_entry.get_text(), int(self.qty_spin.get_value()), out
 
     def get_stopit(self):
         return self.stopit
@@ -173,12 +180,14 @@ class Gtk_Presentation(object):
     def show_out_toplevel(self, btn, outtype, results):
         print 'Entering <' + outtype + '> output mode...'
         out_submodule = __import__('files.' + outtype, None, None, outtype)
-        out_toplevel = out_submodule.Gtk_Presentation(results).toplevel
 
         try:
-            self.vbox.remove(self.vbox.get_children()[2])
+            self.current_outtoplevel.destroy()
         except:
             pass
+
+        out_toplevel = out_submodule.Gtk_Presentation(results).toplevel
+        self.current_outtoplevel = out_toplevel
         self.vbox.add(out_toplevel)
         out_toplevel.show_all()
 #        out_submodule.Gtk_Presentation().show_results(results)