19 # Start-Of-Header |
19 # Start-Of-Header |
20 name = "PySide to PyQt (and vice versa) Plug-in" |
20 name = "PySide to PyQt (and vice versa) Plug-in" |
21 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
21 author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
22 autoactivate = True |
22 autoactivate = True |
23 deactivateable = True |
23 deactivateable = True |
24 version = "2.0.0" |
24 version = "2.0.1" |
25 className = "PySide2PyQtPlugin" |
25 className = "PySide2PyQtPlugin" |
26 packageName = "PySide2PyQt" |
26 packageName = "PySide2PyQt" |
27 shortDescription = "Convert PySide file to PyQt and vice versa" |
27 shortDescription = "Convert PySide file to PyQt and vice versa" |
28 longDescription = \ |
28 longDescription = \ |
29 """This plug-in implements a tool to convert a PySide file""" \ |
29 """This plug-in implements a tool to convert a PySide file""" \ |
88 self.__editorOpened) |
88 self.__editorOpened) |
89 e5App().getObject("ViewManager").editorClosedEd.disconnect( |
89 e5App().getObject("ViewManager").editorClosedEd.disconnect( |
90 self.__editorClosed) |
90 self.__editorClosed) |
91 |
91 |
92 for editor, acts in self.__editors.items(): |
92 for editor, acts in self.__editors.items(): |
|
93 editor.showMenu.disconnect(self.__editorShowMenu) |
93 menu = editor.getMenu("Tools") |
94 menu = editor.getMenu("Tools") |
94 if menu is not None: |
95 if menu is not None: |
95 for act in acts: |
96 for act in acts: |
96 menu.removeAction(act) |
97 menu.removeAction(act) |
97 self.__editors = {} |
98 self.__editors = {} |
162 act = menu.addSeparator() |
163 act = menu.addSeparator() |
163 self.__editors[editor].append(act) |
164 self.__editors[editor].append(act) |
164 act = menu.addMenu(self.__menu) |
165 act = menu.addMenu(self.__menu) |
165 self.__editors[editor].append(act) |
166 self.__editors[editor].append(act) |
166 self.__menu.setEnabled(True) |
167 self.__menu.setEnabled(True) |
|
168 editor.showMenu.connect(self.__editorShowMenu) |
167 |
169 |
168 def __editorClosed(self, editor): |
170 def __editorClosed(self, editor): |
169 """ |
171 """ |
170 Private slot called, when an editor was closed. |
172 Private slot called, when an editor was closed. |
171 |
173 |
175 del self.__editors[editor] |
177 del self.__editors[editor] |
176 if not self.__editors: |
178 if not self.__editors: |
177 self.__menu.setEnabled(False) |
179 self.__menu.setEnabled(False) |
178 except KeyError: |
180 except KeyError: |
179 pass |
181 pass |
|
182 |
|
183 def __editorShowMenu(self, menuName, menu, editor): |
|
184 """ |
|
185 Private slot called, when the the editor context menu or a submenu is |
|
186 about to be shown. |
|
187 |
|
188 @param menuName name of the menu to be shown (string) |
|
189 @param menu reference to the menu (QMenu) |
|
190 @param editor reference to the editor |
|
191 """ |
|
192 if menuName == "Tools": |
|
193 if self.__menu.menuAction() not in menu.actions(): |
|
194 # Re-add our menu |
|
195 self.__editors[editor] = [] |
|
196 if not menu.isEmpty(): |
|
197 act = menu.addSeparator() |
|
198 self.__editors[editor].append(act) |
|
199 act = menu.addMenu(self.__menu) |
|
200 self.__editors[editor].append(act) |
180 |
201 |
181 def __pyside2Pyqt(self): |
202 def __pyside2Pyqt(self): |
182 """ |
203 """ |
183 Private slot to convert the code of the current editor from PySide |
204 Private slot to convert the code of the current editor from PySide |
184 to PyQt. |
205 to PyQt. |