diff -r f991944e859c -r a36eecf45b2e E4XML/ShortcutsWriter.py --- a/E4XML/ShortcutsWriter.py Tue Jan 12 07:38:28 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2004 - 2010 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing the writer class for writing an XML shortcuts file. -""" - -import time - -from E4Gui.E4Application import e4App - -from .XMLWriterBase import XMLWriterBase -from .Config import shortcutsFileFormatVersion - -import Preferences - -class ShortcutsWriter(XMLWriterBase): - """ - Class implementing the writer class for writing an XML shortcuts file. - """ - def __init__(self, file): - """ - Constructor - - @param file open file (like) object for writing - """ - XMLWriterBase.__init__(self, file) - - self.email = Preferences.getUser("Email") - - def writeXML(self): - """ - Public method to write the XML to the file. - """ - XMLWriterBase.writeXML(self) - - self._write('<!DOCTYPE Shortcuts SYSTEM "Shortcuts-%s.dtd">' % \ - shortcutsFileFormatVersion) - - # add some generation comments - self._write("<!-- Eric5 keyboard shortcuts -->") - self._write("<!-- Saved: %s -->" % time.strftime('%Y-%m-%d, %H:%M:%S')) - self._write("<!-- Author: %s -->" % self.escape("%s" % self.email)) - - # add the main tag - self._write('<Shortcuts version="%s">' % shortcutsFileFormatVersion) - - for act in e4App().getObject("Project").getActions(): - self._write(' <Shortcut category="Project">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' \ - % self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("UserInterface").getActions('ui'): - self._write(' <Shortcut category="General">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("UserInterface").getActions('wizards'): - self._write(' <Shortcut category="Wizards">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("DebugUI").getActions(): - self._write(' <Shortcut category="Debug">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("ViewManager").getActions('edit'): - self._write(' <Shortcut category="Edit">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("ViewManager").getActions('file'): - self._write(' <Shortcut category="File">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("ViewManager").getActions('search'): - self._write(' <Shortcut category="Search">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("ViewManager").getActions('view'): - self._write(' <Shortcut category="View">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("ViewManager").getActions('macro'): - self._write(' <Shortcut category="Macro">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("ViewManager").getActions('bookmark'): - self._write(' <Shortcut category="Bookmarks">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("ViewManager").getActions('spelling'): - self._write(' <Shortcut category="Spelling">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - actions = e4App().getObject("ViewManager").getActions('window') - for act in actions: - self._write(' <Shortcut category="Window">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for category, ref in e4App().getPluginObjects(): - if hasattr(ref, "getActions"): - actions = ref.getActions() - for act in actions: - if act.objectName(): - # shortcuts are only exported, if their objectName is set - self._write(' <Shortcut category="%s">' % category) - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' % \ - self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - for act in e4App().getObject("DummyHelpViewer").getActions(): - self._write(' <Shortcut category="HelpViewer">') - self._write(' <Name>%s</Name>' % act.objectName()) - self._write(' <Accel>%s</Accel>' % \ - self.escape("%s" % act.shortcut().toString())) - self._write(' <AltAccel>%s</AltAccel>' \ - % self.escape("%s" % act.alternateShortcut().toString())) - self._write(' </Shortcut>') - - # add the main end tag - self._write("</Shortcuts>", newline = False)