eric7/E5XML/ShortcutsWriter.py

branch
eric7
changeset 8351
7d13e08ddb3f
parent 8350
74a3b2a6a944
child 8352
879dc528461f
--- a/eric7/E5XML/ShortcutsWriter.py	Fri May 21 20:14:48 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing the writer class for writing an XML shortcuts file.
-"""
-
-import time
-
-from E5Gui.E5Application import e5App
-
-from .XMLStreamWriterBase import XMLStreamWriterBase
-from .Config import shortcutsFileFormatVersion
-
-import Preferences
-
-
-class ShortcutsWriter(XMLStreamWriterBase):
-    """
-    Class implementing the writer class for writing an XML shortcuts file.
-    """
-    def __init__(self, device):
-        """
-        Constructor
-        
-        @param device reference to the I/O device to write to (QIODevice)
-        """
-        XMLStreamWriterBase.__init__(self, device)
-        
-        self.email = Preferences.getUser("Email")
-        
-    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)
-        
-        self.writeDTD('<!DOCTYPE Shortcuts SYSTEM "Shortcuts-{0}.dtd">'.format(
-            shortcutsFileFormatVersion))
-        
-        # add some generation comments
-        self.writeComment(" eric keyboard shortcuts ")
-        self.writeComment(
-            " Saved: {0}".format(time.strftime('%Y-%m-%d, %H:%M:%S')))
-        self.writeComment(" Author: {0} ".format(self.email))
-        
-        # add the main tag
-        self.writeStartElement("Shortcuts")
-        self.writeAttribute("version", shortcutsFileFormatVersion)
-        
-        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())
-        
-        else:
-            self.__writeActions(
-                helpViewer.getActionsCategory(),
-                helpViewer.getActions())
-    
-        # add the main end tag
-        self.writeEndElement()
-        self.writeEndDocument()
-    
-    def __writeActions(self, category, actions):
-        """
-        Private method to write the shortcuts for the given actions.
-        
-        @param category category the actions belong to (string)
-        @param actions list of actions to write (E5Action)
-        """
-        for act in actions:
-            if act.objectName():
-                # shortcuts are only exported, if their objectName is set
-                self.writeStartElement("Shortcut")
-                self.writeAttribute("category", category)
-                self.writeTextElement("Name", act.objectName())
-                self.writeTextElement("Accel", act.shortcut().toString())
-                self.writeTextElement(
-                    "AltAccel", act.alternateShortcut().toString())
-                self.writeEndElement()

eric ide

mercurial