diff -r 540d92ba3749 -r 534d80d15217 PluginSplitMergeCamelCase.py --- a/PluginSplitMergeCamelCase.py Sun Mar 22 19:19:38 2015 +0100 +++ b/PluginSplitMergeCamelCase.py Fri Aug 28 11:57:45 2015 +0200 @@ -20,7 +20,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "2.0.2" +version = "2.1.0" className = "SplitMergeCamelCasePlugin" packageName = "SplitMergeCamelCase" shortDescription = "Split, merge or convert camel case text" @@ -56,6 +56,7 @@ self.__initMenu() self.__editors = {} + self.__mainActions = [] def activate(self): """ @@ -68,6 +69,14 @@ self.__ui.showMenu.connect(self.__populateMenu) + menu = self.__ui.getMenu("plugin_tools") + if menu is not None: + if not menu.isEmpty(): + act = menu.addSeparator() + self.__mainActions.append(act) + act = menu.addMenu(self.__menu) + self.__mainActions.append(act) + e5App().getObject("ViewManager").editorOpenedEd.connect( self.__editorOpened) e5App().getObject("ViewManager").editorClosedEd.connect( @@ -84,6 +93,12 @@ """ self.__ui.showMenu.disconnect(self.__populateMenu) + menu = self.__ui.getMenu("plugin_tools") + if menu is not None: + for act in self.__mainActions: + menu.removeAction(act) + self.__mainActions = [] + e5App().getObject("ViewManager").editorOpenedEd.disconnect( self.__editorOpened) e5App().getObject("ViewManager").editorClosedEd.disconnect( @@ -141,16 +156,19 @@ @param name name of the menu (string) @param menu reference to the menu to be populated (QMenu) """ - if name != "Tools": + if name not in ["Tools", "PluginTools"]: return editor = e5App().getObject("ViewManager").activeWindow() - if not menu.isEmpty(): - menu.addSeparator() - - act = menu.addMenu(self.__menu) - act.setEnabled(editor is not None and editor.selectedText() != '') + if name == "Tools": + if not menu.isEmpty(): + menu.addSeparator() + act = menu.addMenu(self.__menu) + act.setEnabled(editor is not None and editor.hasSelectedText()) + elif name == "PluginTools" and self.__mainActions: + self.__menu.setEnabled(editor is not None and + editor.hasSelectedText()) def __editorOpened(self, editor): """ @@ -198,7 +216,7 @@ act = menu.addMenu(self.__menu) self.__editors[editor].append(act) - self.__menu.setEnabled(editor.selectedText() != '') + self.__menu.setEnabled(editor.hasSelectedText()) def __applyChange(self, newText, editor): """