src/eric7/Preferences/Shortcuts.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
--- a/src/eric7/Preferences/Shortcuts.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/Preferences/Shortcuts.py	Wed Jul 13 14:55:47 2022 +0200
@@ -21,18 +21,20 @@
 def __readShortcut(act, category, prefClass):
     """
     Private function to read a single keyboard shortcut from the settings.
-    
+
     @param act reference to the action object (EricAction)
     @param category category the action belongs to (string)
     @param prefClass preferences class used as the storage area
     """
     if act.objectName():
         accel = prefClass.settings.value(
-            "Shortcuts/{0}/{1}/Accel".format(category, act.objectName()))
+            "Shortcuts/{0}/{1}/Accel".format(category, act.objectName())
+        )
         if accel is not None:
             act.setShortcut(QKeySequence(accel))
         accel = prefClass.settings.value(
-            "Shortcuts/{0}/{1}/AltAccel".format(category, act.objectName()))
+            "Shortcuts/{0}/{1}/AltAccel".format(category, act.objectName())
+        )
         if accel is not None:
             act.setAlternateShortcut(QKeySequence(accel), removeEmpty=True)
 
@@ -40,7 +42,7 @@
 def readShortcuts(prefClass=Prefs, helpViewer=None, pluginName=None):
     """
     Module function to read the keyboard shortcuts for the defined QActions.
-    
+
     @param prefClass preferences class used as the storage area
     @param helpViewer reference to the help window object
     @param pluginName name of the plugin for which to load shortcuts
@@ -49,53 +51,53 @@
     if helpViewer is None and pluginName is None:
         for act in ericApp().getObject("Project").getActions():
             __readShortcut(act, "Project", prefClass)
-        
-        for act in ericApp().getObject("UserInterface").getActions('ui'):
+
+        for act in ericApp().getObject("UserInterface").getActions("ui"):
             __readShortcut(act, "General", prefClass)
-        
-        for act in ericApp().getObject("UserInterface").getActions('wizards'):
+
+        for act in ericApp().getObject("UserInterface").getActions("wizards"):
             __readShortcut(act, "Wizards", prefClass)
-        
+
         for act in ericApp().getObject("DebugUI").getActions():
             __readShortcut(act, "Debug", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('edit'):
+
+        for act in ericApp().getObject("ViewManager").getActions("edit"):
             __readShortcut(act, "Edit", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('file'):
+
+        for act in ericApp().getObject("ViewManager").getActions("file"):
             __readShortcut(act, "File", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('search'):
+
+        for act in ericApp().getObject("ViewManager").getActions("search"):
             __readShortcut(act, "Search", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('view'):
+
+        for act in ericApp().getObject("ViewManager").getActions("view"):
             __readShortcut(act, "View", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('macro'):
+
+        for act in ericApp().getObject("ViewManager").getActions("macro"):
             __readShortcut(act, "Macro", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('bookmark'):
+
+        for act in ericApp().getObject("ViewManager").getActions("bookmark"):
             __readShortcut(act, "Bookmarks", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('spelling'):
+
+        for act in ericApp().getObject("ViewManager").getActions("spelling"):
             __readShortcut(act, "Spelling", prefClass)
-        
-        actions = ericApp().getObject("ViewManager").getActions('window')
+
+        actions = ericApp().getObject("ViewManager").getActions("window")
         if actions:
             for act in actions:
                 __readShortcut(act, "Window", prefClass)
-        
+
         for category, ref in ericApp().getPluginObjects():
             if hasattr(ref, "getActions"):
                 actions = ref.getActions()
                 for act in actions:
                     __readShortcut(act, category, prefClass)
-    
+
     if helpViewer is not None:
         helpViewerCategory = helpViewer.getActionsCategory()
         for act in helpViewer.getActions():
             __readShortcut(act, helpViewerCategory, prefClass)
-    
+
     if pluginName is not None:
         with contextlib.suppress(KeyError):
             ref = ericApp().getPluginObject(pluginName)
@@ -103,12 +105,12 @@
                 actions = ref.getActions()
                 for act in actions:
                     __readShortcut(act, pluginName, prefClass)
-    
+
 
 def __saveShortcut(act, category, prefClass):
     """
     Private function to write a single keyboard shortcut to the settings.
-    
+
     @param act reference to the action object (EricAction)
     @param category category the action belongs to (string)
     @param prefClass preferences class used as the storage area
@@ -116,16 +118,18 @@
     if act.objectName():
         prefClass.settings.setValue(
             "Shortcuts/{0}/{1}/Accel".format(category, act.objectName()),
-            act.shortcut().toString())
+            act.shortcut().toString(),
+        )
         prefClass.settings.setValue(
             "Shortcuts/{0}/{1}/AltAccel".format(category, act.objectName()),
-            act.alternateShortcut().toString())
+            act.alternateShortcut().toString(),
+        )
 
 
 def saveShortcuts(prefClass=Prefs, helpViewer=None):
     """
     Module function to write the keyboard shortcuts for the defined QActions.
-    
+
     @param prefClass preferences class used as the storage area
     @param helpViewer reference to the help window object
     """
@@ -134,62 +138,60 @@
         prefClass.settings.beginGroup("Shortcuts")
         prefClass.settings.remove("")
         prefClass.settings.endGroup()
-        
+
         # step 2: save the various shortcuts
         for act in ericApp().getObject("Project").getActions():
             __saveShortcut(act, "Project", prefClass)
-        
-        for act in ericApp().getObject("UserInterface").getActions('ui'):
+
+        for act in ericApp().getObject("UserInterface").getActions("ui"):
             __saveShortcut(act, "General", prefClass)
-        
-        for act in ericApp().getObject("UserInterface").getActions('wizards'):
+
+        for act in ericApp().getObject("UserInterface").getActions("wizards"):
             __saveShortcut(act, "Wizards", prefClass)
-        
+
         for act in ericApp().getObject("DebugUI").getActions():
             __saveShortcut(act, "Debug", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('edit'):
+
+        for act in ericApp().getObject("ViewManager").getActions("edit"):
             __saveShortcut(act, "Edit", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('file'):
+
+        for act in ericApp().getObject("ViewManager").getActions("file"):
             __saveShortcut(act, "File", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('search'):
+
+        for act in ericApp().getObject("ViewManager").getActions("search"):
             __saveShortcut(act, "Search", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('view'):
+
+        for act in ericApp().getObject("ViewManager").getActions("view"):
             __saveShortcut(act, "View", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('macro'):
+
+        for act in ericApp().getObject("ViewManager").getActions("macro"):
             __saveShortcut(act, "Macro", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('bookmark'):
+
+        for act in ericApp().getObject("ViewManager").getActions("bookmark"):
             __saveShortcut(act, "Bookmarks", prefClass)
-        
-        for act in ericApp().getObject("ViewManager").getActions('spelling'):
+
+        for act in ericApp().getObject("ViewManager").getActions("spelling"):
             __saveShortcut(act, "Spelling", prefClass)
-        
-        actions = ericApp().getObject("ViewManager").getActions('window')
+
+        actions = ericApp().getObject("ViewManager").getActions("window")
         if actions:
             for act in actions:
                 __saveShortcut(act, "Window", prefClass)
-        
+
         for category, ref in ericApp().getPluginObjects():
             if hasattr(ref, "getActions"):
                 actions = ref.getActions()
                 for act in actions:
                     __saveShortcut(act, category, prefClass)
-    
+
     else:
         helpViewerCategory = helpViewer.getActionsCategory()
-        
+
         # step 1: clear all previously saved shortcuts
-        prefClass.settings.beginGroup(
-            "Shortcuts/{0}".format(helpViewerCategory)
-        )
+        prefClass.settings.beginGroup("Shortcuts/{0}".format(helpViewerCategory))
         prefClass.settings.remove("")
         prefClass.settings.endGroup()
-        
+
         # step 2: save the shortcuts
         for act in helpViewer.getActions():
             __saveShortcut(act, helpViewerCategory, prefClass)
@@ -198,7 +200,7 @@
 def exportShortcuts(fn, helpViewer=None):
     """
     Module function to export the keyboard shortcuts for the defined QActions.
-    
+
     @param fn filename of the export file
     @type str
     @param helpViewer reference to the help window object
@@ -207,8 +209,9 @@
     # let the plugin manager create on demand plugin objects
     pm = ericApp().getObject("PluginManager")
     pm.initOnDemandPlugins()
-    
+
     from .ShortcutsFile import ShortcutsFile
+
     shortcutsFile = ShortcutsFile()
     shortcutsFile.writeFile(fn, helpViewer)
 
@@ -216,7 +219,7 @@
 def importShortcuts(fn, helpViewer=None):
     """
     Module function to import the keyboard shortcuts for the defined actions.
-    
+
     @param fn filename of the import file
     @type str
     @param helpViewer reference to the help window object
@@ -225,10 +228,11 @@
     # let the plugin manager create on demand plugin objects
     pm = ericApp().getObject("PluginManager")
     pm.initOnDemandPlugins()
-    
+
     if fn.endswith(".ekj"):
         # new JSON based file
         from .ShortcutsFile import ShortcutsFile
+
         shortcutsFile = ShortcutsFile()
         shortcuts = shortcutsFile.readFile(fn)
         if shortcuts:
@@ -240,6 +244,7 @@
         f = QFile(fn)
         if f.open(QIODevice.OpenModeFlag.ReadOnly):
             from EricXML.ShortcutsReader import ShortcutsReader
+
             reader = ShortcutsReader(f)
             reader.readXML()
             f.close()
@@ -251,19 +256,19 @@
         else:
             EricMessageBox.critical(
                 None,
-                QCoreApplication.translate(
-                    "Shortcuts", "Import Keyboard Shortcuts"),
+                QCoreApplication.translate("Shortcuts", "Import Keyboard Shortcuts"),
                 QCoreApplication.translate(
                     "Shortcuts",
                     "<p>The keyboard shortcuts file <b>{0}</b> could not be"
-                    " read.</p>")
-                .format(fn))
+                    " read.</p>",
+                ).format(fn),
+            )
 
 
 def __setAction(actions, shortcutsDict):
     """
     Private function to set a single keyboard shortcut category shortcuts.
-    
+
     @param actions list of actions to set
     @type list of EricAction
     @param shortcutsDict dictionary containing accelerator information for
@@ -275,14 +280,13 @@
             with contextlib.suppress(KeyError):
                 accel, altAccel = shortcutsDict[act.objectName()]
                 act.setShortcut(QKeySequence(accel))
-                act.setAlternateShortcut(QKeySequence(altAccel),
-                                         removeEmpty=True)
+                act.setAlternateShortcut(QKeySequence(altAccel), removeEmpty=True)
 
 
 def setActions(shortcuts, helpViewer=None):
     """
     Module function to set actions based on the imported shortcuts file.
-    
+
     @param shortcuts dictionary containing the accelerator information
         read from a JSON or XML file
     @type dict
@@ -292,69 +296,73 @@
     if helpViewer is None:
         if "Project" in shortcuts:
             __setAction(
-                ericApp().getObject("Project").getActions(),
-                shortcuts["Project"])
-        
+                ericApp().getObject("Project").getActions(), shortcuts["Project"]
+            )
+
         if "General" in shortcuts:
             __setAction(
-                ericApp().getObject("UserInterface").getActions('ui'),
-                shortcuts["General"])
-        
+                ericApp().getObject("UserInterface").getActions("ui"),
+                shortcuts["General"],
+            )
+
         if "Wizards" in shortcuts:
             __setAction(
-                ericApp().getObject("UserInterface").getActions('wizards'),
-                shortcuts["Wizards"])
-        
+                ericApp().getObject("UserInterface").getActions("wizards"),
+                shortcuts["Wizards"],
+            )
+
         if "Debug" in shortcuts:
-            __setAction(
-                ericApp().getObject("DebugUI").getActions(),
-                shortcuts["Debug"])
-        
+            __setAction(ericApp().getObject("DebugUI").getActions(), shortcuts["Debug"])
+
         if "Edit" in shortcuts:
             __setAction(
-                ericApp().getObject("ViewManager").getActions('edit'),
-                shortcuts["Edit"])
-        
+                ericApp().getObject("ViewManager").getActions("edit"), shortcuts["Edit"]
+            )
+
         if "File" in shortcuts:
             __setAction(
-                ericApp().getObject("ViewManager").getActions('file'),
-                shortcuts["File"])
-        
+                ericApp().getObject("ViewManager").getActions("file"), shortcuts["File"]
+            )
+
         if "Search" in shortcuts:
             __setAction(
-                ericApp().getObject("ViewManager").getActions('search'),
-                shortcuts["Search"])
-        
+                ericApp().getObject("ViewManager").getActions("search"),
+                shortcuts["Search"],
+            )
+
         if "View" in shortcuts:
             __setAction(
-                ericApp().getObject("ViewManager").getActions('view'),
-                shortcuts["View"])
-        
+                ericApp().getObject("ViewManager").getActions("view"), shortcuts["View"]
+            )
+
         if "Macro" in shortcuts:
             __setAction(
-                ericApp().getObject("ViewManager").getActions('macro'),
-                shortcuts["Macro"])
-        
+                ericApp().getObject("ViewManager").getActions("macro"),
+                shortcuts["Macro"],
+            )
+
         if "Bookmarks" in shortcuts:
             __setAction(
-                ericApp().getObject("ViewManager").getActions('bookmark'),
-                shortcuts["Bookmarks"])
-        
+                ericApp().getObject("ViewManager").getActions("bookmark"),
+                shortcuts["Bookmarks"],
+            )
+
         if "Spelling" in shortcuts:
             __setAction(
-                ericApp().getObject("ViewManager").getActions('spelling'),
-                shortcuts["Spelling"])
-        
+                ericApp().getObject("ViewManager").getActions("spelling"),
+                shortcuts["Spelling"],
+            )
+
         if "Window" in shortcuts:
-            actions = ericApp().getObject("ViewManager").getActions('window')
+            actions = ericApp().getObject("ViewManager").getActions("window")
             if actions:
                 __setAction(actions, shortcuts["Window"])
-        
+
         for category, ref in ericApp().getPluginObjects():
             if category in shortcuts and hasattr(ref, "getActions"):
                 actions = ref.getActions()
                 __setAction(actions, shortcuts[category])
-    
+
     else:
         category = helpViewer.getActionsCategory()
         if category in shortcuts:

eric ide

mercurial