PluginPySide2PyQt.py

Thu, 10 Jan 2019 14:21:09 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 10 Jan 2019 14:21:09 +0100
changeset 48
5260954cccf6
parent 46
be59c09708a8
child 49
406f0965f449
permissions
-rw-r--r--

Updated copyright for 2019.

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
48
5260954cccf6 Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 46
diff changeset
3 # Copyright (c) 2013 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
0
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 """
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
7 Module implementing the PySide to PyQt (and vice versa) plug-in.
0
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
21
757e8b5d9f5a Released as stable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 20
diff changeset
10 from __future__ import unicode_literals
0
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
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
14 from PyQt5.QtCore import QObject, QTranslator
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
15 from PyQt5.QtWidgets import QMenu
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from E5Gui.E5Application import e5App
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 # Start-Of-Header
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
20 name = "PySide to PyQt (and vice versa) Plug-in"
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 autoactivate = True
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 deactivateable = True
46
be59c09708a8 Prepared new release.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
24 version = "2.2.1"
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 className = "PySide2PyQtPlugin"
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 packageName = "PySide2PyQt"
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
27 shortDescription = "Convert PySide file to PyQt and vice versa"
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 longDescription = \
43
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
29 """This plug-in implements a tool to convert a PySide/PySide2 file""" \
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
30 """ to PyQt4 or PyQt5 and vice versa. It works with the text of the""" \
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """ current editor."""
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 needsRestart = False
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 pyqtApi = 2
21
757e8b5d9f5a Released as stable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 20
diff changeset
34 python2Compatible = True
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 # End-Of-Header
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 error = ""
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
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 PySide2PyQtPlugin(QObject):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 """
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
42 Class implementing the PySide to PyQt (and vice versa) plugin.
0
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 def __init__(self, ui):
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 Constructor
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 @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
49 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 QObject.__init__(self, ui)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.__ui = ui
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__translator = None
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 self.__loadTranslator()
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
55
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
56 self.__initMenu()
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
57
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
58 self.__editors = {}
36
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
59 self.__mainActions = []
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 def activate(self):
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 Public method to activate this plugin.
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 tuple of None and activation status (boolean)
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 global error
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 error = "" # clear previous error
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.__ui.showMenu.connect(self.__populateMenu)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71
36
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
72 menu = self.__ui.getMenu("plugin_tools")
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
73 if menu is not None:
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
74 if not menu.isEmpty():
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
75 act = menu.addSeparator()
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
76 self.__mainActions.append(act)
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
77 act = menu.addMenu(self.__menu)
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
78 self.__mainActions.append(act)
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
79
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
80 e5App().getObject("ViewManager").editorOpenedEd.connect(
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
81 self.__editorOpened)
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
82 e5App().getObject("ViewManager").editorClosedEd.connect(
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
83 self.__editorClosed)
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
84
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
85 for editor in e5App().getObject("ViewManager").getOpenEditors():
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
86 self.__editorOpened(editor)
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
87
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 return None, True
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 def deactivate(self):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 Public method to deactivate this plugin.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 self.__ui.showMenu.disconnect(self.__populateMenu)
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
95
36
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
96 menu = self.__ui.getMenu("plugin_tools")
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
97 if menu is not None:
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
98 for act in self.__mainActions:
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
99 menu.removeAction(act)
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
100 self.__mainActions = []
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
101
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
102 e5App().getObject("ViewManager").editorOpenedEd.disconnect(
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
103 self.__editorOpened)
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
104 e5App().getObject("ViewManager").editorClosedEd.disconnect(
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
105 self.__editorClosed)
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
106
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
107 for editor, acts in self.__editors.items():
30
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
108 editor.showMenu.disconnect(self.__editorShowMenu)
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
109 menu = editor.getMenu("Tools")
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
110 if menu is not None:
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
111 for act in acts:
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
112 menu.removeAction(act)
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
113 self.__editors = {}
0
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 def __loadTranslator(self):
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 Private method to load the translation file.
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 if self.__ui is not None:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 loc = self.__ui.getLocale()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 if loc and loc != "C":
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 locale_dir = os.path.join(
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 os.path.dirname(__file__), "PySide2PyQt", "i18n")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 translation = "pyside2pyqt_{0}".format(loc)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 translator = QTranslator(None)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 loaded = translator.load(translation, locale_dir)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 if loaded:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 self.__translator = translator
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 e5App().installTranslator(self.__translator)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 else:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 print("Warning: translation file '{0}' could not be"
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 " loaded.".format(translation))
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 print("Using default.")
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
135 def __initMenu(self):
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
136 """
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
137 Private method to initialize the menu.
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
138 """
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
139 self.__menu = QMenu(self.tr("PySide to/from PyQt"))
43
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
140 self.__menu.addAction(self.tr("PySide to PyQt4"),
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
141 lambda: self.__pyside2Pyqt("pyside", "pyqt4"))
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
142 self.__menu.addAction(self.tr("PySide to PyQt5"),
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
143 lambda: self.__pyside2Pyqt("pyside", "pyqt5"))
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
144 self.__menu.addAction(self.tr("PySide2 to PyQt5"),
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
145 lambda: self.__pyside2Pyqt("pyside2", "pyqt5"))
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
146 self.__menu.addSeparator()
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
147 self.__menu.addAction(self.tr("PyQt4 to PySide"),
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
148 lambda: self.__pyqt2Pyside("pyqt4", "pyside"))
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
149 self.__menu.addAction(self.tr("PyQt5 to PySide2"),
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
150 lambda: self.__pyqt2Pyside("pyqt5", "pyside2"))
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
151 self.__menu.addAction(self.tr("PyQt5 to PySide"),
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
152 lambda: self.__pyqt2Pyside("pyqt5", "pyside"))
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
153 self.__menu.setEnabled(False)
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
154
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 def __populateMenu(self, name, menu):
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 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
158
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 @param name name of the menu (string)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 @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
161 """
36
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
162 if name not in ["Tools", "PluginTools"]:
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 return
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 editor = e5App().getObject("ViewManager").activeWindow()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166
36
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
167 if name == "Tools":
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
168 if not menu.isEmpty():
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
169 menu.addSeparator()
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
170 act = menu.addMenu(self.__menu)
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
171 act.setEnabled(editor is not None)
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
172 elif name == "PluginTools" and self.__mainActions:
fa0e373b6c3c Adaptation for the new plug-in tools menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
173 self.__mainActions[-1].setEnabled(editor is not None)
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
175 def __editorOpened(self, editor):
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
176 """
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
177 Private slot called, when a new editor was opened.
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
178
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
179 @param editor reference to the new editor (QScintilla.Editor)
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
180 """
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
181 menu = editor.getMenu("Tools")
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
182 if menu is not None:
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
183 self.__editors[editor] = []
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
184 if not menu.isEmpty():
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
185 act = menu.addSeparator()
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
186 self.__editors[editor].append(act)
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
187 act = menu.addMenu(self.__menu)
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
188 self.__editors[editor].append(act)
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
189 self.__menu.setEnabled(True)
30
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
190 editor.showMenu.connect(self.__editorShowMenu)
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
191
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
192 def __editorClosed(self, editor):
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
193 """
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
194 Private slot called, when an editor was closed.
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
195
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
196 @param editor reference to the editor (QScintilla.Editor)
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
197 """
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
198 try:
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
199 del self.__editors[editor]
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
200 if not self.__editors:
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
201 self.__menu.setEnabled(False)
16
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
202 except KeyError:
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
203 pass
051e29b6bdd6 Added support for the editor Tools context menu (as of eric5 5.4.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
204
30
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
205 def __editorShowMenu(self, menuName, menu, editor):
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
206 """
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
207 Private slot called, when the the editor context menu or a submenu is
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
208 about to be shown.
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
209
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
210 @param menuName name of the menu to be shown (string)
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
211 @param menu reference to the menu (QMenu)
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
212 @param editor reference to the editor
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
213 """
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
214 if menuName == "Tools":
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
215 if self.__menu.menuAction() not in menu.actions():
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
216 # Re-add our menu
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
217 self.__editors[editor] = []
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
218 if not menu.isEmpty():
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
219 act = menu.addSeparator()
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
220 self.__editors[editor].append(act)
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
221 act = menu.addMenu(self.__menu)
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
222 self.__editors[editor].append(act)
2f978a55c8e3 Added code to repopulate the Tools menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 29
diff changeset
223
43
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
224 def __pyside2Pyqt(self, pyside, pyqt):
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 Private slot to convert the code of the current editor from PySide
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
227 to PyQt.
43
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
228
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
229 @param pyside PySide variant (pyside or pyside2)
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
230 @type str
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
231 @param pyqt PyQt variant (pyqt4 or pyqt5)
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
232 @type str
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 editor = e5App().getObject("ViewManager").activeWindow()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 if editor is None:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 return
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 text = editor.text()
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
239 if pyqt == "pyqt4":
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
240 newText = (text
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
241 .replace("PySide", "PyQt4")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
242 .replace("Signal", "pyqtSignal")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
243 .replace("Slot", "pyqtSlot")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
244 .replace("Property", "pyqtProperty")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
245 .replace("pyside-uic", "pyuic4")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
246 .replace("pyside-rcc", "pyrcc4")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
247 .replace("pyside-lupdate", "pylupdate4")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
248 )
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
249 elif pyqt == "pyqt5":
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
250 newText = (text
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
251 .replace("Signal", "pyqtSignal")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
252 .replace("Slot", "pyqtSlot")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
253 .replace("Property", "pyqtProperty")
43
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
254 .replace("PySide2", "PyQt5")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
255 .replace("pyside2-uic", "pyuic5")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
256 .replace("pyside2-rcc", "pyrcc5")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
257 .replace("pyside2-lupdate", "pylupdate5")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
258 .replace("PySide", "PyQt5")
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
259 .replace("pyside-uic", "pyuic5")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
260 .replace("pyside-rcc", "pyrcc5")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
261 .replace("pyside-lupdate", "pylupdate5")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
262 )
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
263 else:
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
264 return
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
265
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 if newText != text:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 editor.beginUndoAction()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 editor.selectAll()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 editor.replaceSelectedText(newText)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 editor.endUndoAction()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271
43
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
272 def __pyqt2Pyside(self, pyqt, pyside):
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 """
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
274 Private slot to convert the code of the current editor from PyQt
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 to PySide.
43
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
276
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
277 @param pyqt PyQt variant (pyqt4 or pyqt5)
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
278 @type str
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
279 @param pyside PySide variant (pyside or pyside2)
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
280 @type str
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 """
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 editor = e5App().getObject("ViewManager").activeWindow()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 if editor is None:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 return
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 text = editor.text()
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
287 if pyqt == "pyqt4":
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
288 newText = (text
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
289 .replace("PyQt4", "PySide")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
290 .replace("pyqtSignal", "Signal")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
291 .replace("pyqtSlot", "Slot")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
292 .replace("pyqtProperty", "Property")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
293 .replace("pyuic4", "pyside-uic")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
294 .replace("pyrcc4", "pyside-rcc")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
295 .replace("pylupdate4", "pyside-lupdate")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
296 )
43
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
297 elif pyqt == "pyqt5" and pyside == "pyside":
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
298 newText = (text
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
299 .replace("PyQt5", "PySide")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
300 .replace("pyqtSignal", "Signal")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
301 .replace("pyqtSlot", "Slot")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
302 .replace("pyqtProperty", "Property")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
303 .replace("pyuic5", "pyside-uic")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
304 .replace("pyrcc5", "pyside-rcc")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
305 .replace("pylupdate5", "pyside-lupdate")
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
306 )
43
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
307 elif pyqt == "pyqt5" and pyside == "pyside2":
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
308 newText = (text
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
309 .replace("PyQt5", "PySide2")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
310 .replace("pyqtSignal", "Signal")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
311 .replace("pyqtSlot", "Slot")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
312 .replace("pyqtProperty", "Property")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
313 .replace("pyuic5", "pyside2-uic")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
314 .replace("pyrcc5", "pyside2-rcc")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
315 .replace("pylupdate5", "pyside2-lupdate")
25977715166f Added actions to convert to/from PySide2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 42
diff changeset
316 )
24
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
317 else:
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
318 return
edefb5877e13 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
319
0
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 if newText != text:
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 editor.beginUndoAction()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 editor.selectAll()
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 editor.replaceSelectedText(newText)
4e3bb54c22d7 PySide to PyQt4 converter project started.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 editor.endUndoAction()
40
8cd070490a40 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
325
8cd070490a40 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
326 #
8cd070490a40 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
327 # eflag: noqa = M801

eric ide

mercurial