PluginPySide2PyQt.py

Wed, 18 Dec 2013 15:48:49 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 18 Dec 2013 15:48:49 +0100
changeset 0
4e3bb54c22d7
child 7
4a49d6b87459
permissions
-rw-r--r--

PySide to PyQt4 converter project started.

0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de>
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the PySide to PyQt4 (and vice versa) plug-in.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from __future__ import unicode_literals # __IGNORE_WARNING__
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import os
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt4.QtCore import QObject, QTranslator
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from E5Gui.E5Application import e5App
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 # Start-Of-Header
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 name = "PySide to PyQt4 (and vice versa) Plug-in"
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 autoactivate = True
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 deactivateable = True
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 version = "0.1.0"
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 className = "PySide2PyQtPlugin"
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 packageName = "PySide2PyQt"
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 shortDescription = "Remove print() like debug statements."
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 longDescription = \
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """This plug-in implements a tool to convert a PySide file""" \
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """ to PyQt4 and vice versa. It works with the text of the""" \
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """ current editor."""
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 needsRestart = False
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 pyqtApi = 2
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 # End-Of-Header
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 error = ""
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 class PySide2PyQtPlugin(QObject):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 Class implementing the PySide to PyQt4 (and vice versa) plugin.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 def __init__(self, ui):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 Constructor
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 @param ui reference to the user interface object (UI.UserInterface)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 QObject.__init__(self, ui)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.__ui = ui
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.__translator = None
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 self.__loadTranslator()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 def activate(self):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 Public method to activate this plugin.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @return tuple of None and activation status (boolean)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 global error
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 error = "" # clear previous error
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.__ui.showMenu.connect(self.__populateMenu)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 return None, True
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 def deactivate(self):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 Public method to deactivate this plugin.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 self.__ui.showMenu.disconnect(self.__populateMenu)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 def __loadTranslator(self):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 Private method to load the translation file.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 if self.__ui is not None:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 loc = self.__ui.getLocale()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 if loc and loc != "C":
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 locale_dir = os.path.join(
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 os.path.dirname(__file__), "PySide2PyQt", "i18n")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 translation = "pyside2pyqt_{0}".format(loc)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 translator = QTranslator(None)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 loaded = translator.load(translation, locale_dir)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 if loaded:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.__translator = translator
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 e5App().installTranslator(self.__translator)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 else:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 print("Warning: translation file '{0}' could not be"
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 " loaded.".format(translation))
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 print("Using default.")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 def __populateMenu(self, name, menu):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 Private slot to populate the tools menu with our entries.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 @param name name of the menu (string)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 @param menu reference to the menu to be populated (QMenu)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 if name != "Tools":
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 return
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 editor = e5App().getObject("ViewManager").activeWindow()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 if editor is None:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 return
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 if not menu.isEmpty():
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 menu.addSeparator()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 menu.addAction(self.tr("PySide to PyQt4"), self.__pyside2Pyqt)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 menu.addAction(self.tr("PyQt4 to PySide"), self.__pyqt2Pyside)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 def __pyside2Pyqt(self):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 Private slot to convert the code of the current editor from PySide
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 to PyQt4.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 editor = e5App().getObject("ViewManager").activeWindow()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 if editor is None:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 return
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 text = editor.text()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 newText = (text
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 .replace("PySide", "PyQt4")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 .replace("Signal", "pyqtSignal")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 .replace("Slot", "pyqtSlot")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 .replace("Property", "pyqtProperty")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 .replace("pyside-uic", "pyuic4")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 .replace("pyside-rcc", "pyrcc4")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 .replace("pyside-lupdate", "pylupdate4")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 )
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 if newText != text:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 editor.beginUndoAction()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 editor.selectAll()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 editor.replaceSelectedText(newText)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 editor.endUndoAction()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 def __pyqt2Pyside(self):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 Private slot to convert the code of the current editor from PyQt4
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 to PySide.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 editor = e5App().getObject("ViewManager").activeWindow()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 if editor is None:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 return
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 text = editor.text()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 newText = (text
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 .replace("PyQt4", "PySide")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 .replace("pyqtSignal", "Signal")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 .replace("pyqtSlot", "Slot")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 .replace("pyqtProperty", "Property")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 .replace("pyuic4", "pyside-uic")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 .replace("pyrcc4", "pyside-rcc")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 .replace("pylupdate4", "pyside-lupdate")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 )
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 if newText != text:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 editor.beginUndoAction()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 editor.selectAll()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 editor.replaceSelectedText(newText)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 editor.endUndoAction()

eric ide

mercurial