E5XML/ShortcutsWriter.py

changeset 6625
a67fee7bc09c
parent 6048
82ad8ec9548c
child 6630
bddd12f27a4c
diff -r 9718755def80 -r a67fee7bc09c E5XML/ShortcutsWriter.py
--- a/E5XML/ShortcutsWriter.py	Wed Dec 12 19:43:53 2018 +0100
+++ b/E5XML/ShortcutsWriter.py	Wed Dec 12 19:52:24 2018 +0100
@@ -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,60 @@
         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:
+            try:
+                self.__writeActions(
+                    "HelpViewer",
+                    e5App().getObject("DummyHelpViewer").getActions())
+            except KeyError:
+                # no QtWebKit available
+                pass
+        
+        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