Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py

changeset 1076
6fb76985422b
parent 1075
75bfe8bd4243
child 1078
aeee8401e2ce
equal deleted inserted replaced
1075:75bfe8bd4243 1076:6fb76985422b
840 840
841 @param menu reference to the menu to be populated (QMenu) 841 @param menu reference to the menu to be populated (QMenu)
842 """ 842 """
843 menu.clear() 843 menu.clear()
844 844
845 # TODO: close torn off menus in the shutdown method (extend base class with this method) 845 self.subMenus = []
846
846 adminMenu = QMenu(self.trUtf8("Repository Administration"), menu) 847 adminMenu = QMenu(self.trUtf8("Repository Administration"), menu)
847 adminMenu.setTearOffEnabled(True) 848 adminMenu.setTearOffEnabled(True)
848 adminMenu.addAction(self.hgHeadsAct) 849 adminMenu.addAction(self.hgHeadsAct)
849 adminMenu.addAction(self.hgParentsAct) 850 adminMenu.addAction(self.hgParentsAct)
850 adminMenu.addAction(self.hgTipAct) 851 adminMenu.addAction(self.hgTipAct)
862 adminMenu.addSeparator() 863 adminMenu.addSeparator()
863 adminMenu.addAction(self.hgBackoutAct) 864 adminMenu.addAction(self.hgBackoutAct)
864 adminMenu.addAction(self.hgRollbackAct) 865 adminMenu.addAction(self.hgRollbackAct)
865 adminMenu.addSeparator() 866 adminMenu.addSeparator()
866 adminMenu.addAction(self.hgVerifyAct) 867 adminMenu.addAction(self.hgVerifyAct)
868 self.subMenus.append(adminMenu)
867 869
868 specialsMenu = QMenu(self.trUtf8("Specials"), menu) 870 specialsMenu = QMenu(self.trUtf8("Specials"), menu)
869 specialsMenu.setTearOffEnabled(True) 871 specialsMenu.setTearOffEnabled(True)
870 specialsMenu.addAction(self.hgPushForcedAct) 872 specialsMenu.addAction(self.hgPushForcedAct)
871 specialsMenu.addSeparator() 873 specialsMenu.addSeparator()
872 specialsMenu.addAction(self.hgServeAct) 874 specialsMenu.addAction(self.hgServeAct)
875 self.subMenus.append(specialsMenu)
873 876
874 bundleMenu = QMenu(self.trUtf8("Changegroup Management"), menu) 877 bundleMenu = QMenu(self.trUtf8("Changegroup Management"), menu)
875 bundleMenu.setTearOffEnabled(True) 878 bundleMenu.setTearOffEnabled(True)
876 bundleMenu.addAction(self.hgBundleAct) 879 bundleMenu.addAction(self.hgBundleAct)
877 bundleMenu.addAction(self.hgIdentifyBundleAct) 880 bundleMenu.addAction(self.hgIdentifyBundleAct)
878 bundleMenu.addAction(self.hgPreviewBundleAct) 881 bundleMenu.addAction(self.hgPreviewBundleAct)
879 bundleMenu.addAction(self.hgUnbundleAct) 882 bundleMenu.addAction(self.hgUnbundleAct)
883 self.subMenus.append(bundleMenu)
880 884
881 bisectMenu = QMenu(self.trUtf8("Bisect"), menu) 885 bisectMenu = QMenu(self.trUtf8("Bisect"), menu)
882 bisectMenu.setTearOffEnabled(True) 886 bisectMenu.setTearOffEnabled(True)
883 bisectMenu.addAction(self.hgBisectGoodAct) 887 bisectMenu.addAction(self.hgBisectGoodAct)
884 bisectMenu.addAction(self.hgBisectBadAct) 888 bisectMenu.addAction(self.hgBisectBadAct)
885 bisectMenu.addAction(self.hgBisectSkipAct) 889 bisectMenu.addAction(self.hgBisectSkipAct)
886 bisectMenu.addAction(self.hgBisectResetAct) 890 bisectMenu.addAction(self.hgBisectResetAct)
891 self.subMenus.append(bisectMenu)
887 892
888 extensionsMenu = QMenu(self.trUtf8("Extensions"), menu) 893 extensionsMenu = QMenu(self.trUtf8("Extensions"), menu)
889 extensionsMenu.aboutToShow.connect(self.__showExtensionMenu) 894 extensionsMenu.aboutToShow.connect(self.__showExtensionMenu)
890 self.extensionMenus = {} 895 self.extensionMenus = {}
891 for extensionMenuTitle in sorted(self.__extensionMenuTitles): 896 for extensionMenuTitle in sorted(self.__extensionMenuTitles):
954 menu.addSeparator() 959 menu.addSeparator()
955 menu.addAction(self.vcsPropsAct) 960 menu.addAction(self.vcsPropsAct)
956 menu.addSeparator() 961 menu.addSeparator()
957 menu.addAction(self.hgEditUserConfigAct) 962 menu.addAction(self.hgEditUserConfigAct)
958 menu.addAction(self.hgConfigAct) 963 menu.addAction(self.hgConfigAct)
964
965 def shutdown(self):
966 """
967 Public method to perform shutdown actions.
968 """
969 # close torn off sub menus
970 for menu in self.subMenus:
971 if menu.isTearOffMenuVisible():
972 menu.hideTearOffMenu()
973
974 # close torn off extension menus
975 for extensionName in self.extensionMenus:
976 menu = self.extensionMenus[extensionName].menu()
977 if menu.isTearOffMenuVisible():
978 menu.hideTearOffMenu()
959 979
960 def __showExtensionMenu(self): 980 def __showExtensionMenu(self):
961 """ 981 """
962 Private slot showing the extensions menu. 982 Private slot showing the extensions menu.
963 """ 983 """

eric ide

mercurial