Preferences/ShortcutsDialog.py

changeset 53
c3eb7cc1ff8b
parent 15
f6ccc31d6e72
child 55
b5c84934de9c
equal deleted inserted replaced
52:ba69827929ee 53:c3eb7cc1ff8b
8 """ 8 """
9 9
10 from PyQt4.QtCore import * 10 from PyQt4.QtCore import *
11 from PyQt4.QtGui import * 11 from PyQt4.QtGui import *
12 12
13 from E4Gui.E4Application import e4App 13 from E4Gui.E4Application import e5App
14 14
15 from .Ui_ShortcutsDialog import Ui_ShortcutsDialog 15 from .Ui_ShortcutsDialog import Ui_ShortcutsDialog
16 from .ShortcutDialog import ShortcutDialog 16 from .ShortcutDialog import ShortcutDialog
17 17
18 import UI.PixmapCache 18 import UI.PixmapCache
107 self.searchEdit.setFocus() 107 self.searchEdit.setFocus()
108 self.shortcutsList.clear() 108 self.shortcutsList.clear()
109 self.actionButton.setChecked(True) 109 self.actionButton.setChecked(True)
110 110
111 # let the plugin manager create on demand plugin objects 111 # let the plugin manager create on demand plugin objects
112 pm = e4App().getObject("PluginManager") 112 pm = e5App().getObject("PluginManager")
113 pm.initOnDemandPlugins() 113 pm.initOnDemandPlugins()
114 114
115 # populate the various lists 115 # populate the various lists
116 self.projectItem = self.__generateCategoryItem(self.trUtf8("Project")) 116 self.projectItem = self.__generateCategoryItem(self.trUtf8("Project"))
117 for act in e4App().getObject("Project").getActions(): 117 for act in e5App().getObject("Project").getActions():
118 self.__generateShortcutItem(self.projectItem, act) 118 self.__generateShortcutItem(self.projectItem, act)
119 119
120 self.uiItem = self.__generateCategoryItem(self.trUtf8("General")) 120 self.uiItem = self.__generateCategoryItem(self.trUtf8("General"))
121 for act in e4App().getObject("UserInterface").getActions('ui'): 121 for act in e5App().getObject("UserInterface").getActions('ui'):
122 self.__generateShortcutItem(self.uiItem, act) 122 self.__generateShortcutItem(self.uiItem, act)
123 123
124 self.wizardsItem = self.__generateCategoryItem(self.trUtf8("Wizards")) 124 self.wizardsItem = self.__generateCategoryItem(self.trUtf8("Wizards"))
125 for act in e4App().getObject("UserInterface").getActions('wizards'): 125 for act in e5App().getObject("UserInterface").getActions('wizards'):
126 self.__generateShortcutItem(self.wizardsItem, act) 126 self.__generateShortcutItem(self.wizardsItem, act)
127 127
128 self.debugItem = self.__generateCategoryItem(self.trUtf8("Debug")) 128 self.debugItem = self.__generateCategoryItem(self.trUtf8("Debug"))
129 for act in e4App().getObject("DebugUI").getActions(): 129 for act in e5App().getObject("DebugUI").getActions():
130 self.__generateShortcutItem(self.debugItem, act) 130 self.__generateShortcutItem(self.debugItem, act)
131 131
132 self.editItem = self.__generateCategoryItem(self.trUtf8("Edit")) 132 self.editItem = self.__generateCategoryItem(self.trUtf8("Edit"))
133 for act in e4App().getObject("ViewManager").getActions('edit'): 133 for act in e5App().getObject("ViewManager").getActions('edit'):
134 self.__generateShortcutItem(self.editItem, act) 134 self.__generateShortcutItem(self.editItem, act)
135 135
136 self.fileItem = self.__generateCategoryItem(self.trUtf8("File")) 136 self.fileItem = self.__generateCategoryItem(self.trUtf8("File"))
137 for act in e4App().getObject("ViewManager").getActions('file'): 137 for act in e5App().getObject("ViewManager").getActions('file'):
138 self.__generateShortcutItem(self.fileItem, act) 138 self.__generateShortcutItem(self.fileItem, act)
139 139
140 self.searchItem = self.__generateCategoryItem(self.trUtf8("Search")) 140 self.searchItem = self.__generateCategoryItem(self.trUtf8("Search"))
141 for act in e4App().getObject("ViewManager").getActions('search'): 141 for act in e5App().getObject("ViewManager").getActions('search'):
142 self.__generateShortcutItem(self.searchItem, act) 142 self.__generateShortcutItem(self.searchItem, act)
143 143
144 self.viewItem = self.__generateCategoryItem(self.trUtf8("View")) 144 self.viewItem = self.__generateCategoryItem(self.trUtf8("View"))
145 for act in e4App().getObject("ViewManager").getActions('view'): 145 for act in e5App().getObject("ViewManager").getActions('view'):
146 self.__generateShortcutItem(self.viewItem, act) 146 self.__generateShortcutItem(self.viewItem, act)
147 147
148 self.macroItem = self.__generateCategoryItem(self.trUtf8("Macro")) 148 self.macroItem = self.__generateCategoryItem(self.trUtf8("Macro"))
149 for act in e4App().getObject("ViewManager").getActions('macro'): 149 for act in e5App().getObject("ViewManager").getActions('macro'):
150 self.__generateShortcutItem(self.macroItem, act) 150 self.__generateShortcutItem(self.macroItem, act)
151 151
152 self.bookmarkItem = self.__generateCategoryItem(self.trUtf8("Bookmarks")) 152 self.bookmarkItem = self.__generateCategoryItem(self.trUtf8("Bookmarks"))
153 for act in e4App().getObject("ViewManager").getActions('bookmark'): 153 for act in e5App().getObject("ViewManager").getActions('bookmark'):
154 self.__generateShortcutItem(self.bookmarkItem, act) 154 self.__generateShortcutItem(self.bookmarkItem, act)
155 155
156 self.spellingItem = self.__generateCategoryItem(self.trUtf8("Spelling")) 156 self.spellingItem = self.__generateCategoryItem(self.trUtf8("Spelling"))
157 for act in e4App().getObject("ViewManager").getActions('spelling'): 157 for act in e5App().getObject("ViewManager").getActions('spelling'):
158 self.__generateShortcutItem(self.spellingItem, act) 158 self.__generateShortcutItem(self.spellingItem, act)
159 159
160 actions = e4App().getObject("ViewManager").getActions('window') 160 actions = e5App().getObject("ViewManager").getActions('window')
161 if actions: 161 if actions:
162 self.windowItem = self.__generateCategoryItem(self.trUtf8("Window")) 162 self.windowItem = self.__generateCategoryItem(self.trUtf8("Window"))
163 for act in actions: 163 for act in actions:
164 self.__generateShortcutItem(self.windowItem, act) 164 self.__generateShortcutItem(self.windowItem, act)
165 165
166 self.pluginCategoryItems = [] 166 self.pluginCategoryItems = []
167 for category, ref in e4App().getPluginObjects(): 167 for category, ref in e5App().getPluginObjects():
168 if hasattr(ref, "getActions"): 168 if hasattr(ref, "getActions"):
169 categoryItem = self.__generateCategoryItem(category) 169 categoryItem = self.__generateCategoryItem(category)
170 objectType = e4App().getPluginObjectType(category) 170 objectType = e5App().getPluginObjectType(category)
171 for act in ref.getActions(): 171 for act in ref.getActions():
172 self.__generateShortcutItem(categoryItem, act, 172 self.__generateShortcutItem(categoryItem, act,
173 objectType = objectType) 173 objectType = objectType)
174 self.pluginCategoryItems.append(categoryItem) 174 self.pluginCategoryItems.append(categoryItem)
175 175
176 self.helpViewerItem = self.__generateCategoryItem(self.trUtf8("Web Browser")) 176 self.helpViewerItem = self.__generateCategoryItem(self.trUtf8("Web Browser"))
177 for act in e4App().getObject("DummyHelpViewer").getActions(): 177 for act in e5App().getObject("DummyHelpViewer").getActions():
178 self.__generateShortcutItem(self.helpViewerItem, act, True) 178 self.__generateShortcutItem(self.helpViewerItem, act, True)
179 179
180 self.__resort() 180 self.__resort()
181 self.__resizeColumns() 181 self.__resizeColumns()
182 182
367 def on_buttonBox_accepted(self): 367 def on_buttonBox_accepted(self):
368 """ 368 """
369 Private slot to handle the OK button press. 369 Private slot to handle the OK button press.
370 """ 370 """
371 self.__saveCategoryActions(self.projectItem, 371 self.__saveCategoryActions(self.projectItem,
372 e4App().getObject("Project").getActions()) 372 e5App().getObject("Project").getActions())
373 self.__saveCategoryActions(self.uiItem, 373 self.__saveCategoryActions(self.uiItem,
374 e4App().getObject("UserInterface").getActions('ui')) 374 e5App().getObject("UserInterface").getActions('ui'))
375 self.__saveCategoryActions(self.wizardsItem, 375 self.__saveCategoryActions(self.wizardsItem,
376 e4App().getObject("UserInterface").getActions('wizards')) 376 e5App().getObject("UserInterface").getActions('wizards'))
377 self.__saveCategoryActions(self.debugItem, 377 self.__saveCategoryActions(self.debugItem,
378 e4App().getObject("DebugUI").getActions()) 378 e5App().getObject("DebugUI").getActions())
379 self.__saveCategoryActions(self.editItem, 379 self.__saveCategoryActions(self.editItem,
380 e4App().getObject("ViewManager").getActions('edit')) 380 e5App().getObject("ViewManager").getActions('edit'))
381 self.__saveCategoryActions(self.fileItem, 381 self.__saveCategoryActions(self.fileItem,
382 e4App().getObject("ViewManager").getActions('file')) 382 e5App().getObject("ViewManager").getActions('file'))
383 self.__saveCategoryActions(self.searchItem, 383 self.__saveCategoryActions(self.searchItem,
384 e4App().getObject("ViewManager").getActions('search')) 384 e5App().getObject("ViewManager").getActions('search'))
385 self.__saveCategoryActions(self.viewItem, 385 self.__saveCategoryActions(self.viewItem,
386 e4App().getObject("ViewManager").getActions('view')) 386 e5App().getObject("ViewManager").getActions('view'))
387 self.__saveCategoryActions(self.macroItem, 387 self.__saveCategoryActions(self.macroItem,
388 e4App().getObject("ViewManager").getActions('macro')) 388 e5App().getObject("ViewManager").getActions('macro'))
389 self.__saveCategoryActions(self.bookmarkItem, 389 self.__saveCategoryActions(self.bookmarkItem,
390 e4App().getObject("ViewManager").getActions('bookmark')) 390 e5App().getObject("ViewManager").getActions('bookmark'))
391 self.__saveCategoryActions(self.spellingItem, 391 self.__saveCategoryActions(self.spellingItem,
392 e4App().getObject("ViewManager").getActions('spelling')) 392 e5App().getObject("ViewManager").getActions('spelling'))
393 393
394 actions = e4App().getObject("ViewManager").getActions('window') 394 actions = e5App().getObject("ViewManager").getActions('window')
395 if actions: 395 if actions:
396 self.__saveCategoryActions(self.windowItem, actions) 396 self.__saveCategoryActions(self.windowItem, actions)
397 397
398 for categoryItem in self.pluginCategoryItems: 398 for categoryItem in self.pluginCategoryItems:
399 category = categoryItem.text(0) 399 category = categoryItem.text(0)
400 ref = e4App().getPluginObject(category) 400 ref = e5App().getPluginObject(category)
401 if ref is not None and hasattr(ref, "getActions"): 401 if ref is not None and hasattr(ref, "getActions"):
402 self.__saveCategoryActions(categoryItem, ref.getActions()) 402 self.__saveCategoryActions(categoryItem, ref.getActions())
403 403
404 self.__saveCategoryActions(self.helpViewerItem, 404 self.__saveCategoryActions(self.helpViewerItem,
405 e4App().getObject("DummyHelpViewer").getActions()) 405 e5App().getObject("DummyHelpViewer").getActions())
406 406
407 Shortcuts.saveShortcuts() 407 Shortcuts.saveShortcuts()
408 Preferences.syncPreferences() 408 Preferences.syncPreferences()
409 409
410 self.emit(SIGNAL('updateShortcuts')) 410 self.emit(SIGNAL('updateShortcuts'))

eric ide

mercurial