Plugins/VcsPlugins/vcsMercurial/ShelveExtension/ProjectHelper.py

changeset 3291
58e95eea9b6d
parent 3290
dbb53746813f
child 3297
7b7e8124fb51
equal deleted inserted replaced
3290:dbb53746813f 3291:58e95eea9b6d
7 Module implementing the shelve extension project helper. 7 Module implementing the shelve extension project helper.
8 """ 8 """
9 9
10 from PyQt4.QtGui import QMenu 10 from PyQt4.QtGui import QMenu
11 11
12 from E5Gui.E5Action import E5Action
13 from E5Gui import E5MessageBox
14
12 from ..HgExtensionProjectHelper import HgExtensionProjectHelper 15 from ..HgExtensionProjectHelper import HgExtensionProjectHelper
13
14 from .shelve import Shelve
15 16
16 17
17 class ShelveProjectHelper(HgExtensionProjectHelper): 18 class ShelveProjectHelper(HgExtensionProjectHelper):
18 """ 19 """
19 Class implementing the queues extension project helper. 20 Class implementing the queues extension project helper.
26 27
27 def initActions(self): 28 def initActions(self):
28 """ 29 """
29 Public method to generate the action objects. 30 Public method to generate the action objects.
30 """ 31 """
32 self.hgShelveAct = E5Action(
33 self.tr('Shelve changes'),
34 self.tr('Shelve changes...'),
35 0, 0, self, 'mercurial_shelve')
36 self.hgShelveAct.setStatusTip(self.tr(
37 'Shelve all current changes of the project'
38 ))
39 self.hgShelveAct.setWhatsThis(self.tr(
40 """<b>Shelve changes</b>"""
41 """<p>This shelves all current changes of the project.</p>"""
42 ))
43 self.hgShelveAct.triggered[()].connect(self.__hgShelve)
44 self.actions.append(self.hgShelveAct)
31 45
32 def initMenu(self, mainMenu): 46 def initMenu(self, mainMenu):
33 """ 47 """
34 Public method to generate the extension menu. 48 Public method to generate the extension menu.
35 49
37 @return populated menu (QMenu) 51 @return populated menu (QMenu)
38 """ 52 """
39 menu = QMenu(self.menuTitle(), mainMenu) 53 menu = QMenu(self.menuTitle(), mainMenu)
40 menu.setTearOffEnabled(True) 54 menu.setTearOffEnabled(True)
41 55
56 menu.addAction(self.hgShelveAct)
57
42 return menu 58 return menu
43 59
44 def menuTitle(self): 60 def menuTitle(self):
45 """ 61 """
46 Public method to get the menu title. 62 Public method to get the menu title.
47 63
48 @return title of the menu (string) 64 @return title of the menu (string)
49 """ 65 """
50 return self.tr("Shelve") 66 return self.tr("Shelve")
67
68 def __hgShelve(self):
69 """
70 Private slot used to shelve all current changes.
71 """
72 shouldReopen = self.vcs.getExtensionObject("shelve")\
73 .hgShelve(self.project.getProjectPath())
74 if shouldReopen:
75 res = E5MessageBox.yesNo(
76 None,
77 self.tr("Shelve"),
78 self.tr("""The project should be reread. Do this now?"""),
79 yesDefault=True)
80 if res:
81 self.project.reopenProject()

eric ide

mercurial