[Ocfs2-tools-commits] manish commits r715 -
trunk/ocfs2console/ocfs2interface
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Mon Mar 21 02:14:29 CST 2005
Author: manish
Date: 2005-03-21 02:14:27 -0600 (Mon, 21 Mar 2005)
New Revision: 715
Modified:
trunk/ocfs2console/ocfs2interface/console.py
trunk/ocfs2console/ocfs2interface/menu.py
trunk/ocfs2console/ocfs2interface/partitionview.py
Log:
Menu item sensitivity based on list selection
Modified: trunk/ocfs2console/ocfs2interface/console.py
===================================================================
--- trunk/ocfs2console/ocfs2interface/console.py 2005-03-21 05:32:02 UTC (rev 714)
+++ trunk/ocfs2console/ocfs2interface/console.py 2005-03-21 08:14:27 UTC (rev 715)
@@ -69,9 +69,10 @@
menu = Menu(self)
- menubar, unmounted_items = menu.get_widgets()
+ menubar, sel_items, unmounted_items = menu.get_widgets()
vbox.pack_start(menubar, expand=False, fill=False)
+ self.pv.add_sel_widgets(sel_items)
self.pv.add_unmount_widgets(unmounted_items)
toolbar = Toolbar(self)
Modified: trunk/ocfs2console/ocfs2interface/menu.py
===================================================================
--- trunk/ocfs2console/ocfs2interface/menu.py 2005-03-21 05:32:02 UTC (rev 714)
+++ trunk/ocfs2console/ocfs2interface/menu.py 2005-03-21 08:14:27 UTC (rev 715)
@@ -19,6 +19,9 @@
from fsck import fsck_ok
+UNMOUNTED_ONLY = 42
+NEED_SELECTION = 43
+
try:
stock_about = gtk.STOCK_ABOUT
except AttributeError:
@@ -38,8 +41,10 @@
if fsck_ok:
task_menu_fsck_data = (
- ('/Tasks/Chec_k...', '<control>K', 'check', 'refresh'),
- ('/Tasks/_Repair...', '<control>R', 'repair', 'refresh', True),
+ ('/Tasks/Chec_k...', '<control>K', 'check', 'refresh',
+ NEED_SELECTION),
+ ('/Tasks/_Repair...', '<control>R', 'repair', 'refresh',
+ UNMOUNTED_ONLY),
('/Tasks/---', None, None, 0, '<Separator>')
)
else:
@@ -52,8 +57,10 @@
)
task_menu_tail_data = (
- ('/Tasks/Change _Label...', None, 'relabel', 'refresh', True),
- ('/Tasks/Edit _Node Count...', None, 'node_num', 'refresh', True),
+ ('/Tasks/Change _Label...', None, 'relabel', 'refresh',
+ UNMOUNTED_ONLY),
+ ('/Tasks/Edit _Node Count...', None, 'node_num', 'refresh',
+ UNMOUNTED_ONLY),
('/Tasks/---', None, None, 0, '<Separator>'),
('/Tasks/_Cluster Config...', None, 'clconfig')
)
@@ -76,7 +83,7 @@
path, accel, callback, sub_callback, item_type, extra = data_list
- if item_type is True:
+ if self.is_special(item_type):
del item[4:]
if callback:
@@ -108,19 +115,32 @@
item_factory = gtk.ItemFactory(gtk.MenuBar, '<main>', accel_group)
item_factory.create_items(self.items)
- menu_bar = item_factory.get_widget('<main>')
+ menubar = item_factory.get_widget('<main>')
- widgets = []
+ self.unmounted_widgets = []
+ self.need_sel_widgets = []
for data in menu_data:
- if len(data) >= 5 and data[4] is True:
+ if len(data) >= 5 and self.is_special(data[4]):
path = data[0].replace('_', '')
- widgets.append(item_factory.get_item('<main>%s' % path))
+ menuitem = item_factory.get_item('<main>%s' % path)
+ widget_list = self.get_special_list(data[4])
+ widget_list.append(menuitem)
+
self.window.item_factory = item_factory
- return menu_bar, widgets
+ return menubar, self.need_sel_widgets, self.unmounted_widgets
+ def is_special(self, data):
+ return data in (UNMOUNTED_ONLY, NEED_SELECTION)
+
+ def get_special_list(self, data):
+ if data == UNMOUNTED_ONLY:
+ return self.unmounted_widgets
+ elif data == NEED_SELECTION:
+ return self.need_sel_widgets
+
def main():
def dummy(*args):
gtk.main_quit()
Modified: trunk/ocfs2console/ocfs2interface/partitionview.py
===================================================================
--- trunk/ocfs2console/ocfs2interface/partitionview.py 2005-03-21 05:32:02 UTC (rev 714)
+++ trunk/ocfs2console/ocfs2interface/partitionview.py 2005-03-21 08:14:27 UTC (rev 715)
@@ -40,6 +40,8 @@
self.filter_entry = None
+ self.sel_widgets = []
+
self.mount_widgets = []
self.unmount_widgets = []
@@ -61,6 +63,8 @@
def on_select(self, sel):
self.selected = True
+ self.set_widgets_sensitive(self.sel_widgets, True)
+
device, mountpoint = self.get_sel_values()
if mountpoint:
@@ -98,6 +102,7 @@
else:
return cmp(d1, d2)
+ self.set_widgets_sensitive(self.sel_widgets, False)
self.set_widgets_sensitive(self.mount_widgets, False)
self.set_widgets_sensitive(self.unmount_widgets, False)
@@ -143,6 +148,9 @@
except TypeError:
widget_list.append(widgets)
+ def add_sel_widgets(self, widgets):
+ self.add_to_widget_list(self.sel_widgets, widgets)
+
def add_mount_widgets(self, widgets):
self.add_to_widget_list(self.mount_widgets, widgets)
@@ -154,7 +162,23 @@
widget.set_sensitive(sensitive)
def main():
- console = Console()
+ def dummy(*args):
+ gtk.main_quit()
+
+ window = gtk.Window()
+ window.set_size_request(300, 200)
+ window.connect('delete_event', dummy)
+
+ scrl_win = gtk.ScrolledWindow()
+ window.add(scrl_win)
+
+ pv = PartitionView()
+ scrl_win.add(pv)
+
+ window.show_all()
+
+ pv.refresh_partitions()
+
gtk.main()
if __name__ == '__main__':
More information about the Ocfs2-tools-commits
mailing list