Replaced 'Absolute' and 'Relative' radio buttons with one togglebutton in files.out_table
authorEugene Gagarin <mosfet07@ya.ru>
Mon, 18 May 2009 11:29:04 +0000 (15:29 +0400)
committerEugene Gagarin <mosfet07@ya.ru>
Mon, 18 May 2009 11:29:04 +0000 (15:29 +0400)
src/files/out_table.py

index fa3d7a1..3cd09a1 100755 (executable)
@@ -32,7 +32,10 @@ class Gtk_Presentation(object):
 
         # Store results
         self.liststore = gtk.ListStore(str, str, gobject.TYPE_INT64)
-        self._show_relpaths(None)
+        for bsize, path, size in self.filelist:
+            self.liststore.append([size,
+                                   path.replace(self.start_path,'', 1),
+                                   bsize])
 
         treeview = gtk.TreeView(self.liststore)
 
@@ -68,14 +71,9 @@ class Gtk_Presentation(object):
         toolbar = gtk.Toolbar()
         toolbar.set_property('icon-size', 'small-toolbar')
 
-        relpaths_tbtn = gtk.RadioToolButton(None)
-        abspaths_tbtn = gtk.RadioToolButton(relpaths_tbtn)
-
-        relpaths_tbtn.set_label(_('Relative paths'))
-        abspaths_tbtn.set_label(_('Absolute paths'))
-
-        relpaths_tbtn.connect('clicked', self._show_relpaths)
-        abspaths_tbtn.connect('clicked', self._show_abspaths)
+        abs_paths_tbtn = gtk.ToggleToolButton()
+        abs_paths_tbtn.set_label(_('Absolute paths'))
+        abs_paths_tbtn.connect('clicked', self._show_abspaths)
 
         bitesizes_tbtn = gtk.ToggleToolButton()
         bitesizes_tbtn.set_label(_('Sizes in bytes'))
@@ -87,8 +85,7 @@ class Gtk_Presentation(object):
         copyresults_tbtn = gtk.ToolButton('gtk-copy')
         copyresults_tbtn.connect('clicked', self.copy_results)
 
-        toolbar.insert(relpaths_tbtn, -1)
-        toolbar.insert(abspaths_tbtn, -1)
+        toolbar.insert(abs_paths_tbtn, -1)
         toolbar.insert(bitesizes_tbtn, -1)
         toolbar.insert(saveresults_tbtn, -1)
         toolbar.insert(copyresults_tbtn, -1)
@@ -105,21 +102,17 @@ class Gtk_Presentation(object):
 
     #=== Functions ============================================================
 
-    def _show_relpaths(self, btn):
-        self.liststore.clear()
-        for bsize, path, size in self.filelist:
-            self.liststore.append([size, path.replace(self.start_path,'', 1),
-                                   bsize])
-
     def _show_abspaths(self, btn):
-        self.liststore.clear()
-        for bsize, path, size in self.filelist:
-            #self.liststore.append([abspath(path), size, bsize])
+        # Toggled mean 'absolute paths'
+        if btn.get_active():
             # Mark absolute part of path with color 
-            self.liststore.append([size,
-                '<span background="lawngreen">' + abspath(self.start_path) + '</span>' +
-                path.replace(self.start_path,'', 1),
-                bsize])
+            for i, (bsize, path, size) in enumerate(self.filelist):
+                self.liststore[i][1] = '<span background="lawngreen">' + \
+                                       abspath(self.start_path) + '</span>' + \
+                                       path.replace(self.start_path,'', 1)
+        else:
+            for i, (bsize, path, size) in enumerate(self.filelist):
+                self.liststore[i][1] = path.replace(self.start_path,'', 1)
 
     def _show_bitesizes(self, btn):
         if btn.get_active():