48 "mq": QueuesProjectHelper(), |
48 "mq": QueuesProjectHelper(), |
49 "fetch": FetchProjectHelper(), |
49 "fetch": FetchProjectHelper(), |
50 "purge": PurgeProjectHelper(), |
50 "purge": PurgeProjectHelper(), |
51 } |
51 } |
52 |
52 |
53 # TODO: create a dictionary of menu titles to extension key to be used below |
53 self.__extensionMenuTitles = {} |
|
54 for extension in self.__extensions: |
|
55 self.__extensionMenuTitles[self.__extensions[extension].menuTitle()] = \ |
|
56 extension |
54 |
57 |
55 def setObjects(self, vcsObject, projectObject): |
58 def setObjects(self, vcsObject, projectObject): |
56 """ |
59 """ |
57 Public method to set references to the vcs and project objects. |
60 Public method to set references to the vcs and project objects. |
58 |
61 |
835 |
838 |
836 @param menu reference to the menu to be populated (QMenu) |
839 @param menu reference to the menu to be populated (QMenu) |
837 """ |
840 """ |
838 menu.clear() |
841 menu.clear() |
839 |
842 |
840 # TODO: make submenus tearable |
|
841 adminMenu = QMenu(self.trUtf8("Repository Administration"), menu) |
843 adminMenu = QMenu(self.trUtf8("Repository Administration"), menu) |
842 adminMenu.setTearOffEnabled(True) |
844 adminMenu.setTearOffEnabled(True) |
843 adminMenu.addAction(self.hgHeadsAct) |
845 adminMenu.addAction(self.hgHeadsAct) |
844 adminMenu.addAction(self.hgParentsAct) |
846 adminMenu.addAction(self.hgParentsAct) |
845 adminMenu.addAction(self.hgTipAct) |
847 adminMenu.addAction(self.hgTipAct) |
881 bisectMenu.addAction(self.hgBisectResetAct) |
883 bisectMenu.addAction(self.hgBisectResetAct) |
882 |
884 |
883 extensionsMenu = QMenu(self.trUtf8("Extensions"), menu) |
885 extensionsMenu = QMenu(self.trUtf8("Extensions"), menu) |
884 extensionsMenu.aboutToShow.connect(self.__showExtensionMenu) |
886 extensionsMenu.aboutToShow.connect(self.__showExtensionMenu) |
885 self.extensionMenus = {} |
887 self.extensionMenus = {} |
886 # TODO: use extension menu titles for sorting |
888 for extensionMenuTitle in sorted(self.__extensionMenuTitles): |
887 for extensionName in sorted(self.__extensions): |
889 extensionName = self.__extensionMenuTitles[extensionMenuTitle] |
888 self.extensionMenus[extensionName] = extensionsMenu.addMenu( |
890 self.extensionMenus[extensionName] = extensionsMenu.addMenu( |
889 self.__extensions[extensionName].initMenu(extensionsMenu)) |
891 self.__extensions[extensionName].initMenu(extensionsMenu)) |
890 |
892 |
891 act = menu.addAction( |
893 act = menu.addAction( |
892 UI.PixmapCache.getIcon( |
894 UI.PixmapCache.getIcon( |