E5XML/ShortcutsWriter.py

changeset 53
c3eb7cc1ff8b
parent 50
a36eecf45b2e
child 55
b5c84934de9c
equal deleted inserted replaced
52:ba69827929ee 53:c3eb7cc1ff8b
7 Module implementing the writer class for writing an XML shortcuts file. 7 Module implementing the writer class for writing an XML shortcuts file.
8 """ 8 """
9 9
10 import time 10 import time
11 11
12 from E4Gui.E4Application import e4App 12 from E4Gui.E4Application import e5App
13 13
14 from .XMLWriterBase import XMLWriterBase 14 from .XMLWriterBase import XMLWriterBase
15 from .Config import shortcutsFileFormatVersion 15 from .Config import shortcutsFileFormatVersion
16 16
17 import Preferences 17 import Preferences
45 self._write("<!-- Author: %s -->" % self.escape("%s" % self.email)) 45 self._write("<!-- Author: %s -->" % self.escape("%s" % self.email))
46 46
47 # add the main tag 47 # add the main tag
48 self._write('<Shortcuts version="%s">' % shortcutsFileFormatVersion) 48 self._write('<Shortcuts version="%s">' % shortcutsFileFormatVersion)
49 49
50 for act in e4App().getObject("Project").getActions(): 50 for act in e5App().getObject("Project").getActions():
51 self._write(' <Shortcut category="Project">') 51 self._write(' <Shortcut category="Project">')
52 self._write(' <Name>%s</Name>' % act.objectName()) 52 self._write(' <Name>%s</Name>' % act.objectName())
53 self._write(' <Accel>%s</Accel>' % \ 53 self._write(' <Accel>%s</Accel>' % \
54 self.escape("%s" % act.shortcut().toString())) 54 self.escape("%s" % act.shortcut().toString()))
55 self._write(' <AltAccel>%s</AltAccel>' \ 55 self._write(' <AltAccel>%s</AltAccel>' \
56 % self.escape("%s" % act.alternateShortcut().toString())) 56 % self.escape("%s" % act.alternateShortcut().toString()))
57 self._write(' </Shortcut>') 57 self._write(' </Shortcut>')
58 58
59 for act in e4App().getObject("UserInterface").getActions('ui'): 59 for act in e5App().getObject("UserInterface").getActions('ui'):
60 self._write(' <Shortcut category="General">') 60 self._write(' <Shortcut category="General">')
61 self._write(' <Name>%s</Name>' % act.objectName()) 61 self._write(' <Name>%s</Name>' % act.objectName())
62 self._write(' <Accel>%s</Accel>' % \ 62 self._write(' <Accel>%s</Accel>' % \
63 self.escape("%s" % act.shortcut().toString())) 63 self.escape("%s" % act.shortcut().toString()))
64 self._write(' <AltAccel>%s</AltAccel>' % \ 64 self._write(' <AltAccel>%s</AltAccel>' % \
65 self.escape("%s" % act.alternateShortcut().toString())) 65 self.escape("%s" % act.alternateShortcut().toString()))
66 self._write(' </Shortcut>') 66 self._write(' </Shortcut>')
67 67
68 for act in e4App().getObject("UserInterface").getActions('wizards'): 68 for act in e5App().getObject("UserInterface").getActions('wizards'):
69 self._write(' <Shortcut category="Wizards">') 69 self._write(' <Shortcut category="Wizards">')
70 self._write(' <Name>%s</Name>' % act.objectName()) 70 self._write(' <Name>%s</Name>' % act.objectName())
71 self._write(' <Accel>%s</Accel>' % \ 71 self._write(' <Accel>%s</Accel>' % \
72 self.escape("%s" % act.shortcut().toString())) 72 self.escape("%s" % act.shortcut().toString()))
73 self._write(' <AltAccel>%s</AltAccel>' % \ 73 self._write(' <AltAccel>%s</AltAccel>' % \
74 self.escape("%s" % act.alternateShortcut().toString())) 74 self.escape("%s" % act.alternateShortcut().toString()))
75 self._write(' </Shortcut>') 75 self._write(' </Shortcut>')
76 76
77 for act in e4App().getObject("DebugUI").getActions(): 77 for act in e5App().getObject("DebugUI").getActions():
78 self._write(' <Shortcut category="Debug">') 78 self._write(' <Shortcut category="Debug">')
79 self._write(' <Name>%s</Name>' % act.objectName()) 79 self._write(' <Name>%s</Name>' % act.objectName())
80 self._write(' <Accel>%s</Accel>' % \ 80 self._write(' <Accel>%s</Accel>' % \
81 self.escape("%s" % act.shortcut().toString())) 81 self.escape("%s" % act.shortcut().toString()))
82 self._write(' <AltAccel>%s</AltAccel>' % \ 82 self._write(' <AltAccel>%s</AltAccel>' % \
83 self.escape("%s" % act.alternateShortcut().toString())) 83 self.escape("%s" % act.alternateShortcut().toString()))
84 self._write(' </Shortcut>') 84 self._write(' </Shortcut>')
85 85
86 for act in e4App().getObject("ViewManager").getActions('edit'): 86 for act in e5App().getObject("ViewManager").getActions('edit'):
87 self._write(' <Shortcut category="Edit">') 87 self._write(' <Shortcut category="Edit">')
88 self._write(' <Name>%s</Name>' % act.objectName()) 88 self._write(' <Name>%s</Name>' % act.objectName())
89 self._write(' <Accel>%s</Accel>' % \ 89 self._write(' <Accel>%s</Accel>' % \
90 self.escape("%s" % act.shortcut().toString())) 90 self.escape("%s" % act.shortcut().toString()))
91 self._write(' <AltAccel>%s</AltAccel>' % \ 91 self._write(' <AltAccel>%s</AltAccel>' % \
92 self.escape("%s" % act.alternateShortcut().toString())) 92 self.escape("%s" % act.alternateShortcut().toString()))
93 self._write(' </Shortcut>') 93 self._write(' </Shortcut>')
94 94
95 for act in e4App().getObject("ViewManager").getActions('file'): 95 for act in e5App().getObject("ViewManager").getActions('file'):
96 self._write(' <Shortcut category="File">') 96 self._write(' <Shortcut category="File">')
97 self._write(' <Name>%s</Name>' % act.objectName()) 97 self._write(' <Name>%s</Name>' % act.objectName())
98 self._write(' <Accel>%s</Accel>' % \ 98 self._write(' <Accel>%s</Accel>' % \
99 self.escape("%s" % act.shortcut().toString())) 99 self.escape("%s" % act.shortcut().toString()))
100 self._write(' <AltAccel>%s</AltAccel>' % \ 100 self._write(' <AltAccel>%s</AltAccel>' % \
101 self.escape("%s" % act.alternateShortcut().toString())) 101 self.escape("%s" % act.alternateShortcut().toString()))
102 self._write(' </Shortcut>') 102 self._write(' </Shortcut>')
103 103
104 for act in e4App().getObject("ViewManager").getActions('search'): 104 for act in e5App().getObject("ViewManager").getActions('search'):
105 self._write(' <Shortcut category="Search">') 105 self._write(' <Shortcut category="Search">')
106 self._write(' <Name>%s</Name>' % act.objectName()) 106 self._write(' <Name>%s</Name>' % act.objectName())
107 self._write(' <Accel>%s</Accel>' % \ 107 self._write(' <Accel>%s</Accel>' % \
108 self.escape("%s" % act.shortcut().toString())) 108 self.escape("%s" % act.shortcut().toString()))
109 self._write(' <AltAccel>%s</AltAccel>' % \ 109 self._write(' <AltAccel>%s</AltAccel>' % \
110 self.escape("%s" % act.alternateShortcut().toString())) 110 self.escape("%s" % act.alternateShortcut().toString()))
111 self._write(' </Shortcut>') 111 self._write(' </Shortcut>')
112 112
113 for act in e4App().getObject("ViewManager").getActions('view'): 113 for act in e5App().getObject("ViewManager").getActions('view'):
114 self._write(' <Shortcut category="View">') 114 self._write(' <Shortcut category="View">')
115 self._write(' <Name>%s</Name>' % act.objectName()) 115 self._write(' <Name>%s</Name>' % act.objectName())
116 self._write(' <Accel>%s</Accel>' % \ 116 self._write(' <Accel>%s</Accel>' % \
117 self.escape("%s" % act.shortcut().toString())) 117 self.escape("%s" % act.shortcut().toString()))
118 self._write(' <AltAccel>%s</AltAccel>' % \ 118 self._write(' <AltAccel>%s</AltAccel>' % \
119 self.escape("%s" % act.alternateShortcut().toString())) 119 self.escape("%s" % act.alternateShortcut().toString()))
120 self._write(' </Shortcut>') 120 self._write(' </Shortcut>')
121 121
122 for act in e4App().getObject("ViewManager").getActions('macro'): 122 for act in e5App().getObject("ViewManager").getActions('macro'):
123 self._write(' <Shortcut category="Macro">') 123 self._write(' <Shortcut category="Macro">')
124 self._write(' <Name>%s</Name>' % act.objectName()) 124 self._write(' <Name>%s</Name>' % act.objectName())
125 self._write(' <Accel>%s</Accel>' % \ 125 self._write(' <Accel>%s</Accel>' % \
126 self.escape("%s" % act.shortcut().toString())) 126 self.escape("%s" % act.shortcut().toString()))
127 self._write(' <AltAccel>%s</AltAccel>' % \ 127 self._write(' <AltAccel>%s</AltAccel>' % \
128 self.escape("%s" % act.alternateShortcut().toString())) 128 self.escape("%s" % act.alternateShortcut().toString()))
129 self._write(' </Shortcut>') 129 self._write(' </Shortcut>')
130 130
131 for act in e4App().getObject("ViewManager").getActions('bookmark'): 131 for act in e5App().getObject("ViewManager").getActions('bookmark'):
132 self._write(' <Shortcut category="Bookmarks">') 132 self._write(' <Shortcut category="Bookmarks">')
133 self._write(' <Name>%s</Name>' % act.objectName()) 133 self._write(' <Name>%s</Name>' % act.objectName())
134 self._write(' <Accel>%s</Accel>' % \ 134 self._write(' <Accel>%s</Accel>' % \
135 self.escape("%s" % act.shortcut().toString())) 135 self.escape("%s" % act.shortcut().toString()))
136 self._write(' <AltAccel>%s</AltAccel>' % \ 136 self._write(' <AltAccel>%s</AltAccel>' % \
137 self.escape("%s" % act.alternateShortcut().toString())) 137 self.escape("%s" % act.alternateShortcut().toString()))
138 self._write(' </Shortcut>') 138 self._write(' </Shortcut>')
139 139
140 for act in e4App().getObject("ViewManager").getActions('spelling'): 140 for act in e5App().getObject("ViewManager").getActions('spelling'):
141 self._write(' <Shortcut category="Spelling">') 141 self._write(' <Shortcut category="Spelling">')
142 self._write(' <Name>%s</Name>' % act.objectName()) 142 self._write(' <Name>%s</Name>' % act.objectName())
143 self._write(' <Accel>%s</Accel>' % \ 143 self._write(' <Accel>%s</Accel>' % \
144 self.escape("%s" % act.shortcut().toString())) 144 self.escape("%s" % act.shortcut().toString()))
145 self._write(' <AltAccel>%s</AltAccel>' % \ 145 self._write(' <AltAccel>%s</AltAccel>' % \
146 self.escape("%s" % act.alternateShortcut().toString())) 146 self.escape("%s" % act.alternateShortcut().toString()))
147 self._write(' </Shortcut>') 147 self._write(' </Shortcut>')
148 148
149 actions = e4App().getObject("ViewManager").getActions('window') 149 actions = e5App().getObject("ViewManager").getActions('window')
150 for act in actions: 150 for act in actions:
151 self._write(' <Shortcut category="Window">') 151 self._write(' <Shortcut category="Window">')
152 self._write(' <Name>%s</Name>' % act.objectName()) 152 self._write(' <Name>%s</Name>' % act.objectName())
153 self._write(' <Accel>%s</Accel>' % \ 153 self._write(' <Accel>%s</Accel>' % \
154 self.escape("%s" % act.shortcut().toString())) 154 self.escape("%s" % act.shortcut().toString()))
155 self._write(' <AltAccel>%s</AltAccel>' % \ 155 self._write(' <AltAccel>%s</AltAccel>' % \
156 self.escape("%s" % act.alternateShortcut().toString())) 156 self.escape("%s" % act.alternateShortcut().toString()))
157 self._write(' </Shortcut>') 157 self._write(' </Shortcut>')
158 158
159 for category, ref in e4App().getPluginObjects(): 159 for category, ref in e5App().getPluginObjects():
160 if hasattr(ref, "getActions"): 160 if hasattr(ref, "getActions"):
161 actions = ref.getActions() 161 actions = ref.getActions()
162 for act in actions: 162 for act in actions:
163 if act.objectName(): 163 if act.objectName():
164 # shortcuts are only exported, if their objectName is set 164 # shortcuts are only exported, if their objectName is set
168 self.escape("%s" % act.shortcut().toString())) 168 self.escape("%s" % act.shortcut().toString()))
169 self._write(' <AltAccel>%s</AltAccel>' % \ 169 self._write(' <AltAccel>%s</AltAccel>' % \
170 self.escape("%s" % act.alternateShortcut().toString())) 170 self.escape("%s" % act.alternateShortcut().toString()))
171 self._write(' </Shortcut>') 171 self._write(' </Shortcut>')
172 172
173 for act in e4App().getObject("DummyHelpViewer").getActions(): 173 for act in e5App().getObject("DummyHelpViewer").getActions():
174 self._write(' <Shortcut category="HelpViewer">') 174 self._write(' <Shortcut category="HelpViewer">')
175 self._write(' <Name>%s</Name>' % act.objectName()) 175 self._write(' <Name>%s</Name>' % act.objectName())
176 self._write(' <Accel>%s</Accel>' % \ 176 self._write(' <Accel>%s</Accel>' % \
177 self.escape("%s" % act.shortcut().toString())) 177 self.escape("%s" % act.shortcut().toString()))
178 self._write(' <AltAccel>%s</AltAccel>' \ 178 self._write(' <AltAccel>%s</AltAccel>' \

eric ide

mercurial