Added actions to convert to/from PySide2. release-2.2.0

Sun, 20 May 2018 16:13:48 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 20 May 2018 16:13:48 +0200
changeset 43
25977715166f
parent 42
53379f82956b
child 44
4adcd3fd5637

Added actions to convert to/from PySide2.

ChangeLog file | annotate | diff | comparison | revisions
PluginPySide2PyQt.py file | annotate | diff | comparison | revisions
PluginPySide2PyQt.zip file | annotate | diff | comparison | revisions
PySide2PyQt.e4p file | annotate | diff | comparison | revisions
PySide2PyQt/Documentation/source/Plugin_Tools_PySide2PyQt.PluginPySide2PyQt.html file | annotate | diff | comparison | revisions
PySide2PyQt/i18n/pyside2pyqt_de.qm file | annotate | diff | comparison | revisions
PySide2PyQt/i18n/pyside2pyqt_de.ts file | annotate | diff | comparison | revisions
PySide2PyQt/i18n/pyside2pyqt_empty.ts file | annotate | diff | comparison | revisions
PySide2PyQt/i18n/pyside2pyqt_en.ts file | annotate | diff | comparison | revisions
PySide2PyQt/i18n/pyside2pyqt_es.ts file | annotate | diff | comparison | revisions
PySide2PyQt/i18n/pyside2pyqt_pt.ts file | annotate | diff | comparison | revisions
PySide2PyQt/i18n/pyside2pyqt_ru.ts file | annotate | diff | comparison | revisions
--- a/ChangeLog	Sun Dec 31 16:59:13 2017 +0100
+++ b/ChangeLog	Sun May 20 16:13:48 2018 +0200
@@ -1,5 +1,8 @@
 ChangeLog
 ---------
+Version 2.2.0:
+- added actions to convert to/from PySide2
+
 Version 2.1.1:
 - bug fixes
 
--- a/PluginPySide2PyQt.py	Sun Dec 31 16:59:13 2017 +0100
+++ b/PluginPySide2PyQt.py	Sun May 20 16:13:48 2018 +0200
@@ -21,12 +21,12 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "2.1.1"
+version = "2.2.0"
 className = "PySide2PyQtPlugin"
 packageName = "PySide2PyQt"
 shortDescription = "Convert PySide file to PyQt and vice versa"
 longDescription = \
-    """This plug-in implements a tool to convert a PySide file""" \
+    """This plug-in implements a tool to convert a PySide/PySide2 file""" \
     """ to PyQt4 or PyQt5 and vice versa. It works with the text of the""" \
     """ current editor."""
 needsRestart = False
@@ -137,14 +137,19 @@
         Private method to initialize the menu.
         """
         self.__menu = QMenu(self.tr("PySide to/from PyQt"))
-        self.__menu.addAction(self.tr("PySide to PyQt4"), self.__pyside2Pyqt)\
-            .setData("pyqt4")
-        self.__menu.addAction(self.tr("PySide to PyQt5"), self.__pyside2Pyqt)\
-            .setData("pyqt5")
-        self.__menu.addAction(self.tr("PyQt4 to PySide"), self.__pyqt2Pyside)\
-            .setData("pyqt4")
-        self.__menu.addAction(self.tr("PyQt5 to PySide"), self.__pyqt2Pyside)\
-            .setData("pyqt5")
+        self.__menu.addAction(self.tr("PySide to PyQt4"),
+                              lambda: self.__pyside2Pyqt("pyside", "pyqt4"))
+        self.__menu.addAction(self.tr("PySide to PyQt5"),
+                              lambda: self.__pyside2Pyqt("pyside", "pyqt5"))
+        self.__menu.addAction(self.tr("PySide2 to PyQt5"),
+                              lambda: self.__pyside2Pyqt("pyside2", "pyqt5"))
+        self.__menu.addSeparator()
+        self.__menu.addAction(self.tr("PyQt4 to PySide"),
+                              lambda: self.__pyqt2Pyside("pyqt4", "pyside"))
+        self.__menu.addAction(self.tr("PyQt5 to PySide2"),
+                              lambda: self.__pyqt2Pyside("pyqt5", "pyside2"))
+        self.__menu.addAction(self.tr("PyQt5 to PySide"),
+                              lambda: self.__pyqt2Pyside("pyqt5", "pyside"))
         self.__menu.setEnabled(False)
     
     def __populateMenu(self, name, menu):
@@ -216,21 +221,21 @@
                 act = menu.addMenu(self.__menu)
                 self.__editors[editor].append(act)
     
-    def __pyside2Pyqt(self):
+    def __pyside2Pyqt(self, pyside, pyqt):
         """
         Private slot to convert the code of the current editor from PySide
         to PyQt.
+        
+        @param pyside PySide variant (pyside or pyside2)
+        @type str
+        @param pyqt PyQt variant (pyqt4 or pyqt5)
+        @type str
         """
         editor = e5App().getObject("ViewManager").activeWindow()
         if editor is None:
             return
         
-        act = self.sender()
-        if act is None:
-            return
-        
         text = editor.text()
-        pyqt = act.data()
         if pyqt == "pyqt4":
             newText = (text
                        .replace("PySide", "PyQt4")
@@ -242,12 +247,15 @@
                        .replace("pyside-lupdate", "pylupdate4")
                        )
         elif pyqt == "pyqt5":
-            # Note: this code does no Qt4 to Qt5 conversion
             newText = (text
-                       .replace("PySide", "PyQt5")
                        .replace("Signal", "pyqtSignal")
                        .replace("Slot", "pyqtSlot")
                        .replace("Property", "pyqtProperty")
+                       .replace("PySide2", "PyQt5")
+                       .replace("pyside2-uic", "pyuic5")
+                       .replace("pyside2-rcc", "pyrcc5")
+                       .replace("pyside2-lupdate", "pylupdate5")
+                       .replace("PySide", "PyQt5")
                        .replace("pyside-uic", "pyuic5")
                        .replace("pyside-rcc", "pyrcc5")
                        .replace("pyside-lupdate", "pylupdate5")
@@ -261,21 +269,21 @@
             editor.replaceSelectedText(newText)
             editor.endUndoAction()
     
-    def __pyqt2Pyside(self):
+    def __pyqt2Pyside(self, pyqt, pyside):
         """
         Private slot to convert the code of the current editor from PyQt
         to PySide.
+        
+        @param pyqt PyQt variant (pyqt4 or pyqt5)
+        @type str
+        @param pyside PySide variant (pyside or pyside2)
+        @type str
         """
         editor = e5App().getObject("ViewManager").activeWindow()
         if editor is None:
             return
         
-        act = self.sender()
-        if act is None:
-            return
-        
         text = editor.text()
-        pyqt = act.data()
         if pyqt == "pyqt4":
             newText = (text
                        .replace("PyQt4", "PySide")
@@ -286,8 +294,7 @@
                        .replace("pyrcc4", "pyside-rcc")
                        .replace("pylupdate4", "pyside-lupdate")
                        )
-        elif pyqt == "pyqt5":
-            # Note: this code does no Qt4 to Qt5 conversion
+        elif pyqt == "pyqt5" and pyside == "pyside":
             newText = (text
                        .replace("PyQt5", "PySide")
                        .replace("pyqtSignal", "Signal")
@@ -297,6 +304,16 @@
                        .replace("pyrcc5", "pyside-rcc")
                        .replace("pylupdate5", "pyside-lupdate")
                        )
+        elif pyqt == "pyqt5" and pyside == "pyside2":
+            newText = (text
+                       .replace("PyQt5", "PySide2")
+                       .replace("pyqtSignal", "Signal")
+                       .replace("pyqtSlot", "Slot")
+                       .replace("pyqtProperty", "Property")
+                       .replace("pyuic5", "pyside2-uic")
+                       .replace("pyrcc5", "pyside2-rcc")
+                       .replace("pylupdate5", "pyside2-lupdate")
+                       )
         else:
             return
         
Binary file PluginPySide2PyQt.zip has changed
--- a/PySide2PyQt.e4p	Sun Dec 31 16:59:13 2017 +0100
+++ b/PySide2PyQt.e4p	Sun May 20 16:13:48 2018 +0200
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE Project SYSTEM "Project-5.1.dtd">
 <!-- eric project file for project PySide2PyQt -->
-<!-- Copyright (C) 2017 Detlev Offenbach, detlev@die-offenbachs.de -->
+<!-- Copyright (C) 2018 Detlev Offenbach, detlev@die-offenbachs.de -->
 <Project version="5.1">
   <Language>en_US</Language>
   <Hash>d994091d1e81ad5afcdcbc00ecea86f23163c696</Hash>
@@ -18,10 +18,10 @@
     <Source>PySide2PyQt/__init__.py</Source>
     <Source>__init__.py</Source>
   </Sources>
-  <Forms/>
   <Translations>
     <Translation>PySide2PyQt/i18n/pyside2pyqt_de.qm</Translation>
     <Translation>PySide2PyQt/i18n/pyside2pyqt_de.ts</Translation>
+    <Translation>PySide2PyQt/i18n/pyside2pyqt_empty.ts</Translation>
     <Translation>PySide2PyQt/i18n/pyside2pyqt_en.qm</Translation>
     <Translation>PySide2PyQt/i18n/pyside2pyqt_en.ts</Translation>
     <Translation>PySide2PyQt/i18n/pyside2pyqt_es.qm</Translation>
@@ -31,8 +31,6 @@
     <Translation>PySide2PyQt/i18n/pyside2pyqt_ru.qm</Translation>
     <Translation>PySide2PyQt/i18n/pyside2pyqt_ru.ts</Translation>
   </Translations>
-  <Resources/>
-  <Interfaces/>
   <Others>
     <Other>.hgignore</Other>
     <Other>ChangeLog</Other>
--- a/PySide2PyQt/Documentation/source/Plugin_Tools_PySide2PyQt.PluginPySide2PyQt.html	Sun Dec 31 16:59:13 2017 +0100
+++ b/PySide2PyQt/Documentation/source/Plugin_Tools_PySide2PyQt.PluginPySide2PyQt.html	Sun May 20 16:13:48 2018 +0200
@@ -167,17 +167,33 @@
 </dd>
 </dl><a NAME="PySide2PyQtPlugin.__pyqt2Pyside" ID="PySide2PyQtPlugin.__pyqt2Pyside"></a>
 <h4>PySide2PyQtPlugin.__pyqt2Pyside</h4>
-<b>__pyqt2Pyside</b>(<i></i>)
+<b>__pyqt2Pyside</b>(<i>pyqt, pyside</i>)
 <p>
         Private slot to convert the code of the current editor from PyQt
         to PySide.
-</p><a NAME="PySide2PyQtPlugin.__pyside2Pyqt" ID="PySide2PyQtPlugin.__pyside2Pyqt"></a>
+</p><dl>
+<dt><i>pyqt</i> (str)</dt>
+<dd>
+PyQt variant (pyqt4 or pyqt5)
+</dd><dt><i>pyside</i> (str)</dt>
+<dd>
+PySide variant (pyside or pyside2)
+</dd>
+</dl><a NAME="PySide2PyQtPlugin.__pyside2Pyqt" ID="PySide2PyQtPlugin.__pyside2Pyqt"></a>
 <h4>PySide2PyQtPlugin.__pyside2Pyqt</h4>
-<b>__pyside2Pyqt</b>(<i></i>)
+<b>__pyside2Pyqt</b>(<i>pyside, pyqt</i>)
 <p>
         Private slot to convert the code of the current editor from PySide
         to PyQt.
-</p><a NAME="PySide2PyQtPlugin.activate" ID="PySide2PyQtPlugin.activate"></a>
+</p><dl>
+<dt><i>pyside</i> (str)</dt>
+<dd>
+PySide variant (pyside or pyside2)
+</dd><dt><i>pyqt</i> (str)</dt>
+<dd>
+PyQt variant (pyqt4 or pyqt5)
+</dd>
+</dl><a NAME="PySide2PyQtPlugin.activate" ID="PySide2PyQtPlugin.activate"></a>
 <h4>PySide2PyQtPlugin.activate</h4>
 <b>activate</b>(<i></i>)
 <p>
Binary file PySide2PyQt/i18n/pyside2pyqt_de.qm has changed
--- a/PySide2PyQt/i18n/pyside2pyqt_de.ts	Sun Dec 31 16:59:13 2017 +0100
+++ b/PySide2PyQt/i18n/pyside2pyqt_de.ts	Sun May 20 16:13:48 2018 +0200
@@ -1,31 +1,42 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de_DE" sourcelanguage="">
+<!DOCTYPE TS>
+<TS version="2.1" language="de_DE">
 <context>
     <name>PySide2PyQtPlugin</name>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="125"/>
+        <location filename="../../PluginPySide2PyQt.py" line="141"/>
         <source>PySide to PyQt4</source>
         <translation>PySide nach PyQt4</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="129"/>
+        <location filename="../../PluginPySide2PyQt.py" line="148"/>
         <source>PyQt4 to PySide</source>
         <translation>PyQt4 nach PySide</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="124"/>
+        <location filename="../../PluginPySide2PyQt.py" line="140"/>
         <source>PySide to/from PyQt</source>
         <translation>PySide von/nach PyQt</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="127"/>
+        <location filename="../../PluginPySide2PyQt.py" line="143"/>
         <source>PySide to PyQt5</source>
         <translation>PySide nach PyQt5</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="131"/>
+        <location filename="../../PluginPySide2PyQt.py" line="152"/>
         <source>PyQt5 to PySide</source>
         <translation>PyQt5 nach PySide</translation>
     </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="145"/>
+        <source>PySide2 to PyQt5</source>
+        <translation>PySide2 nach PyQt5</translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="150"/>
+        <source>PyQt5 to PySide2</source>
+        <translation>PyQt5 nach PySide2</translation>
+    </message>
 </context>
 </TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PySide2PyQt/i18n/pyside2pyqt_empty.ts	Sun May 20 16:13:48 2018 +0200
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="2.0">
+<context>
+    <name>PySide2PyQtPlugin</name>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="140"/>
+        <source>PySide to/from PyQt</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="141"/>
+        <source>PySide to PyQt4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="143"/>
+        <source>PySide to PyQt5</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="145"/>
+        <source>PySide2 to PyQt5</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="148"/>
+        <source>PyQt4 to PySide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="150"/>
+        <source>PyQt5 to PySide2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="152"/>
+        <source>PyQt5 to PySide</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>
--- a/PySide2PyQt/i18n/pyside2pyqt_en.ts	Sun Dec 31 16:59:13 2017 +0100
+++ b/PySide2PyQt/i18n/pyside2pyqt_en.ts	Sun May 20 16:13:48 2018 +0200
@@ -3,29 +3,39 @@
 <context>
     <name>PySide2PyQtPlugin</name>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="125"/>
+        <location filename="../../PluginPySide2PyQt.py" line="141"/>
         <source>PySide to PyQt4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="129"/>
+        <location filename="../../PluginPySide2PyQt.py" line="148"/>
         <source>PyQt4 to PySide</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="124"/>
+        <location filename="../../PluginPySide2PyQt.py" line="140"/>
         <source>PySide to/from PyQt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="127"/>
+        <location filename="../../PluginPySide2PyQt.py" line="143"/>
         <source>PySide to PyQt5</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="131"/>
+        <location filename="../../PluginPySide2PyQt.py" line="152"/>
         <source>PyQt5 to PySide</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="145"/>
+        <source>PySide2 to PyQt5</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="150"/>
+        <source>PyQt5 to PySide2</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
--- a/PySide2PyQt/i18n/pyside2pyqt_es.ts	Sun Dec 31 16:59:13 2017 +0100
+++ b/PySide2PyQt/i18n/pyside2pyqt_es.ts	Sun May 20 16:13:48 2018 +0200
@@ -3,29 +3,39 @@
 <context>
     <name>PySide2PyQtPlugin</name>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="125"/>
+        <location filename="../../PluginPySide2PyQt.py" line="141"/>
         <source>PySide to PyQt4</source>
         <translation>PySide a PyQt4</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="129"/>
+        <location filename="../../PluginPySide2PyQt.py" line="148"/>
         <source>PyQt4 to PySide</source>
         <translation>PyQt4 a PySide</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="124"/>
+        <location filename="../../PluginPySide2PyQt.py" line="140"/>
         <source>PySide to/from PyQt</source>
         <translation>PySide a/desde PyQt</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="127"/>
+        <location filename="../../PluginPySide2PyQt.py" line="143"/>
         <source>PySide to PyQt5</source>
         <translation>PySide a PyQt5</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="131"/>
+        <location filename="../../PluginPySide2PyQt.py" line="152"/>
         <source>PyQt5 to PySide</source>
         <translation>PyQt4 a PySide</translation>
     </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="145"/>
+        <source>PySide2 to PyQt5</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="150"/>
+        <source>PyQt5 to PySide2</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
--- a/PySide2PyQt/i18n/pyside2pyqt_pt.ts	Sun Dec 31 16:59:13 2017 +0100
+++ b/PySide2PyQt/i18n/pyside2pyqt_pt.ts	Sun May 20 16:13:48 2018 +0200
@@ -3,29 +3,39 @@
 <context>
     <name>PySide2PyQtPlugin</name>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="126"/>
+        <location filename="../../PluginPySide2PyQt.py" line="141"/>
         <source>PySide to PyQt4</source>
         <translation>PySide a PyQt4</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="130"/>
+        <location filename="../../PluginPySide2PyQt.py" line="148"/>
         <source>PyQt4 to PySide</source>
         <translation>PyQt4 a PySide</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="125"/>
+        <location filename="../../PluginPySide2PyQt.py" line="140"/>
         <source>PySide to/from PyQt</source>
         <translation>PySide de/a PyQt</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="128"/>
+        <location filename="../../PluginPySide2PyQt.py" line="143"/>
         <source>PySide to PyQt5</source>
         <translation>PySide a PyQt5</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="132"/>
+        <location filename="../../PluginPySide2PyQt.py" line="152"/>
         <source>PyQt5 to PySide</source>
         <translation>PyQt5 a PySide</translation>
     </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="145"/>
+        <source>PySide2 to PyQt5</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="150"/>
+        <source>PyQt5 to PySide2</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
--- a/PySide2PyQt/i18n/pyside2pyqt_ru.ts	Sun Dec 31 16:59:13 2017 +0100
+++ b/PySide2PyQt/i18n/pyside2pyqt_ru.ts	Sun May 20 16:13:48 2018 +0200
@@ -3,29 +3,39 @@
 <context>
     <name>PySide2PyQtPlugin</name>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="126"/>
+        <location filename="../../PluginPySide2PyQt.py" line="141"/>
         <source>PySide to PyQt4</source>
         <translation>PySide в PyQt4</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="130"/>
+        <location filename="../../PluginPySide2PyQt.py" line="148"/>
         <source>PyQt4 to PySide</source>
         <translation>PyQt4 в PySide</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="125"/>
+        <location filename="../../PluginPySide2PyQt.py" line="140"/>
         <source>PySide to/from PyQt</source>
         <translation>PySide в/из PyQt</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="128"/>
+        <location filename="../../PluginPySide2PyQt.py" line="143"/>
         <source>PySide to PyQt5</source>
         <translation>PySide в PyQt5</translation>
     </message>
     <message>
-        <location filename="../../PluginPySide2PyQt.py" line="132"/>
+        <location filename="../../PluginPySide2PyQt.py" line="152"/>
         <source>PyQt5 to PySide</source>
         <translation>PyQt5 в PySide</translation>
     </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="145"/>
+        <source>PySide2 to PyQt5</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../PluginPySide2PyQt.py" line="150"/>
+        <source>PyQt5 to PySide2</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>

eric ide

mercurial