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()