Tue, 02 Mar 2021 17:17:09 +0100
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
7010
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
3 | # Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
7010
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the closehead extension project helper. |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from PyQt5.QtWidgets import QMenu |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from E5Gui.E5Action import E5Action |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | from ..HgExtensionProjectHelper import HgExtensionProjectHelper |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | import UI.PixmapCache |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | class CloseheadProjectHelper(HgExtensionProjectHelper): |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | Class implementing the closehead extension project helper. |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | def __init__(self): |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | Constructor |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | super(CloseheadProjectHelper, self).__init__() |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | def initActions(self): |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | Public method to generate the action objects. |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | self.hgCloseheadAct = E5Action( |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | self.tr('Close Heads'), |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | UI.PixmapCache.getIcon("closehead"), |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | self.tr('Close Heads'), |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | 0, 0, self, 'mercurial_closehead') |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | self.hgCloseheadAct.setStatusTip(self.tr( |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | 'Close arbitrary heads without checking them out first' |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | )) |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | self.hgCloseheadAct.setWhatsThis(self.tr( |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """<b>Close Heads</b>""" |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | """<p>This closes arbitrary heads without the need to check them""" |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | """ out first.</p>""" |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | )) |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.hgCloseheadAct.triggered.connect(self.__hgClosehead) |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | self.actions.append(self.hgCloseheadAct) |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | def initMenu(self, mainMenu): |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | Public method to generate the extension menu. |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | @param mainMenu reference to the main menu |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | @type QMenu |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | @return populated menu (QMenu) |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | menu = QMenu(self.menuTitle(), mainMenu) |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | menu.setIcon(UI.PixmapCache.getIcon("closehead")) |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | menu.setTearOffEnabled(True) |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | menu.addAction(self.hgCloseheadAct) |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | return menu |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | def menuTitle(self): |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | Public method to get the menu title. |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | @return title of the menu |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | @rtype str |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | return self.tr("Close Heads") |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | def __hgClosehead(self): |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | """ |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | Private slot used to close arbitrary heads. |
5d6f5a69a952
Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | """ |
7970
c4ee8a81584c
Mercurial: started more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
78 | self.vcs.getExtensionObject("closehead").hgCloseheads() |