diff -r 014dd5f63240 -r 31a6f2b29967 PluginToolGenerateHash.py --- a/PluginToolGenerateHash.py Thu Jan 01 13:28:09 2015 +0100 +++ b/PluginToolGenerateHash.py Fri Jan 02 17:12:30 2015 +0100 @@ -23,7 +23,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "2.0.0" +version = "2.0.1" className = "ToolGenerateHashPlugin" packageName = "ToolGenerateHash" shortDescription = "Generate a hash for a selectable file or directory" @@ -191,6 +191,7 @@ self.__editors[editor].append(act) act = menu.addMenu(self.__dirMenu) self.__editors[editor].append(act) + editor.showMenu.connect(self.__editorShowMenu) self.__fileMenu.setEnabled(True) self.__dirMenu.setEnabled(True) @@ -209,6 +210,30 @@ except KeyError: pass + def __editorShowMenu(self, menuName, menu, editor): + """ + Private slot called, when the the editor context menu or a submenu is + about to be shown. + + @param menuName name of the menu to be shown (string) + @param menu reference to the menu (QMenu) + @param editor reference to the editor + """ + if menuName == "Tools": + if self.__fileMenu.menuAction() not in menu.actions(): + # Re-add our menu + self.__editors[editor] = [] + if not menu.isEmpty(): + act = menu.addSeparator() + self.__editors[editor].append(act) + act = menu.addMenu(self.__fileMenu) + self.__editors[editor].append(act) + act = menu.addMenu(self.__dirMenu) + self.__editors[editor].append(act) + + self.__fileMenu.setEnabled(True) + self.__dirMenu.setEnabled(True) + def __insertHash(self, hashStr): """ Private method to insert the generated hash string.