Helpviewer/HelpWindow.py

changeset 1626
a77c8ea8582c
parent 1620
8172cc5d4dda
child 1645
73904ca06d2d
diff -r 4f03e45703e9 -r a77c8ea8582c Helpviewer/HelpWindow.py
--- a/Helpviewer/HelpWindow.py	Thu Feb 16 19:01:32 2012 +0100
+++ b/Helpviewer/HelpWindow.py	Fri Feb 17 19:39:37 2012 +0100
@@ -51,6 +51,7 @@
 from .VirusTotalApi import VirusTotalAPI
 from .Feeds.FeedsManager import FeedsManager
 from .SiteInfo.SiteInfoDialog import SiteInfoDialog
+from .Sync.SyncManager import SyncManager
 
 from E5Gui.E5Action import E5Action
 from E5Gui import E5MessageBox, E5FileDialog
@@ -94,6 +95,7 @@
     _downloadManager = None
     _feedsManager = None
     _userAgentsManager = None
+    _syncManager = None
     
     def __init__(self, home, path, parent, name, fromEric=False,
                  initShortcutsOnly=False, searchWord=None):
@@ -197,6 +199,8 @@
             
             self.historyManager()
             
+            self.syncManager()
+            
             self.tabWidget.newBrowser(home)
             self.tabWidget.currentBrowser().setFocus()
             
@@ -1215,6 +1219,21 @@
                 self.__showUserAgentsDialog)
         self.__actions.append(self.userAgentManagerAct)
         
+        self.synchronizationAct = E5Action(self.trUtf8('Synchronize data'),
+            UI.PixmapCache.getIcon("sync.png"),
+            self.trUtf8('&Synchronize Data...'),
+            0, 0, self, 'help_synchronize_data')
+        self.synchronizationAct.setStatusTip(self.trUtf8(
+                'Shows a dialog to synchronize data via the network'))
+        self.synchronizationAct.setWhatsThis(self.trUtf8(
+                """<b>Synchronize Data...</b>"""
+                """<p>This shows a dialog to synchronize data via the network.</p>"""
+        ))
+        if not self.initShortcutsOnly:
+            self.synchronizationAct.triggered[()].connect(
+                self.__showSyncDialog)
+        self.__actions.append(self.synchronizationAct)
+        
         self.backAct.setEnabled(False)
         self.forwardAct.setEnabled(False)
         
@@ -1346,6 +1365,8 @@
         menu.addAction(self.feedsManagerAct)
         menu.addAction(self.siteInfoAct)
         menu.addSeparator()
+        menu.addAction(self.synchronizationAct)
+        menu.addSeparator()
         menu.addAction(self.toolsMonitorAct)
         
         menu = mb.addMenu(self.trUtf8("&Window"))
@@ -1432,6 +1453,8 @@
         toolstb.setIconSize(UI.Config.ToolBarIconSize)
         toolstb.addAction(self.feedsManagerAct)
         toolstb.addAction(self.siteInfoAct)
+        toolstb.addSeparator()
+        toolstb.addAction(self.synchronizationAct)
         
         helptb = self.addToolBar(self.trUtf8("Help"))
         helptb.setObjectName("HelpToolBar")
@@ -1859,6 +1882,8 @@
         
         self.userAgentsManager().close()
         
+        self.syncManager().close()
+        
         self.searchEdit.openSearchManager().close()
         
         self.__searchEngine.cancelIndexing()
@@ -2894,6 +2919,24 @@
         dlg = UserAgentsDialog(self)
         dlg.exec_()
     
+    @classmethod
+    def syncManager(cls):
+        """
+        Class method to get a reference to the data synchronization manager.
+        
+        @return reference to the data synchronization manager (SyncManager)
+        """
+        if cls._syncManager is None:
+            cls._syncManager = SyncManager()
+        
+        return cls._syncManager
+    
+    def __showSyncDialog(self):
+        """
+        Private slot to show the synchronization dialog.
+        """
+        self.syncManager().showSyncDialog()
+    
     ###########################################################################
     ## Interface to VirusTotal below                                         ##
     ###########################################################################

eric ide

mercurial