[Ocfs2-tools-commits] manish commits r564 - trunk/ocfs2tool

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Thu Jan 20 18:38:11 CST 2005


Author: manish
Date: 2005-01-20 18:38:09 -0600 (Thu, 20 Jan 2005)
New Revision: 564

Modified:
   trunk/ocfs2tool/about.py
   trunk/ocfs2tool/browser.py
   trunk/ocfs2tool/clconfig.py
   trunk/ocfs2tool/format.py
   trunk/ocfs2tool/general.py
   trunk/ocfs2tool/interface.py
   trunk/ocfs2tool/nodemap.py
   trunk/ocfs2tool/toolbar.py
Log:
UI rework, get rid of advanced mode


Modified: trunk/ocfs2tool/about.py
===================================================================
--- trunk/ocfs2tool/about.py	2005-01-20 00:40:58 UTC (rev 563)
+++ trunk/ocfs2tool/about.py	2005-01-21 00:38:09 UTC (rev 564)
@@ -67,7 +67,7 @@
 '''
         blurb = 'GUI frontend for OCFS2 management and debugging'
 
-        logo = gtk.gdk.pixbuf_new_from_file('logo.png')
+        #logo = gtk.gdk.pixbuf_new_from_file('logo.png')
 
         dialog = gtk.AboutDialog()
         dialog.set_transient_for(pv.toplevel)
@@ -79,6 +79,7 @@
                           license=license,
                           website='http://oss.oracle.com',
                           comments=blurb)
+                          #logo=logo)
 
     else:
         dialog = gtk.MessageDialog(parent=pv.toplevel,

Modified: trunk/ocfs2tool/browser.py
===================================================================
--- trunk/ocfs2tool/browser.py	2005-01-20 00:40:58 UTC (rev 563)
+++ trunk/ocfs2tool/browser.py	2005-01-21 00:38:09 UTC (rev 564)
@@ -27,7 +27,7 @@
 sample = ('-rw-r--r--', '1', 'manish', 'manish', '133194', '262144', 'Sep 29 12:46', 'closobo.c')
 
 class Browser:
-     def __init__(self, device=None, advanced=False):
+     def __init__(self, device=None):
          self.widget = gtk.VBox(spacing=4)
 
          scrl_win = gtk.ScrolledWindow()

Modified: trunk/ocfs2tool/clconfig.py
===================================================================
--- trunk/ocfs2tool/clconfig.py	2005-01-20 00:40:58 UTC (rev 563)
+++ trunk/ocfs2tool/clconfig.py	2005-01-21 00:38:09 UTC (rev 564)
@@ -19,7 +19,7 @@
 
 from guiutil import set_props, error_box
 
-def cluster_configurator(parent, advanced):
+def cluster_configurator(parent):
     dialog = gtk.Dialog(parent=parent, title='Cluster Configurator',
                         buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                                  gtk.STOCK_OK,     gtk.RESPONSE_OK))

Modified: trunk/ocfs2tool/format.py
===================================================================
--- trunk/ocfs2tool/format.py	2005-01-20 00:40:58 UTC (rev 563)
+++ trunk/ocfs2tool/format.py	2005-01-21 00:38:09 UTC (rev 564)
@@ -22,26 +22,65 @@
 from guiutil import set_props, error_box, format_bytes
 from process import Process
 
-class BaseCombo(gtk.Combo):
-    def __init__(self):
-        gtk.Combo.__init__(self)
-        self.entry.set_editable(False)
+if hasattr(gtk, 'ComboBox'):
+    class BaseCombo(gtk.ComboBox):
+        def __init__(self):
+            self.store = gtk.ListStore(str)
+            gtk.ComboBox.__init__(self, model=self.store)
 
+            cell = gtk.CellRendererText()
+            self.pack_start(cell)
+            self.set_attributes(cell, text=0)
+
+        def get_choice(self):
+            return self.store[self.get_active_iter()][0]
+
+        def set_choices(self, choices):
+            selected = False
+
+            for choice, select in choices:
+                iter = self.store.append((choice,))
+
+                if select:
+                    self.set_active_iter(iter)
+                    selected = True
+
+            if not selected:
+                self.set_active(0)
+
+else:
+    class BaseCombo(gtk.Combo):
+        def __init__(self):
+            gtk.Combo.__init__(self)
+            self.entry.set_editable(False)
+
+        def get_choice(self):
+            return self.entry.get_text()
+
+        def set_choices(self, choices):
+            for choice, select in choices:
+                item = gtk.ListItem(choice)
+                item.show()
+                self.list.add(item)
+
+                if select:
+                    item.select()
+
 class ValueCombo(BaseCombo):
     def __init__(self, minimum, maximum):
         BaseCombo.__init__(self)
 
-        choices = ['Auto']
+        choices = [('Auto', False)]
 
         size = minimum
         while size <= maximum:
-            choices.append(format_bytes(size))
+            choices.append((format_bytes(size), False))
             size = size << 1
 
-        self.set_popdown_strings(choices)
+        self.set_choices(choices)
 
     def get_arg(self):
-        text = self.entry.get_text()
+        text = self.get_choice()
 
         if text != 'Auto':
             s = text.replace(' ', '')
@@ -54,7 +93,7 @@
 class NumNodes(gtk.SpinButton):
     def __init__(self):
         adjustment = gtk.Adjustment(4, 2, ocfs2.MAX_NODES, 1, 10)
-        gtk.SpinButton.__init__(self, adjustment=adjustment, )
+        gtk.SpinButton.__init__(self, adjustment=adjustment)
 
     def get_arg(self):
         s = self.get_text()
@@ -66,16 +105,10 @@
 
 class Device(BaseCombo):
     def fill(self, partitions, device):
-        for partition in partitions:
-            item = gtk.ListItem(partition)
-            item.show()
-            self.list.add(item)
+        self.set_choices([(p, p == device) for p in partitions])
 
-            if partition == device:
-                item.select()
-
     def get_device(self):
-        return self.entry.get_text()
+        return self.get_choice()
 
 class VolumeLabel(gtk.Entry):
     def __init__(self):
@@ -103,30 +136,25 @@
         self.arg = '-b'
 
 entries = (
-    ('Device', Device, False),
-    ('Volume Label', VolumeLabel, False),
-    ('Cluster Size', ClusterSize, False),
-    ('Number of Nodes', NumNodes, False),
-    ('Block Size', BlockSize, True)
+    ('Device', Device),
+    ('Volume Label', VolumeLabel),
+    ('Cluster Size', ClusterSize),
+    ('Number of Nodes', NumNodes),
+    ('Block Size', BlockSize)
 )
 
-def format_partition(parent, device, advanced):
+def format_partition(parent, device):
     partitions = ocfs2.partition_list(True)
 
     if not partitions:
         error_box(parent, 'No unmounted partitions')
         return False
 
-    if advanced:
-        rows = 5
-    else:
-        rows = 4
-
     dialog = gtk.Dialog(parent=parent, title='Format',
                         buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                                  gtk.STOCK_OK,     gtk.RESPONSE_OK))
 
-    table = gtk.Table(rows=rows, columns=2)
+    table = gtk.Table(rows=5, columns=2)
     set_props(table, row_spacing=4,
                      column_spacing=4,
                      border_width=4,
@@ -137,10 +165,7 @@
     widgets = []
     row = 0
 
-    for desc, widget_type, advanced_only in entries:
-        if advanced_only and not advanced:
-            continue
-
+    for desc, widget_type in entries:
         label = gtk.Label(desc + ':')
         set_props(label, xalign=1.0)
         table.attach(label, 0, 1, row, row + 1)
@@ -197,7 +222,7 @@
     return True
 
 def main():
-    format(None, None, True)
+    format_partition(None, None)
 
 if __name__ == '__main__':
     main()

Modified: trunk/ocfs2tool/general.py
===================================================================
--- trunk/ocfs2tool/general.py	2005-01-20 00:40:58 UTC (rev 563)
+++ trunk/ocfs2tool/general.py	2005-01-21 00:38:09 UTC (rev 564)
@@ -31,7 +31,7 @@
 )
 
 class General:
-    def __init__(self, device=None, advanced=False):
+    def __init__(self, device=None):
         self.widget = gtk.Table(rows=5, columns=2)
 
         set_props(self.widget, row_spacing=4,

Modified: trunk/ocfs2tool/interface.py
===================================================================
--- trunk/ocfs2tool/interface.py	2005-01-20 00:40:58 UTC (rev 563)
+++ trunk/ocfs2tool/interface.py	2005-01-21 00:38:09 UTC (rev 564)
@@ -50,7 +50,6 @@
         gtk.TreeView.__init__(self, store)
 
         self.toplevel = toplevel
-        self.advanced = False
 
         self.insert_column_with_attributes(-1, 'Device',
                                            gtk.CellRendererText(),
@@ -186,14 +185,14 @@
 
 def update_notebook(pv, device):
     for tag, d, info in notebook_items:
-        frame = getattr(pv, tag + '-frame')
+        frame = getattr(pv, tag + '_frame')
         frame.child.destroy()
 
-        frame.add(info(device, pv.advanced).widget)
+        frame.add(info(device).widget)
         frame.show_all()
 
 def format(pv):
-    format_partition(pv.toplevel, pv.get_device(), pv.advanced)
+    format_partition(pv.toplevel, pv.get_device())
     pv.refresh_partitions()
 
 def check(pv):
@@ -203,7 +202,7 @@
     pass
 
 def clconfig(pv):
-    cluster_configurator(pv.toplevel, pv.advanced)
+    cluster_configurator(pv.toplevel)
 
 def create_window():
     window = gtk.Window()
@@ -251,7 +250,7 @@
         set_props(frame, shadow=gtk.SHADOW_NONE,
                          border_width=0)
 
-        tag = tag + '-frame'
+        tag = tag + '_frame'
         setattr(pv, tag, frame)
 
         frame.add(info().widget)

Modified: trunk/ocfs2tool/nodemap.py
===================================================================
--- trunk/ocfs2tool/nodemap.py	2005-01-20 00:40:58 UTC (rev 563)
+++ trunk/ocfs2tool/nodemap.py	2005-01-21 00:38:09 UTC (rev 564)
@@ -26,9 +26,8 @@
 COLUMN_UUID = 4
 
 class NodeMap:
-    def __init__(self, device=None, advanced=False):
+    def __init__(self, device=None):
         self.device = device
-        self.advanced = advanced
 
         info = self.info()
 
@@ -59,12 +58,10 @@
         tv.insert_column_with_attributes(-1, 'Port',
                                          gtk.CellRendererText(),
                                          text=COLUMN_PORT)
+        tv.insert_column_with_attributes(-1, 'UUID',
+                                         gtk.CellRendererText(),
+                                         text=COLUMN_UUID)
 
-        if self.advanced:
-            tv.insert_column_with_attributes(-1, 'UUID',
-                                             gtk.CellRendererText(),
-                                             text=COLUMN_UUID)
-
         return tv
 
 def main():

Modified: trunk/ocfs2tool/toolbar.py
===================================================================
--- trunk/ocfs2tool/toolbar.py	2005-01-20 00:40:58 UTC (rev 563)
+++ trunk/ocfs2tool/toolbar.py	2005-01-21 00:38:09 UTC (rev 564)
@@ -45,9 +45,26 @@
             items[i[2]] = toolbar.append_item(i[0], i[0], None, icon,
                                               make_cb(), data)
 
+        toolbar.append_space()
+
+        filter_box, entry = self.get_filter_box()
+        toolbar.append_widget(filter_box, 'Partition name filter', None)
+
+        items['filter'] = entry
+
         return toolbar, items
 
+    def get_filter_box(self):
+        hbox = gtk.HBox(False, 4)
 
+        label = gtk.Label('Filter:')
+        hbox.pack_start(label, expand=False, fill=False)
+
+        entry = gtk.Entry()
+        hbox.pack_end(entry)
+
+        return hbox, entry
+
 def main():
     def dummy(*args):
         gtk.main_quit()



More information about the Ocfs2-tools-commits mailing list