conduit r1294 - in trunk: . conduit/gtkui data



Author: jstowers
Date: Sat Feb  9 12:29:56 2008
New Revision: 1294
URL: http://svn.gnome.org/viewvc/conduit?rev=1294&view=rev

Log:
2008-02-10  John Stowers  <john stowers gmail com>

	* conduit/gtkui/UI.py:
	* data/conduit.glade: Add a 'developer' submenu to the help menu if the 
	user is running a development version. This submenu contains items 
	which link to the newly improved developer documentation. The linked 
	pages are displayed in conduit's built in web browser.



Modified:
   trunk/ChangeLog
   trunk/conduit/gtkui/UI.py
   trunk/data/conduit.glade

Modified: trunk/conduit/gtkui/UI.py
==============================================================================
--- trunk/conduit/gtkui/UI.py	(original)
+++ trunk/conduit/gtkui/UI.py	Sat Feb  9 12:29:56 2008
@@ -11,18 +11,28 @@
 import gnome.ui
 import os.path
 import gettext
+import threading
 from gettext import gettext as _
 import logging
 log = logging.getLogger("gtkui.UI")
 
 import conduit
+import conduit.Web as Web
 import conduit.Conduit as Conduit
-from conduit.gtkui.Canvas import Canvas
-from conduit.gtkui.Tree import DataProviderTreeModel, DataProviderTreeView
-from conduit.gtkui.ConflictResolver import ConflictResolver
-from conduit.gtkui.Database import GenericDBListStore
+import conduit.gtkui.Canvas as Canvas
+import conduit.gtkui.Tree as Tree
+import conduit.gtkui.ConflictResolver as ConflictResolver
+import conduit.gtkui.Database as Database
+
 
 DEFAULT_CONDUIT_BROWSER = "gtkmozembed"
+DEVELOPER_WEB_LINKS = (
+#name,                      #url
+("Introduction",            "http://www.conduit-project.org/wiki/Development";),
+("Writing a Data Provider", "http://www.conduit-project.org/wiki/WritingADataProvider";),
+("API Documentation",       "http://doc.conduit-project.org/conduit/";),
+("Test Results",            "http://tests.conduit-project.org/";)
+)
 
 #set up the gettext system and locales
 for module in gtk.glade, gettext:
@@ -78,21 +88,21 @@
         
         #Initialize the mainWindow
         self.mainWindow = self.widgets.get_widget("MainWindow")
+        self.mainWindow.set_position(gtk.WIN_POS_CENTER)
+        self.mainWindow.set_icon_name("conduit")
         title = "%s" % conduit.APPNAME
         if conduit.IS_DEVELOPMENT_VERSION:
             title = title + " - %s (Development Version)" % conduit.APPVERSION
         if not conduit.IS_INSTALLED:
             title = title + " - Running Uninstalled"
         self.mainWindow.set_title(title)
-        self.mainWindow.set_position(gtk.WIN_POS_CENTER)
-        self.mainWindow.set_icon_name("conduit")
-        
+
         #Configure canvas
         self.canvasSW = self.widgets.get_widget("canvasScrolledWindow")
         self.hpane = self.widgets.get_widget("hpaned1")
 
         #start up the canvas
-        self.canvas = Canvas(
+        self.canvas = Canvas.Canvas(
                         parentWindow=self.mainWindow,
                         typeConverter=self.type_converter,
                         syncManager=self.sync_manager,
@@ -104,13 +114,13 @@
         self.canvas.connect("drag-data-received", self.drag_data_received_data)
         
         # Populate the tree model
-        self.dataproviderTreeModel = DataProviderTreeModel() 
+        self.dataproviderTreeModel = Tree.DataProviderTreeModel() 
         dataproviderScrolledWindow = self.widgets.get_widget("scrolledwindow2")
-        self.dataproviderTreeView = DataProviderTreeView(self.dataproviderTreeModel)
+        self.dataproviderTreeView = Tree.DataProviderTreeView(self.dataproviderTreeModel)
         dataproviderScrolledWindow.add(self.dataproviderTreeView)
 
         #Set up the expander used for resolving sync conflicts
-        self.conflictResolver = ConflictResolver(self.widgets)
+        self.conflictResolver = ConflictResolver.ConflictResolver(self.widgets)
 
         #setup the module manager
         self.moduleManager = moduleManager
@@ -124,7 +134,36 @@
         self.hpane.set_position(conduit.GLOBALS.settings.get("gui_hpane_postion"))
         self.dataproviderTreeView.expand_all()
         self.window_state = 0
-
+        
+        #if running a development version, add some developer specific links
+        #to the help menu
+        if conduit.IS_DEVELOPMENT_VERSION:
+            helpMenu = self.widgets.get_widget("help_menu")
+            developersMenuItem = gtk.ImageMenuItem("Developers")
+            developersMenuItem.set_image(
+                                gtk.image_new_from_icon_name(
+                                        "applications-development",
+                                        gtk.ICON_SIZE_MENU))
+            developersMenu = gtk.Menu()
+            developersMenuItem.set_submenu(developersMenu)
+            helpMenu.prepend(developersMenuItem)
+            for name,url in DEVELOPER_WEB_LINKS:
+                item = gtk.ImageMenuItem(name)
+                item.set_image(
+                        gtk.image_new_from_icon_name(
+                                "applications-internet",
+                                gtk.ICON_SIZE_MENU))
+                item.connect("activate",self.on_developer_menu_item_clicked,name,url)
+                developersMenu.append(item)
+                
+                
+    def on_developer_menu_item_clicked(self, menuitem, name, url):
+        threading.Thread(
+                    target=Web.LoginMagic,
+                    args=(name, url),
+                    kwargs={"login_function":lambda: True}
+                    ).start()
+        
     def on_conduit_added(self, syncset, cond):
         cond.connect("sync-started", self.on_sync_started)
         cond.connect("sync-completed", self.on_sync_completed)
@@ -248,7 +287,7 @@
                 treeview.append_column(column)
                 index = index + 1
 
-            store = GenericDBListStore("mappings", db)
+            store = Database.GenericDBListStore("mappings", db)
             treeview.set_model(store)            
             
             sw = gtk.ScrolledWindow()

Modified: trunk/data/conduit.glade
==============================================================================
--- trunk/data/conduit.glade	(original)
+++ trunk/data/conduit.glade	Sat Feb  9 12:29:56 2008
@@ -17,7 +17,7 @@
           <widget class="GtkMenuBar" id="menubar1">
             <property name="visible">True</property>
             <child>
-              <widget class="GtkMenuItem" id="file1">
+              <widget class="GtkMenuItem" id="file_menu">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">_File</property>
                 <property name="use_underline">True</property>
@@ -66,7 +66,7 @@
               </widget>
             </child>
             <child>
-              <widget class="GtkMenuItem" id="edit">
+              <widget class="GtkMenuItem" id="edit_menu">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">_Edit</property>
                 <property name="use_underline">True</property>
@@ -106,7 +106,7 @@
               </widget>
             </child>
             <child>
-              <widget class="GtkMenuItem" id="help">
+              <widget class="GtkMenuItem" id="help_menu">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">_Help</property>
                 <property name="use_underline">True</property>
@@ -516,7 +516,6 @@
                 <property name="label" translatable="yes">Replace the Older Item</property>
                 <property name="use_underline">True</property>
                 <property name="draw_as_radio">True</property>
-                <property name="group">conflict_ask</property>
               </widget>
             </child>
             <child>
@@ -525,7 +524,6 @@
                 <property name="label" translatable="yes">Skip</property>
                 <property name="use_underline">True</property>
                 <property name="draw_as_radio">True</property>
-                <property name="group">conflict_ask</property>
               </widget>
             </child>
           </widget>
@@ -559,7 +557,6 @@
                 <property name="label" translatable="yes">Delete the Corresponding Item</property>
                 <property name="use_underline">True</property>
                 <property name="draw_as_radio">True</property>
-                <property name="group">deleted_ask</property>
               </widget>
             </child>
             <child>
@@ -569,7 +566,6 @@
                 <property name="label" translatable="yes">Skip</property>
                 <property name="use_underline">True</property>
                 <property name="draw_as_radio">True</property>
-                <property name="group">deleted_ask</property>
               </widget>
             </child>
           </widget>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]