E5XML/ShortcutsWriter.py

branch
maintenance
changeset 6646
51eefa621de4
parent 6645
ad476851d7e0
diff -r 77189681b787 -r 51eefa621de4 E5XML/ShortcutsWriter.py
--- a/E5XML/ShortcutsWriter.py	Sat Dec 01 11:45:24 2018 +0100
+++ b/E5XML/ShortcutsWriter.py	Thu Jan 10 14:22:59 2019 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2018 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -33,9 +33,11 @@
         
         self.email = Preferences.getUser("Email")
         
-    def writeXML(self):
+    def writeXML(self, helpViewer=None):
         """
         Public method to write the XML to the file.
+        
+        @param helpViewer reference to the help window object
         """
         XMLStreamWriterBase.writeXML(self)
         
@@ -52,54 +54,52 @@
         self.writeStartElement("Shortcuts")
         self.writeAttribute("version", shortcutsFileFormatVersion)
         
-        self.__writeActions(
-            "Project",
-            e5App().getObject("Project").getActions())
-        self.__writeActions(
-            "General",
-            e5App().getObject("UserInterface").getActions('ui'))
-        self.__writeActions(
-            "Wizards",
-            e5App().getObject("UserInterface").getActions('wizards'))
-        self.__writeActions(
-            "Debug",
-            e5App().getObject("DebugUI").getActions())
-        self.__writeActions(
-            "Edit",
-            e5App().getObject("ViewManager").getActions('edit'))
-        self.__writeActions(
-            "File",
-            e5App().getObject("ViewManager").getActions('file'))
-        self.__writeActions(
-            "Search",
-            e5App().getObject("ViewManager").getActions('search'))
-        self.__writeActions(
-            "View",
-            e5App().getObject("ViewManager").getActions('view'))
-        self.__writeActions(
-            "Macro",
-            e5App().getObject("ViewManager").getActions('macro'))
-        self.__writeActions(
-            "Bookmarks",
-            e5App().getObject("ViewManager").getActions('bookmark'))
-        self.__writeActions(
-            "Spelling",
-            e5App().getObject("ViewManager").getActions('spelling'))
-        self.__writeActions(
-            "Window",
-            e5App().getObject("ViewManager").getActions('window'))
+        if helpViewer is None:
+            self.__writeActions(
+                "Project",
+                e5App().getObject("Project").getActions())
+            self.__writeActions(
+                "General",
+                e5App().getObject("UserInterface").getActions('ui'))
+            self.__writeActions(
+                "Wizards",
+                e5App().getObject("UserInterface").getActions('wizards'))
+            self.__writeActions(
+                "Debug",
+                e5App().getObject("DebugUI").getActions())
+            self.__writeActions(
+                "Edit",
+                e5App().getObject("ViewManager").getActions('edit'))
+            self.__writeActions(
+                "File",
+                e5App().getObject("ViewManager").getActions('file'))
+            self.__writeActions(
+                "Search",
+                e5App().getObject("ViewManager").getActions('search'))
+            self.__writeActions(
+                "View",
+                e5App().getObject("ViewManager").getActions('view'))
+            self.__writeActions(
+                "Macro",
+                e5App().getObject("ViewManager").getActions('macro'))
+            self.__writeActions(
+                "Bookmarks",
+                e5App().getObject("ViewManager").getActions('bookmark'))
+            self.__writeActions(
+                "Spelling",
+                e5App().getObject("ViewManager").getActions('spelling'))
+            self.__writeActions(
+                "Window",
+                e5App().getObject("ViewManager").getActions('window'))
+            
+            for category, ref in e5App().getPluginObjects():
+                if hasattr(ref, "getActions"):
+                    self.__writeActions(category, ref.getActions())
         
-        for category, ref in e5App().getPluginObjects():
-            if hasattr(ref, "getActions"):
-                self.__writeActions(category, ref.getActions())
-    
-        try:
+        else:
             self.__writeActions(
-                "HelpViewer",
-                e5App().getObject("DummyHelpViewer").getActions())
-        except KeyError:
-            # no QtWebKit available
-            pass
+                helpViewer.getActionsCategory(),
+                helpViewer.getActions())
     
         # add the main end tag
         self.writeEndElement()

eric ide

mercurial