Fri, 29 Jul 2011 19:01:14 +0200
Added code to start monitoring the Mercurial hgrc file when it was created by starting the hgrc file editor.
1078
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2011 Detlev Offenbach <detlev@die-offenbachs.de> |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the transplant extension project helper. |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from PyQt4.QtGui import QMenu |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from E5Gui.E5Action import E5Action |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from E5Gui import E5MessageBox |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
1087
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1078
diff
changeset
|
15 | from ..HgExtensionProjectHelper import HgExtensionProjectHelper |
1078
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
1090
41b2f212563c
Added an icon for the transplant action.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1087
diff
changeset
|
17 | import UI.PixmapCache |
41b2f212563c
Added an icon for the transplant action.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1087
diff
changeset
|
18 | |
1087
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1078
diff
changeset
|
19 | |
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1078
diff
changeset
|
20 | class TransplantProjectHelper(HgExtensionProjectHelper): |
1078
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | Class implementing the transplant extension project helper. |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | def __init__(self): |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | Constructor |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
1087
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1078
diff
changeset
|
28 | super().__init__() |
1078
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | def initActions(self): |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | Public method to generate the action objects. |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | self.hgTransplantAct = E5Action(self.trUtf8('Transplant Changesets'), |
1090
41b2f212563c
Added an icon for the transplant action.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1087
diff
changeset
|
35 | UI.PixmapCache.getIcon("vcsTransplant.png"), |
1078
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | self.trUtf8('Transplant Changesets'), |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | 0, 0, self, 'mercurial_transplant') |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | self.hgTransplantAct.setStatusTip(self.trUtf8( |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | 'Transplant changesets from another branch' |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | )) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | self.hgTransplantAct.setWhatsThis(self.trUtf8( |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """<b>Transplant Changesets</b>""" |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | """<p>This transplants changesets from another branch on top of the""" |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | """ current working directory with the log of the original changeset.</p>""" |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | )) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.hgTransplantAct.triggered[()].connect(self.__hgTransplant) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | self.actions.append(self.hgTransplantAct) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | self.hgTransplantContinueAct = E5Action( |
1092
1b149c2d9ae1
Some small tweaks to the transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1090
diff
changeset
|
50 | self.trUtf8('Continue Transplant Session'), |
1b149c2d9ae1
Some small tweaks to the transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1090
diff
changeset
|
51 | self.trUtf8('Continue Transplant Session'), |
1078
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | 0, 0, self, 'mercurial_transplant_continue') |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.hgTransplantContinueAct.setStatusTip(self.trUtf8( |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | 'Continue the last transplant session after repair' |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | )) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.hgTransplantContinueAct.setWhatsThis(self.trUtf8( |
1092
1b149c2d9ae1
Some small tweaks to the transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1090
diff
changeset
|
57 | """<b>Continue Transplant Session</b>""" |
1078
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | """<p>This continues the last transplant session after repair.</p>""" |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | )) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | self.hgTransplantContinueAct.triggered[()].connect(self.__hgTransplantContinue) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | self.actions.append(self.hgTransplantContinueAct) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | def initMenu(self, mainMenu): |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | Public method to generate the extension menu. |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | @param mainMenu reference to the main menu (QMenu) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | @return populated menu (QMenu) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | menu = QMenu(self.menuTitle(), mainMenu) |
1106
3e57cd52e0f6
Added icons to the Mercurial extensions menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1092
diff
changeset
|
71 | menu.setIcon(UI.PixmapCache.getIcon("vcsTransplant.png")) |
1078
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | menu.setTearOffEnabled(True) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | menu.addAction(self.hgTransplantAct) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | menu.addAction(self.hgTransplantContinueAct) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | return menu |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | def menuTitle(self): |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | Public method to get the menu title. |
1087
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1078
diff
changeset
|
82 | |
fb8cd56819a9
Changed the Mercurial extension interface code to use custom base classes instead of inheriting QObject directly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1078
diff
changeset
|
83 | @return title of the menu (string) |
1078
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | return self.trUtf8("Transplant") |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | def __hgTransplant(self): |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | Private slot used to transplant changesets from another branch. |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | shouldReopen = self.vcs.getExtensionObject("transplant")\ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | .hgTransplant(self.project.getProjectPath()) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | if shouldReopen: |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | res = E5MessageBox.yesNo(None, |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | self.trUtf8("Transplant Changesets"), |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | self.trUtf8("""The project should be reread. Do this now?"""), |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | yesDefault=True) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | if res: |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | self.project.reopenProject() |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | def __hgTransplantContinue(self): |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | Private slot used to continue the last transplant session after repair. |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | """ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | shouldReopen = self.vcs.getExtensionObject("transplant")\ |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | .hgTransplantContinue(self.project.getProjectPath()) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | if shouldReopen: |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | res = E5MessageBox.yesNo(None, |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | self.trUtf8("Transplant Changesets (Continue)"), |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.trUtf8("""The project should be reread. Do this now?"""), |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | yesDefault=True) |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | if res: |
aeee8401e2ce
Added support for the Mercurial transplant extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | self.project.reopenProject() |