Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py

changeset 1655
d2b583fdde1c
parent 1626
a77c8ea8582c
child 1879
194a055fff04
equal deleted inserted replaced
1654:08264848be08 1655:d2b583fdde1c
859 """<b>Change Phase</b>""" 859 """<b>Change Phase</b>"""
860 """<p>This changes the phase of revisions.</p>""" 860 """<p>This changes the phase of revisions.</p>"""
861 )) 861 ))
862 self.hgPhaseAct.triggered[()].connect(self.__hgPhase) 862 self.hgPhaseAct.triggered[()].connect(self.__hgPhase)
863 self.actions.append(self.hgPhaseAct) 863 self.actions.append(self.hgPhaseAct)
864
865 self.hgGraftAct = E5Action(self.trUtf8('Copy Changesets'),
866 UI.PixmapCache.getIcon("vcsGraft.png"),
867 self.trUtf8('Copy Changesets'),
868 0, 0, self, 'mercurial_graft')
869 self.hgGraftAct.setStatusTip(self.trUtf8(
870 'Copies changesets from another branch'
871 ))
872 self.hgGraftAct.setWhatsThis(self.trUtf8(
873 """<b>Copy Changesets</b>"""
874 """<p>This copies changesets from another branch on top of the"""
875 """ current working directory with the user, date and description"""
876 """ of the original changeset.</p>"""
877 ))
878 self.hgGraftAct.triggered[()].connect(self.__hgGraft)
879 self.actions.append(self.hgGraftAct)
880
881 self.hgGraftContinueAct = E5Action(
882 self.trUtf8('Continue Copying Session'),
883 self.trUtf8('Continue Copying Session'),
884 0, 0, self, 'mercurial_graft_continue')
885 self.hgGraftContinueAct.setStatusTip(self.trUtf8(
886 'Continue the last copying session after conflicts were resolved'
887 ))
888 self.hgGraftContinueAct.setWhatsThis(self.trUtf8(
889 """<b>Continue Copying Session</b>"""
890 """<p>This continues the last copying session after conflicts were"""
891 """ resolved.</p>"""
892 ))
893 self.hgGraftContinueAct.triggered[()].connect(self.__hgGraftContinue)
894 self.actions.append(self.hgGraftContinueAct)
864 895
865 def initMenu(self, menu): 896 def initMenu(self, menu):
866 """ 897 """
867 Public method to generate the VCS menu. 898 Public method to generate the VCS menu.
868 899
932 extensionName = self.__extensionMenuTitles[extensionMenuTitle] 963 extensionName = self.__extensionMenuTitles[extensionMenuTitle]
933 self.extensionMenus[extensionName] = self.__extensionsMenu.addMenu( 964 self.extensionMenus[extensionName] = self.__extensionsMenu.addMenu(
934 self.__extensions[extensionName].initMenu(self.__extensionsMenu)) 965 self.__extensions[extensionName].initMenu(self.__extensionsMenu))
935 self.vcs.activeExtensionsChanged.connect(self.__showExtensionMenu) 966 self.vcs.activeExtensionsChanged.connect(self.__showExtensionMenu)
936 967
968 if self.vcs.version >= (2, 0):
969 graftMenu = QMenu(self.trUtf8("Graft"), menu)
970 graftMenu.setIcon(UI.PixmapCache.getIcon("vcsGraft.png"))
971 graftMenu.setTearOffEnabled(True)
972 graftMenu.addAction(self.hgGraftAct)
973 graftMenu.addAction(self.hgGraftContinueAct)
974 else:
975 graftMenu = None
976
937 act = menu.addAction( 977 act = menu.addAction(
938 UI.PixmapCache.getIcon( 978 UI.PixmapCache.getIcon(
939 os.path.join("VcsPlugins", "vcsMercurial", "icons", "mercurial.png")), 979 os.path.join("VcsPlugins", "vcsMercurial", "icons", "mercurial.png")),
940 self.vcs.vcsName(), self._vcsInfoDisplay) 980 self.vcs.vcsName(), self._vcsInfoDisplay)
941 font = act.font() 981 font = act.font()
949 menu.addSeparator() 989 menu.addSeparator()
950 menu.addAction(self.vcsCommitAct) 990 menu.addAction(self.vcsCommitAct)
951 menu.addAction(self.hgOutgoingAct) 991 menu.addAction(self.hgOutgoingAct)
952 menu.addAction(self.hgPushAct) 992 menu.addAction(self.hgPushAct)
953 menu.addSeparator() 993 menu.addSeparator()
994 if graftMenu is not None:
995 menu.addMenu(graftMenu)
996 menu.addSeparator()
954 menu.addMenu(bundleMenu) 997 menu.addMenu(bundleMenu)
955 menu.addMenu(patchMenu) 998 menu.addMenu(patchMenu)
956 menu.addSeparator() 999 menu.addSeparator()
957 menu.addMenu(self.__extensionsMenu) 1000 menu.addMenu(self.__extensionsMenu)
958 menu.addSeparator() 1001 menu.addSeparator()
1308 def __hgPhase(self): 1351 def __hgPhase(self):
1309 """ 1352 """
1310 Private slot used to change the phase of revisions. 1353 Private slot used to change the phase of revisions.
1311 """ 1354 """
1312 self.vcs.hgPhase(self.project.ppath) 1355 self.vcs.hgPhase(self.project.ppath)
1356
1357 def __hgGraft(self):
1358 """
1359 Private slot used to copy changesets from another branch.
1360 """
1361 shouldReopen = self.vcs.hgGraft(self.project.getProjectPath())
1362 if shouldReopen:
1363 res = E5MessageBox.yesNo(None,
1364 self.trUtf8("Copy Changesets"),
1365 self.trUtf8("""The project should be reread. Do this now?"""),
1366 yesDefault=True)
1367 if res:
1368 self.project.reopenProject()
1369
1370 def __hgGraftContinue(self):
1371 """
1372 Private slot used to continue the last copying session after conflicts
1373 were resolved.
1374 """
1375 shouldReopen = self.vcs.hgGraftContinue(self.project.getProjectPath())
1376 if shouldReopen:
1377 res = E5MessageBox.yesNo(None,
1378 self.trUtf8("Copy Changesets (Continue)"),
1379 self.trUtf8("""The project should be reread. Do this now?"""),
1380 yesDefault=True)
1381 if res:
1382 self.project.reopenProject()

eric ide

mercurial