PluginPySide2PyQt.py

changeset 30
2f978a55c8e3
parent 29
0083833659d1
child 32
0a7b90517f9e
equal deleted inserted replaced
29:0083833659d1 30:2f978a55c8e3
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.

eric ide

mercurial