[conduit] clean up preconfigured conduit handling
- From: John Stowers <jstowers src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [conduit] clean up preconfigured conduit handling
- Date: Wed, 6 Jan 2010 18:09:10 +0000 (UTC)
commit 78e9b62f4a429159d75cf276bb6439f6d90f1b10
Author: John Stowers <john stowers gmail com>
Date: Wed Jan 6 17:08:56 2010 +0100
clean up preconfigured conduit handling
conduit/gtkui/UI.py | 46 +++++++++++++++++++++++++++-------------------
1 files changed, 27 insertions(+), 19 deletions(-)
---
diff --git a/conduit/gtkui/UI.py b/conduit/gtkui/UI.py
index e66edfd..9a1796a 100644
--- a/conduit/gtkui/UI.py
+++ b/conduit/gtkui/UI.py
@@ -43,19 +43,31 @@ for module in gtk.glade, gettext:
if hasattr(module, 'bind_textdomain_codeset'):
module.bind_textdomain_codeset('conduit','UTF-8')
-
-class _PreconfiguredConduitMenu(gtk.Menu):
+class _PreconfiguredConduitMenu:
+ """
+ Manages the list of preconfigured conduits examples
+ """
def __init__(self):
- gtk.Menu.__init__(self)
-# self._items = {}
-# conduit.GLOBALS.moduleManager.connect("dataprovider-available", self._dp_added)
-# conduit.GLOBALS.moduleManager.connect("dataprovider-unavailable", self._dp_removed)
-
- for sok,sik,desc,w in conduit.GLOBALS.moduleManager.list_preconfigured_conduits():
- item = gtk.MenuItem(desc)
- item.connect("activate", self._create, sok, sik, w)
- item.show()
- self.append(item)
+ self.menu = gtk.Menu()
+ self.item = gtk.ImageMenuItem(_("Examples"))
+ self.item.set_image(
+ gtk.image_new_from_stock(gtk.STOCK_OPEN,gtk.ICON_SIZE_MENU))
+ self.item.set_submenu(self.menu)
+
+ #FIXME: Add remove items when dps become availalbe
+ # self._items = {}
+ # conduit.GLOBALS.moduleManager.connect("dataprovider-available", self._dp_added)
+ # conduit.GLOBALS.moduleManager.connect("dataprovider-unavailable", self._dp_removed)
+
+ preconfigured = conduit.GLOBALS.moduleManager.list_preconfigured_conduits()
+ if preconfigured:
+ for sok,sik,desc,w in preconfigured:
+ item = gtk.MenuItem(desc)
+ item.connect("activate", self._create, sok, sik, w)
+ item.show()
+ self.menu.append(item)
+ else:
+ self.item.set_sensitive(False)
def set_sync_set(self, syncSet):
self.syncSet = syncSet
@@ -66,11 +78,11 @@ class _PreconfiguredConduitMenu(gtk.Menu):
def _dp_added(self, manager, dpw):
item = gtk.MenuItem(dpw.get_key())
self._items[dpw] = item
- self.append(item)
+ self.menu.append(item)
item.show()
def _dp_removed(self, manager, dpw):
- self.remove(self._items[dpw])
+ self.menu.remove(self._items[dpw])
class MainWindow:
"""
@@ -162,11 +174,7 @@ class MainWindow:
#add the preconfigured Conduit menu
if conduit.GLOBALS.settings.get("gui_show_hints"):
self.preconfiguredConduitsMenu = _PreconfiguredConduitMenu()
- item = gtk.ImageMenuItem(_("Examples"))
- item.set_image(
- gtk.image_new_from_stock(gtk.STOCK_OPEN,gtk.ICON_SIZE_MENU))
- item.set_submenu(self.preconfiguredConduitsMenu)
- self.widgets.get_widget("file_menu").insert(item, 3)
+ self.widgets.get_widget("file_menu").insert(self.preconfiguredConduitsMenu.item, 3)
else:
self.preconfiguredConduitsMenu = None
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]