Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py

changeset 1071
ac0f74c0b870
parent 1066
a3dd41fd9ea8
child 1073
9f0c4b4eccb1
equal deleted inserted replaced
1070:0f4e3c9670f5 1071:ac0f74c0b870
17 from VCS.ProjectHelper import VcsProjectHelper 17 from VCS.ProjectHelper import VcsProjectHelper
18 18
19 from .BookmarksExtension.ProjectHelper import BookmarksProjectHelper 19 from .BookmarksExtension.ProjectHelper import BookmarksProjectHelper
20 from .QueuesExtension.ProjectHelper import QueuesProjectHelper 20 from .QueuesExtension.ProjectHelper import QueuesProjectHelper
21 from .FetchExtension.ProjectHelper import FetchProjectHelper 21 from .FetchExtension.ProjectHelper import FetchProjectHelper
22 from .PurgeExtension.ProjectHelper import PurgeProjectHelper
22 23
23 from E5Gui.E5Action import E5Action 24 from E5Gui.E5Action import E5Action
24 25
25 import UI.PixmapCache 26 import UI.PixmapCache
26 import Preferences 27 import Preferences
44 # instantiate the extensions 45 # instantiate the extensions
45 self.__extensions = { 46 self.__extensions = {
46 "bookmarks": BookmarksProjectHelper(), 47 "bookmarks": BookmarksProjectHelper(),
47 "mq": QueuesProjectHelper(), 48 "mq": QueuesProjectHelper(),
48 "fetch": FetchProjectHelper(), 49 "fetch": FetchProjectHelper(),
50 "purge": PurgeProjectHelper(),
49 } 51 }
52
53 # TODO: create a dictionary of menu titles to extension key to be used below
50 54
51 def setObjects(self, vcsObject, projectObject): 55 def setObjects(self, vcsObject, projectObject):
52 """ 56 """
53 Public method to set references to the vcs and project objects. 57 Public method to set references to the vcs and project objects.
54 58
831 835
832 @param menu reference to the menu to be populated (QMenu) 836 @param menu reference to the menu to be populated (QMenu)
833 """ 837 """
834 menu.clear() 838 menu.clear()
835 839
840 # TODO: make submenus tearable
836 adminMenu = QMenu(self.trUtf8("Repository Administration"), menu) 841 adminMenu = QMenu(self.trUtf8("Repository Administration"), menu)
837 adminMenu.addAction(self.hgHeadsAct) 842 adminMenu.addAction(self.hgHeadsAct)
838 adminMenu.addAction(self.hgParentsAct) 843 adminMenu.addAction(self.hgParentsAct)
839 adminMenu.addAction(self.hgTipAct) 844 adminMenu.addAction(self.hgTipAct)
840 adminMenu.addAction(self.hgShowBranchAct) 845 adminMenu.addAction(self.hgShowBranchAct)
872 bisectMenu.addAction(self.hgBisectResetAct) 877 bisectMenu.addAction(self.hgBisectResetAct)
873 878
874 extensionsMenu = QMenu(self.trUtf8("Extensions"), menu) 879 extensionsMenu = QMenu(self.trUtf8("Extensions"), menu)
875 extensionsMenu.aboutToShow.connect(self.__showExtensionMenu) 880 extensionsMenu.aboutToShow.connect(self.__showExtensionMenu)
876 self.extensionMenus = {} 881 self.extensionMenus = {}
877 for extensionName in self.__extensions: 882 # TODO: use extension menu titles for sorting
883 for extensionName in sorted(self.__extensions):
878 self.extensionMenus[extensionName] = extensionsMenu.addMenu( 884 self.extensionMenus[extensionName] = extensionsMenu.addMenu(
879 self.__extensions[extensionName].initMenu(extensionsMenu)) 885 self.__extensions[extensionName].initMenu(extensionsMenu))
880 886
881 act = menu.addAction( 887 act = menu.addAction(
882 UI.PixmapCache.getIcon( 888 UI.PixmapCache.getIcon(

eric ide

mercurial