18 |
18 |
19 class PurgeProjectHelper(HgExtensionProjectHelper): |
19 class PurgeProjectHelper(HgExtensionProjectHelper): |
20 """ |
20 """ |
21 Class implementing the purge extension project helper. |
21 Class implementing the purge extension project helper. |
22 """ |
22 """ |
|
23 |
23 def __init__(self): |
24 def __init__(self): |
24 """ |
25 """ |
25 Constructor |
26 Constructor |
26 """ |
27 """ |
27 super().__init__() |
28 super().__init__() |
28 |
29 |
29 def initActions(self): |
30 def initActions(self): |
30 """ |
31 """ |
31 Public method to generate the action objects. |
32 Public method to generate the action objects. |
32 """ |
33 """ |
33 self.hgPurgeAct = EricAction( |
34 self.hgPurgeAct = EricAction( |
34 self.tr('Purge Files'), |
35 self.tr("Purge Files"), |
35 UI.PixmapCache.getIcon("fileDelete"), |
36 UI.PixmapCache.getIcon("fileDelete"), |
36 self.tr('Purge Files'), |
37 self.tr("Purge Files"), |
37 0, 0, self, 'mercurial_purge') |
38 0, |
38 self.hgPurgeAct.setStatusTip(self.tr( |
39 0, |
39 'Delete files and directories not known to Mercurial' |
40 self, |
40 )) |
41 "mercurial_purge", |
41 self.hgPurgeAct.setWhatsThis(self.tr( |
42 ) |
42 """<b>Purge Files</b>""" |
43 self.hgPurgeAct.setStatusTip( |
43 """<p>This deletes files and directories not known to Mercurial.""" |
44 self.tr("Delete files and directories not known to Mercurial") |
44 """ That means that purge will delete:<ul>""" |
45 ) |
45 """<li>unknown files (marked with "not tracked" in the status""" |
46 self.hgPurgeAct.setWhatsThis( |
46 """ dialog)</li>""" |
47 self.tr( |
47 """<li>empty directories</li>""" |
48 """<b>Purge Files</b>""" |
48 """</ul>Note that ignored files will be left untouched.</p>""" |
49 """<p>This deletes files and directories not known to Mercurial.""" |
49 )) |
50 """ That means that purge will delete:<ul>""" |
|
51 """<li>unknown files (marked with "not tracked" in the status""" |
|
52 """ dialog)</li>""" |
|
53 """<li>empty directories</li>""" |
|
54 """</ul>Note that ignored files will be left untouched.</p>""" |
|
55 ) |
|
56 ) |
50 self.hgPurgeAct.triggered.connect(self.__hgPurge) |
57 self.hgPurgeAct.triggered.connect(self.__hgPurge) |
51 self.actions.append(self.hgPurgeAct) |
58 self.actions.append(self.hgPurgeAct) |
52 |
59 |
53 self.hgPurgeAllAct = EricAction( |
60 self.hgPurgeAllAct = EricAction( |
54 self.tr('Purge All Files'), |
61 self.tr("Purge All Files"), |
55 self.tr('Purge All Files'), |
62 self.tr("Purge All Files"), |
56 0, 0, self, 'mercurial_purge_all') |
63 0, |
57 self.hgPurgeAllAct.setStatusTip(self.tr( |
64 0, |
58 'Delete files and directories not known to Mercurial including' |
65 self, |
59 ' ignored ones' |
66 "mercurial_purge_all", |
60 )) |
67 ) |
61 self.hgPurgeAllAct.setWhatsThis(self.tr( |
68 self.hgPurgeAllAct.setStatusTip( |
62 """<b>Purge All Files</b>""" |
69 self.tr( |
63 """<p>This deletes files and directories not known to Mercurial.""" |
70 "Delete files and directories not known to Mercurial including" |
64 """ That means that purge will delete:<ul>""" |
71 " ignored ones" |
65 """<li>unknown files (marked with "not tracked" in the status""" |
72 ) |
66 """ dialog)</li>""" |
73 ) |
67 """<li>empty directories</li>""" |
74 self.hgPurgeAllAct.setWhatsThis( |
68 """<li>ignored files and directories</li>""" |
75 self.tr( |
69 """</ul></p>""" |
76 """<b>Purge All Files</b>""" |
70 )) |
77 """<p>This deletes files and directories not known to Mercurial.""" |
|
78 """ That means that purge will delete:<ul>""" |
|
79 """<li>unknown files (marked with "not tracked" in the status""" |
|
80 """ dialog)</li>""" |
|
81 """<li>empty directories</li>""" |
|
82 """<li>ignored files and directories</li>""" |
|
83 """</ul></p>""" |
|
84 ) |
|
85 ) |
71 self.hgPurgeAllAct.triggered.connect(self.__hgPurgeAll) |
86 self.hgPurgeAllAct.triggered.connect(self.__hgPurgeAll) |
72 self.actions.append(self.hgPurgeAllAct) |
87 self.actions.append(self.hgPurgeAllAct) |
73 |
88 |
74 self.hgPurgeListAct = EricAction( |
89 self.hgPurgeListAct = EricAction( |
75 self.tr('List Files to be Purged'), |
90 self.tr("List Files to be Purged"), |
76 UI.PixmapCache.getIcon("fileDeleteList"), |
91 UI.PixmapCache.getIcon("fileDeleteList"), |
77 self.tr('List Files to be Purged...'), |
92 self.tr("List Files to be Purged..."), |
78 0, 0, self, 'mercurial_purge_list') |
93 0, |
79 self.hgPurgeListAct.setStatusTip(self.tr( |
94 0, |
80 'List files and directories not known to Mercurial' |
95 self, |
81 )) |
96 "mercurial_purge_list", |
82 self.hgPurgeListAct.setWhatsThis(self.tr( |
97 ) |
83 """<b>List Files to be Purged</b>""" |
98 self.hgPurgeListAct.setStatusTip( |
84 """<p>This lists files and directories not known to Mercurial.""" |
99 self.tr("List files and directories not known to Mercurial") |
85 """ These would be deleted by the "Purge Files" menu entry.</p>""" |
100 ) |
86 )) |
101 self.hgPurgeListAct.setWhatsThis( |
|
102 self.tr( |
|
103 """<b>List Files to be Purged</b>""" |
|
104 """<p>This lists files and directories not known to Mercurial.""" |
|
105 """ These would be deleted by the "Purge Files" menu entry.</p>""" |
|
106 ) |
|
107 ) |
87 self.hgPurgeListAct.triggered.connect(self.__hgPurgeList) |
108 self.hgPurgeListAct.triggered.connect(self.__hgPurgeList) |
88 self.actions.append(self.hgPurgeListAct) |
109 self.actions.append(self.hgPurgeListAct) |
89 |
110 |
90 self.hgPurgeAllListAct = EricAction( |
111 self.hgPurgeAllListAct = EricAction( |
91 self.tr('List All Files to be Purged'), |
112 self.tr("List All Files to be Purged"), |
92 self.tr('List All Files to be Purged...'), |
113 self.tr("List All Files to be Purged..."), |
93 0, 0, self, 'mercurial_purge_all_list') |
114 0, |
94 self.hgPurgeAllListAct.setStatusTip(self.tr( |
115 0, |
95 'List files and directories not known to Mercurial including' |
116 self, |
96 ' ignored ones' |
117 "mercurial_purge_all_list", |
97 )) |
118 ) |
98 self.hgPurgeAllListAct.setWhatsThis(self.tr( |
119 self.hgPurgeAllListAct.setStatusTip( |
99 """<b>List All Files to be Purged</b>""" |
120 self.tr( |
100 """<p>This lists files and directories not known to Mercurial""" |
121 "List files and directories not known to Mercurial including" |
101 """ including ignored ones. These would be deleted by the""" |
122 " ignored ones" |
102 """ "Purge All Files" menu entry.</p>""" |
123 ) |
103 )) |
124 ) |
|
125 self.hgPurgeAllListAct.setWhatsThis( |
|
126 self.tr( |
|
127 """<b>List All Files to be Purged</b>""" |
|
128 """<p>This lists files and directories not known to Mercurial""" |
|
129 """ including ignored ones. These would be deleted by the""" |
|
130 """ "Purge All Files" menu entry.</p>""" |
|
131 ) |
|
132 ) |
104 self.hgPurgeAllListAct.triggered.connect(self.__hgPurgeAllList) |
133 self.hgPurgeAllListAct.triggered.connect(self.__hgPurgeAllList) |
105 self.actions.append(self.hgPurgeAllListAct) |
134 self.actions.append(self.hgPurgeAllListAct) |
106 |
135 |
107 def initMenu(self, mainMenu): |
136 def initMenu(self, mainMenu): |
108 """ |
137 """ |
109 Public method to generate the extension menu. |
138 Public method to generate the extension menu. |
110 |
139 |
111 @param mainMenu reference to the main menu (QMenu) |
140 @param mainMenu reference to the main menu (QMenu) |
112 @return populated menu (QMenu) |
141 @return populated menu (QMenu) |
113 """ |
142 """ |
114 menu = QMenu(self.menuTitle(), mainMenu) |
143 menu = QMenu(self.menuTitle(), mainMenu) |
115 menu.setIcon(UI.PixmapCache.getIcon("fileDelete")) |
144 menu.setIcon(UI.PixmapCache.getIcon("fileDelete")) |
116 menu.setTearOffEnabled(True) |
145 menu.setTearOffEnabled(True) |
117 |
146 |
118 menu.addAction(self.hgPurgeAct) |
147 menu.addAction(self.hgPurgeAct) |
119 menu.addAction(self.hgPurgeAllAct) |
148 menu.addAction(self.hgPurgeAllAct) |
120 menu.addSeparator() |
149 menu.addSeparator() |
121 menu.addAction(self.hgPurgeListAct) |
150 menu.addAction(self.hgPurgeListAct) |
122 menu.addAction(self.hgPurgeAllListAct) |
151 menu.addAction(self.hgPurgeAllListAct) |
123 |
152 |
124 return menu |
153 return menu |
125 |
154 |
126 def menuTitle(self): |
155 def menuTitle(self): |
127 """ |
156 """ |
128 Public method to get the menu title. |
157 Public method to get the menu title. |
129 |
158 |
130 @return title of the menu (string) |
159 @return title of the menu (string) |
131 """ |
160 """ |
132 return self.tr("Purge") |
161 return self.tr("Purge") |
133 |
162 |
134 def __hgPurge(self): |
163 def __hgPurge(self): |
135 """ |
164 """ |
136 Private slot used to remove files not tracked by Mercurial. |
165 Private slot used to remove files not tracked by Mercurial. |
137 """ |
166 """ |
138 self.vcs.getExtensionObject("purge").hgPurge(deleteAll=False) |
167 self.vcs.getExtensionObject("purge").hgPurge(deleteAll=False) |
139 |
168 |
140 def __hgPurgeAll(self): |
169 def __hgPurgeAll(self): |
141 """ |
170 """ |
142 Private slot used to remove all files not tracked by Mercurial. |
171 Private slot used to remove all files not tracked by Mercurial. |
143 """ |
172 """ |
144 self.vcs.getExtensionObject("purge").hgPurge(deleteAll=True) |
173 self.vcs.getExtensionObject("purge").hgPurge(deleteAll=True) |
145 |
174 |
146 def __hgPurgeList(self): |
175 def __hgPurgeList(self): |
147 """ |
176 """ |
148 Private slot used to list files not tracked by Mercurial. |
177 Private slot used to list files not tracked by Mercurial. |
149 """ |
178 """ |
150 self.vcs.getExtensionObject("purge").hgPurgeList(deleteAll=False) |
179 self.vcs.getExtensionObject("purge").hgPurgeList(deleteAll=False) |
151 |
180 |
152 def __hgPurgeAllList(self): |
181 def __hgPurgeAllList(self): |
153 """ |
182 """ |
154 Private slot used to list all files not tracked by Mercurial. |
183 Private slot used to list all files not tracked by Mercurial. |
155 """ |
184 """ |
156 self.vcs.getExtensionObject("purge").hgPurgeList(deleteAll=True) |
185 self.vcs.getExtensionObject("purge").hgPurgeList(deleteAll=True) |