PluginPySide2PyQt.py

branch
eric7
changeset 63
3f3062df2e91
parent 61
db6fd3bd2ffd
child 64
023600ebd385
--- a/PluginPySide2PyQt.py	Thu Dec 30 12:55:51 2021 +0100
+++ b/PluginPySide2PyQt.py	Wed Sep 21 10:52:53 2022 +0200
@@ -40,36 +40,37 @@
     """
     Class implementing the PySide to PyQt (and vice versa) plugin.
     """
+
     def __init__(self, ui):
         """
         Constructor
-        
+
         @param ui reference to the user interface object
         @type UserInterface
         """
         super().__init__(ui)
         self.__ui = ui
-        
+
         self.__translator = None
         self.__loadTranslator()
-        
+
         self.__initMenu()
-        
+
         self.__editors = {}
         self.__mainActions = []
-    
+
     def activate(self):
         """
         Public method to activate this plugin.
-        
+
         @return tuple of None and activation status
         @rtype (None, bool)
         """
         global error
-        error = ""     # clear previous error
-        
+        error = ""  # clear previous error
+
         self.__ui.showMenu.connect(self.__populateMenu)
-        
+
         menu = self.__ui.getMenu("plugin_tools")
         if menu is not None:
             if not menu.isEmpty():
@@ -77,23 +78,21 @@
                 self.__mainActions.append(act)
             act = menu.addMenu(self.__menu)
             self.__mainActions.append(act)
-        
-        ericApp().getObject("ViewManager").editorOpenedEd.connect(
-            self.__editorOpened)
-        ericApp().getObject("ViewManager").editorClosedEd.connect(
-            self.__editorClosed)
-        
+
+        ericApp().getObject("ViewManager").editorOpenedEd.connect(self.__editorOpened)
+        ericApp().getObject("ViewManager").editorClosedEd.connect(self.__editorClosed)
+
         for editor in ericApp().getObject("ViewManager").getOpenEditors():
             self.__editorOpened(editor)
-        
+
         return None, True
-    
+
     def deactivate(self):
         """
         Public method to deactivate this plugin.
         """
         self.__ui.showMenu.disconnect(self.__populateMenu)
-        
+
         menu = self.__ui.getMenu("plugin_tools")
         if menu is not None:
             for act in self.__mainActions:
@@ -101,10 +100,12 @@
         self.__mainActions = []
 
         ericApp().getObject("ViewManager").editorOpenedEd.disconnect(
-            self.__editorOpened)
+            self.__editorOpened
+        )
         ericApp().getObject("ViewManager").editorClosedEd.disconnect(
-            self.__editorClosed)
-        
+            self.__editorClosed
+        )
+
         for editor, acts in self.__editors.items():
             editor.showMenu.disconnect(self.__editorShowMenu)
             menu = editor.getMenu("Tools")
@@ -112,7 +113,7 @@
                 for act in acts:
                     menu.removeAction(act)
         self.__editors = {}
-    
+
     def __loadTranslator(self):
         """
         Private method to load the translation file.
@@ -121,7 +122,8 @@
             loc = self.__ui.getLocale()
             if loc and loc != "C":
                 locale_dir = os.path.join(
-                    os.path.dirname(__file__), "PySide2PyQt", "i18n")
+                    os.path.dirname(__file__), "PySide2PyQt", "i18n"
+                )
                 translation = "pyside2pyqt_{0}".format(loc)
                 translator = QTranslator(None)
                 loaded = translator.load(translation, locale_dir)
@@ -129,30 +131,36 @@
                     self.__translator = translator
                     ericApp().installTranslator(self.__translator)
                 else:
-                    print("Warning: translation file '{0}' could not be"
-                          " loaded.".format(translation))
+                    print(
+                        "Warning: translation file '{0}' could not be"
+                        " loaded.".format(translation)
+                    )
                     print("Using default.")
-    
+
     def __initMenu(self):
         """
         Private method to initialize the menu.
         """
         self.__menu = QMenu(self.tr("PySide to/from PyQt"))
-        self.__menu.addAction(self.tr("PySide2 to PyQt5"),
-                              lambda: self.__pyside2Pyqt("pyside2", "pyqt5"))
-        self.__menu.addAction(self.tr("PyQt5 to PySide2"),
-                              lambda: self.__pyqt2Pyside("pyqt5", "pyside2"))
+        self.__menu.addAction(
+            self.tr("PySide2 to PyQt5"), lambda: self.__pyside2Pyqt("pyside2", "pyqt5")
+        )
+        self.__menu.addAction(
+            self.tr("PyQt5 to PySide2"), lambda: self.__pyqt2Pyside("pyqt5", "pyside2")
+        )
         self.__menu.addSeparator()
-        self.__menu.addAction(self.tr("PySide6 to PyQt6"),
-                              lambda: self.__pyside2Pyqt("pyside6", "pyqt6"))
-        self.__menu.addAction(self.tr("PyQt6 to PySide6"),
-                              lambda: self.__pyqt2Pyside("pyqt6", "pyside6"))
+        self.__menu.addAction(
+            self.tr("PySide6 to PyQt6"), lambda: self.__pyside2Pyqt("pyside6", "pyqt6")
+        )
+        self.__menu.addAction(
+            self.tr("PyQt6 to PySide6"), lambda: self.__pyqt2Pyside("pyqt6", "pyside6")
+        )
         self.__menu.setEnabled(False)
-    
+
     def __populateMenu(self, name, menu):
         """
         Private slot to populate the tools menu with our entries.
-        
+
         @param name name of the menu
         @type str
         @param menu reference to the menu to be populated
@@ -160,9 +168,9 @@
         """
         if name not in ["Tools", "PluginTools"]:
             return
-        
+
         editor = ericApp().getObject("ViewManager").activeWindow()
-        
+
         if name == "Tools":
             if not menu.isEmpty():
                 menu.addSeparator()
@@ -170,11 +178,11 @@
             act.setEnabled(editor is not None)
         elif name == "PluginTools" and self.__mainActions:
             self.__mainActions[-1].setEnabled(editor is not None)
-    
+
     def __editorOpened(self, editor):
         """
         Private slot called, when a new editor was opened.
-        
+
         @param editor reference to the new editor
         @type Editor
         """
@@ -188,11 +196,11 @@
             self.__editors[editor].append(act)
             self.__menu.setEnabled(True)
             editor.showMenu.connect(self.__editorShowMenu)
-    
+
     def __editorClosed(self, editor):
         """
         Private slot called, when an editor was closed.
-        
+
         @param editor reference to the editor
         @type Editor
         """
@@ -200,12 +208,12 @@
             del self.__editors[editor]
             if not self.__editors:
                 self.__menu.setEnabled(False)
-    
+
     def __editorShowMenu(self, menuName, menu, editor):
         """
         Private slot called, when the the editor context menu or a submenu is
         about to be shown.
-        
+
         @param menuName name of the menu to be shown
         @type str
         @param menu reference to the menu
@@ -213,10 +221,7 @@
         @param editor reference to the editor
         @type Editor
         """
-        if (
-            menuName == "Tools" and
-            self.__menu.menuAction() not in menu.actions()
-        ):
+        if menuName == "Tools" and self.__menu.menuAction() not in menu.actions():
             # Re-add our menu
             self.__editors[editor] = []
             if not menu.isEmpty():
@@ -224,12 +229,12 @@
                 self.__editors[editor].append(act)
             act = menu.addMenu(self.__menu)
             self.__editors[editor].append(act)
-    
+
     def __pyside2Pyqt(self, pyside, pyqt):
         """
         Private slot to convert the code of the current editor from PySide
         to PyQt.
-        
+
         @param pyside PySide variant (pyside2 or pyside6)
         @type str
         @param pyqt PyQt variant (pyqt5 or pyqt6)
@@ -238,12 +243,11 @@
         editor = ericApp().getObject("ViewManager").activeWindow()
         if editor is None:
             return
-        
+
         text = editor.text()
         if pyqt == "pyqt5" and pyside == "pyside2":
             newText = (
-                text
-                .replace("PySide2", "PyQt5")
+                text.replace("PySide2", "PyQt5")
                 .replace("Signal", "pyqtSignal")
                 .replace("Slot", "pyqtSlot")
                 .replace("Property", "pyqtProperty")
@@ -253,8 +257,7 @@
             )
         elif pyqt == "pyqt6" and pyside == "pyside6":
             newText = (
-                text
-                .replace("PySide6", "PyQt6")
+                text.replace("PySide6", "PyQt6")
                 .replace("Signal", "pyqtSignal")
                 .replace("Slot", "pyqtSlot")
                 .replace("Property", "pyqtProperty")
@@ -263,18 +266,18 @@
             )
         else:
             return
-        
+
         if newText != text:
             editor.beginUndoAction()
             editor.selectAll()
             editor.replaceSelectedText(newText)
             editor.endUndoAction()
-    
+
     def __pyqt2Pyside(self, pyqt, pyside):
         """
         Private slot to convert the code of the current editor from PyQt
         to PySide.
-        
+
         @param pyqt PyQt variant (pyqt5 or pyqt6)
         @type str
         @param pyside PySide variant (pyside2 or pyside6)
@@ -283,12 +286,11 @@
         editor = ericApp().getObject("ViewManager").activeWindow()
         if editor is None:
             return
-        
+
         text = editor.text()
         if pyqt == "pyqt5" and pyside == "pyside2":
             newText = (
-                text
-                .replace("PyQt5", "PySide2")
+                text.replace("PyQt5", "PySide2")
                 .replace("pyqtSignal", "Signal")
                 .replace("pyqtSlot", "Slot")
                 .replace("pyqtProperty", "Property")
@@ -298,8 +300,7 @@
             )
         elif pyqt == "pyqt6" and pyside == "pyside6":
             newText = (
-                text
-                .replace("PyQt6", "PySide6")
+                text.replace("PyQt6", "PySide6")
                 .replace("pyqtSignal", "Signal")
                 .replace("pyqtSlot", "Slot")
                 .replace("pyqtProperty", "Property")
@@ -308,12 +309,13 @@
             )
         else:
             return
-        
+
         if newText != text:
             editor.beginUndoAction()
             editor.selectAll()
             editor.replaceSelectedText(newText)
             editor.endUndoAction()
 
+
 #
 # eflag: noqa = M801

eric ide

mercurial