|
1 # -*- coding: utf-8 -*- |
|
2 |
|
3 # Copyright (c) 2005 - 2009 Detlev Offenbach <detlev@die-offenbachs.de> |
|
4 # |
|
5 |
|
6 """ |
|
7 Module implementing the VCS project helper for Subversion. |
|
8 """ |
|
9 |
|
10 import os |
|
11 |
|
12 from PyQt4.QtCore import * |
|
13 from PyQt4.QtGui import * |
|
14 |
|
15 from E4Gui.E4Application import e4App |
|
16 |
|
17 from VCS.ProjectHelper import VcsProjectHelper |
|
18 |
|
19 from E4Gui.E4Action import E4Action |
|
20 |
|
21 import UI.PixmapCache |
|
22 |
|
23 class SvnProjectHelper(VcsProjectHelper): |
|
24 """ |
|
25 Class implementing the VCS project helper for Subversion. |
|
26 """ |
|
27 def __init__(self, vcsObject, projectObject, parent = None, name = None): |
|
28 """ |
|
29 Constructor |
|
30 |
|
31 @param vcsObject reference to the vcs object |
|
32 @param projectObject reference to the project object |
|
33 @param parent parent widget (QWidget) |
|
34 @param name name of this object (string) |
|
35 """ |
|
36 VcsProjectHelper.__init__(self, vcsObject, projectObject, parent, name) |
|
37 |
|
38 def getActions(self): |
|
39 """ |
|
40 Public method to get a list of all actions. |
|
41 |
|
42 @return list of all actions (list of E4Action) |
|
43 """ |
|
44 return self.actions[:] |
|
45 |
|
46 def initActions(self): |
|
47 """ |
|
48 Public method to generate the action objects. |
|
49 """ |
|
50 self.vcsNewAct = E4Action(self.trUtf8('New from repository'), |
|
51 UI.PixmapCache.getIcon("vcsCheckout.png"), |
|
52 self.trUtf8('&New from repository...'), 0, 0, self, 'subversion_new') |
|
53 self.vcsNewAct.setStatusTip(self.trUtf8( |
|
54 'Create a new project from the VCS repository' |
|
55 )) |
|
56 self.vcsNewAct.setWhatsThis(self.trUtf8( |
|
57 """<b>New from repository</b>""" |
|
58 """<p>This creates a new local project from the VCS repository.</p>""" |
|
59 )) |
|
60 self.connect(self.vcsNewAct, SIGNAL('triggered()'), self._vcsCheckout) |
|
61 self.actions.append(self.vcsNewAct) |
|
62 |
|
63 self.vcsUpdateAct = E4Action(self.trUtf8('Update from repository'), |
|
64 UI.PixmapCache.getIcon("vcsUpdate.png"), |
|
65 self.trUtf8('&Update from repository'), 0, 0, self, |
|
66 'subversion_update') |
|
67 self.vcsUpdateAct.setStatusTip(self.trUtf8( |
|
68 'Update the local project from the VCS repository' |
|
69 )) |
|
70 self.vcsUpdateAct.setWhatsThis(self.trUtf8( |
|
71 """<b>Update from repository</b>""" |
|
72 """<p>This updates the local project from the VCS repository.</p>""" |
|
73 )) |
|
74 self.connect(self.vcsUpdateAct, SIGNAL('triggered()'), self._vcsUpdate) |
|
75 self.actions.append(self.vcsUpdateAct) |
|
76 |
|
77 self.vcsCommitAct = E4Action(self.trUtf8('Commit changes to repository'), |
|
78 UI.PixmapCache.getIcon("vcsCommit.png"), |
|
79 self.trUtf8('&Commit changes to repository...'), 0, 0, self, |
|
80 'subversion_commit') |
|
81 self.vcsCommitAct.setStatusTip(self.trUtf8( |
|
82 'Commit changes to the local project to the VCS repository' |
|
83 )) |
|
84 self.vcsCommitAct.setWhatsThis(self.trUtf8( |
|
85 """<b>Commit changes to repository</b>""" |
|
86 """<p>This commits changes to the local project to the VCS repository.</p>""" |
|
87 )) |
|
88 self.connect(self.vcsCommitAct, SIGNAL('triggered()'), self._vcsCommit) |
|
89 self.actions.append(self.vcsCommitAct) |
|
90 |
|
91 self.vcsAddAct = E4Action(self.trUtf8('Add to repository'), |
|
92 UI.PixmapCache.getIcon("vcsAdd.png"), |
|
93 self.trUtf8('&Add to repository...'), 0, 0, self, 'subversion_add') |
|
94 self.vcsAddAct.setStatusTip(self.trUtf8( |
|
95 'Add the local project to the VCS repository' |
|
96 )) |
|
97 self.vcsAddAct.setWhatsThis(self.trUtf8( |
|
98 """<b>Add to repository</b>""" |
|
99 """<p>This adds (imports) the local project to the VCS repository.</p>""" |
|
100 )) |
|
101 self.connect(self.vcsAddAct, SIGNAL('triggered()'), self._vcsImport) |
|
102 self.actions.append(self.vcsAddAct) |
|
103 |
|
104 self.vcsRemoveAct = E4Action(self.trUtf8('Remove from repository (and disk)'), |
|
105 UI.PixmapCache.getIcon("vcsRemove.png"), |
|
106 self.trUtf8('&Remove from repository (and disk)'), |
|
107 0, 0, self, 'subversion_remove') |
|
108 self.vcsRemoveAct.setStatusTip(self.trUtf8( |
|
109 'Remove the local project from the VCS repository (and disk)' |
|
110 )) |
|
111 self.vcsRemoveAct.setWhatsThis(self.trUtf8( |
|
112 """<b>Remove from repository</b>""" |
|
113 """<p>This removes the local project from the VCS repository""" |
|
114 """ (and disk).</p>""" |
|
115 )) |
|
116 self.connect(self.vcsRemoveAct, SIGNAL('triggered()'), self._vcsRemove) |
|
117 self.actions.append(self.vcsRemoveAct) |
|
118 |
|
119 self.vcsLogAct = E4Action(self.trUtf8('Show log'), |
|
120 UI.PixmapCache.getIcon("vcsLog.png"), |
|
121 self.trUtf8('Show &log'), |
|
122 0, 0, self, 'subversion_log') |
|
123 self.vcsLogAct.setStatusTip(self.trUtf8( |
|
124 'Show the log of the local project' |
|
125 )) |
|
126 self.vcsLogAct.setWhatsThis(self.trUtf8( |
|
127 """<b>Show log</b>""" |
|
128 """<p>This shows the log of the local project.</p>""" |
|
129 )) |
|
130 self.connect(self.vcsLogAct, SIGNAL('triggered()'), self._vcsLog) |
|
131 self.actions.append(self.vcsLogAct) |
|
132 |
|
133 self.svnLogLimitedAct = E4Action(self.trUtf8('Show limited log'), |
|
134 UI.PixmapCache.getIcon("vcsLog.png"), |
|
135 self.trUtf8('Show limited log'), |
|
136 0, 0, self, 'subversion_log_limited') |
|
137 self.svnLogLimitedAct.setStatusTip(self.trUtf8( |
|
138 'Show a limited log of the local project' |
|
139 )) |
|
140 self.svnLogLimitedAct.setWhatsThis(self.trUtf8( |
|
141 """<b>Show limited log</b>""" |
|
142 """<p>This shows the log of the local project limited to a selectable""" |
|
143 """ number of entries.</p>""" |
|
144 )) |
|
145 self.connect(self.svnLogLimitedAct, SIGNAL('triggered()'), self.__svnLogLimited) |
|
146 self.actions.append(self.svnLogLimitedAct) |
|
147 |
|
148 self.svnLogBrowserAct = E4Action(self.trUtf8('Show log browser'), |
|
149 UI.PixmapCache.getIcon("vcsLog.png"), |
|
150 self.trUtf8('Show log browser'), |
|
151 0, 0, self, 'subversion_log_browser') |
|
152 self.svnLogBrowserAct.setStatusTip(self.trUtf8( |
|
153 'Show a dialog to browse the log of the local project' |
|
154 )) |
|
155 self.svnLogBrowserAct.setWhatsThis(self.trUtf8( |
|
156 """<b>Show log browser</b>""" |
|
157 """<p>This shows a dialog to browse the log of the local project.""" |
|
158 """ A limited number of entries is shown first. More can be""" |
|
159 """ retrieved later on.</p>""" |
|
160 )) |
|
161 self.connect(self.svnLogBrowserAct, SIGNAL('triggered()'), self.__svnLogBrowser) |
|
162 self.actions.append(self.svnLogBrowserAct) |
|
163 |
|
164 self.vcsDiffAct = E4Action(self.trUtf8('Show difference'), |
|
165 UI.PixmapCache.getIcon("vcsDiff.png"), |
|
166 self.trUtf8('Show &difference'), |
|
167 0, 0, self, 'subversion_diff') |
|
168 self.vcsDiffAct.setStatusTip(self.trUtf8( |
|
169 'Show the difference of the local project to the repository' |
|
170 )) |
|
171 self.vcsDiffAct.setWhatsThis(self.trUtf8( |
|
172 """<b>Show difference</b>""" |
|
173 """<p>This shows the difference of the local project to the repository.</p>""" |
|
174 )) |
|
175 self.connect(self.vcsDiffAct, SIGNAL('triggered()'), self._vcsDiff) |
|
176 self.actions.append(self.vcsDiffAct) |
|
177 |
|
178 self.svnExtDiffAct = E4Action(self.trUtf8('Show difference (extended)'), |
|
179 UI.PixmapCache.getIcon("vcsDiff.png"), |
|
180 self.trUtf8('Show difference (extended)'), |
|
181 0, 0, self, 'subversion_extendeddiff') |
|
182 self.svnExtDiffAct.setStatusTip(self.trUtf8( |
|
183 'Show the difference of revisions of the project to the repository' |
|
184 )) |
|
185 self.svnExtDiffAct.setWhatsThis(self.trUtf8( |
|
186 """<b>Show difference (extended)</b>""" |
|
187 """<p>This shows the difference of selectable revisions of the project.</p>""" |
|
188 )) |
|
189 self.connect(self.svnExtDiffAct, SIGNAL('triggered()'), self.__svnExtendedDiff) |
|
190 self.actions.append(self.svnExtDiffAct) |
|
191 |
|
192 self.svnUrlDiffAct = E4Action(self.trUtf8('Show difference (URLs)'), |
|
193 UI.PixmapCache.getIcon("vcsDiff.png"), |
|
194 self.trUtf8('Show difference (URLs)'), |
|
195 0, 0, self, 'subversion_urldiff') |
|
196 self.svnUrlDiffAct.setStatusTip(self.trUtf8( |
|
197 'Show the difference of the project between two repository URLs' |
|
198 )) |
|
199 self.svnUrlDiffAct.setWhatsThis(self.trUtf8( |
|
200 """<b>Show difference (URLs)</b>""" |
|
201 """<p>This shows the difference of the project between""" |
|
202 """ two repository URLs.</p>""" |
|
203 )) |
|
204 self.connect(self.svnUrlDiffAct, SIGNAL('triggered()'), self.__svnUrlDiff) |
|
205 self.actions.append(self.svnUrlDiffAct) |
|
206 |
|
207 self.vcsStatusAct = E4Action(self.trUtf8('Show status'), |
|
208 UI.PixmapCache.getIcon("vcsStatus.png"), |
|
209 self.trUtf8('Show &status'), |
|
210 0, 0, self, 'subversion_status') |
|
211 self.vcsStatusAct.setStatusTip(self.trUtf8( |
|
212 'Show the status of the local project' |
|
213 )) |
|
214 self.vcsStatusAct.setWhatsThis(self.trUtf8( |
|
215 """<b>Show status</b>""" |
|
216 """<p>This shows the status of the local project.</p>""" |
|
217 )) |
|
218 self.connect(self.vcsStatusAct, SIGNAL('triggered()'), self._vcsStatus) |
|
219 self.actions.append(self.vcsStatusAct) |
|
220 |
|
221 self.vcsTagAct = E4Action(self.trUtf8('Tag in repository'), |
|
222 UI.PixmapCache.getIcon("vcsTag.png"), |
|
223 self.trUtf8('&Tag in repository...'), |
|
224 0, 0, self, 'subversion_tag') |
|
225 self.vcsTagAct.setStatusTip(self.trUtf8( |
|
226 'Tag the local project in the repository' |
|
227 )) |
|
228 self.vcsTagAct.setWhatsThis(self.trUtf8( |
|
229 """<b>Tag in repository</b>""" |
|
230 """<p>This tags the local project in the repository.</p>""" |
|
231 )) |
|
232 self.connect(self.vcsTagAct, SIGNAL('triggered()'), self._vcsTag) |
|
233 self.actions.append(self.vcsTagAct) |
|
234 |
|
235 self.vcsExportAct = E4Action(self.trUtf8('Export from repository'), |
|
236 UI.PixmapCache.getIcon("vcsExport.png"), |
|
237 self.trUtf8('&Export from repository...'), |
|
238 0, 0, self, 'subversion_export') |
|
239 self.vcsExportAct.setStatusTip(self.trUtf8( |
|
240 'Export a project from the repository' |
|
241 )) |
|
242 self.vcsExportAct.setWhatsThis(self.trUtf8( |
|
243 """<b>Export from repository</b>""" |
|
244 """<p>This exports a project from the repository.</p>""" |
|
245 )) |
|
246 self.connect(self.vcsExportAct, SIGNAL('triggered()'), self._vcsExport) |
|
247 self.actions.append(self.vcsExportAct) |
|
248 |
|
249 self.vcsPropsAct = E4Action(self.trUtf8('Command options'), |
|
250 self.trUtf8('Command &options...'),0,0,self, |
|
251 'subversion_options') |
|
252 self.vcsPropsAct.setStatusTip(self.trUtf8('Show the VCS command options')) |
|
253 self.vcsPropsAct.setWhatsThis(self.trUtf8( |
|
254 """<b>Command options...</b>""" |
|
255 """<p>This shows a dialog to edit the VCS command options.</p>""" |
|
256 )) |
|
257 self.connect(self.vcsPropsAct, SIGNAL('triggered()'), self._vcsCommandOptions) |
|
258 self.actions.append(self.vcsPropsAct) |
|
259 |
|
260 self.vcsRevertAct = E4Action(self.trUtf8('Revert changes'), |
|
261 UI.PixmapCache.getIcon("vcsRevert.png"), |
|
262 self.trUtf8('Re&vert changes'), |
|
263 0, 0, self, 'subversion_revert') |
|
264 self.vcsRevertAct.setStatusTip(self.trUtf8( |
|
265 'Revert all changes made to the local project' |
|
266 )) |
|
267 self.vcsRevertAct.setWhatsThis(self.trUtf8( |
|
268 """<b>Revert changes</b>""" |
|
269 """<p>This reverts all changes made to the local project.</p>""" |
|
270 )) |
|
271 self.connect(self.vcsRevertAct, SIGNAL('triggered()'), self._vcsRevert) |
|
272 self.actions.append(self.vcsRevertAct) |
|
273 |
|
274 self.vcsMergeAct = E4Action(self.trUtf8('Merge'), |
|
275 UI.PixmapCache.getIcon("vcsMerge.png"), |
|
276 self.trUtf8('Mer&ge changes...'), |
|
277 0, 0, self, 'subversion_merge') |
|
278 self.vcsMergeAct.setStatusTip(self.trUtf8( |
|
279 'Merge changes of a tag/revision into the local project' |
|
280 )) |
|
281 self.vcsMergeAct.setWhatsThis(self.trUtf8( |
|
282 """<b>Merge</b>""" |
|
283 """<p>This merges changes of a tag/revision into the local project.</p>""" |
|
284 )) |
|
285 self.connect(self.vcsMergeAct, SIGNAL('triggered()'), self._vcsMerge) |
|
286 self.actions.append(self.vcsMergeAct) |
|
287 |
|
288 self.vcsSwitchAct = E4Action(self.trUtf8('Switch'), |
|
289 UI.PixmapCache.getIcon("vcsSwitch.png"), |
|
290 self.trUtf8('S&witch...'), |
|
291 0, 0, self, 'subversion_switch') |
|
292 self.vcsSwitchAct.setStatusTip(self.trUtf8( |
|
293 'Switch the local copy to another tag/branch' |
|
294 )) |
|
295 self.vcsSwitchAct.setWhatsThis(self.trUtf8( |
|
296 """<b>Switch</b>""" |
|
297 """<p>This switches the local copy to another tag/branch.</p>""" |
|
298 )) |
|
299 self.connect(self.vcsSwitchAct, SIGNAL('triggered()'), self._vcsSwitch) |
|
300 self.actions.append(self.vcsSwitchAct) |
|
301 |
|
302 self.vcsResolveAct = E4Action(self.trUtf8('Resolve conflicts'), |
|
303 self.trUtf8('Resolve con&flicts'), |
|
304 0, 0, self, 'subversion_resolve') |
|
305 self.vcsResolveAct.setStatusTip(self.trUtf8( |
|
306 'Resolve all conflicts of the local project' |
|
307 )) |
|
308 self.vcsResolveAct.setWhatsThis(self.trUtf8( |
|
309 """<b>Resolve conflicts</b>""" |
|
310 """<p>This resolves all conflicts of the local project.</p>""" |
|
311 )) |
|
312 self.connect(self.vcsResolveAct, SIGNAL('triggered()'), self.__svnResolve) |
|
313 self.actions.append(self.vcsResolveAct) |
|
314 |
|
315 self.vcsCleanupAct = E4Action(self.trUtf8('Cleanup'), |
|
316 self.trUtf8('Cleanu&p'), |
|
317 0, 0, self, 'subversion_cleanup') |
|
318 self.vcsCleanupAct.setStatusTip(self.trUtf8( |
|
319 'Cleanup the local project' |
|
320 )) |
|
321 self.vcsCleanupAct.setWhatsThis(self.trUtf8( |
|
322 """<b>Cleanup</b>""" |
|
323 """<p>This performs a cleanup of the local project.</p>""" |
|
324 )) |
|
325 self.connect(self.vcsCleanupAct, SIGNAL('triggered()'), self._vcsCleanup) |
|
326 self.actions.append(self.vcsCleanupAct) |
|
327 |
|
328 self.vcsCommandAct = E4Action(self.trUtf8('Execute command'), |
|
329 self.trUtf8('E&xecute command...'), |
|
330 0, 0, self, 'subversion_command') |
|
331 self.vcsCommandAct.setStatusTip(self.trUtf8( |
|
332 'Execute an arbitrary VCS command' |
|
333 )) |
|
334 self.vcsCommandAct.setWhatsThis(self.trUtf8( |
|
335 """<b>Execute command</b>""" |
|
336 """<p>This opens a dialog to enter an arbitrary VCS command.</p>""" |
|
337 )) |
|
338 self.connect(self.vcsCommandAct, SIGNAL('triggered()'), self._vcsCommand) |
|
339 self.actions.append(self.vcsCommandAct) |
|
340 |
|
341 self.svnTagListAct = E4Action(self.trUtf8('List tags'), |
|
342 self.trUtf8('List tags...'), |
|
343 0, 0, self, 'subversion_list_tags') |
|
344 self.svnTagListAct.setStatusTip(self.trUtf8( |
|
345 'List tags of the project' |
|
346 )) |
|
347 self.svnTagListAct.setWhatsThis(self.trUtf8( |
|
348 """<b>List tags</b>""" |
|
349 """<p>This lists the tags of the project.</p>""" |
|
350 )) |
|
351 self.connect(self.svnTagListAct, SIGNAL('triggered()'), self.__svnTagList) |
|
352 self.actions.append(self.svnTagListAct) |
|
353 |
|
354 self.svnBranchListAct = E4Action(self.trUtf8('List branches'), |
|
355 self.trUtf8('List branches...'), |
|
356 0, 0, self, 'subversion_list_branches') |
|
357 self.svnBranchListAct.setStatusTip(self.trUtf8( |
|
358 'List branches of the project' |
|
359 )) |
|
360 self.svnBranchListAct.setWhatsThis(self.trUtf8( |
|
361 """<b>List branches</b>""" |
|
362 """<p>This lists the branches of the project.</p>""" |
|
363 )) |
|
364 self.connect(self.svnBranchListAct, SIGNAL('triggered()'), self.__svnBranchList) |
|
365 self.actions.append(self.svnBranchListAct) |
|
366 |
|
367 self.svnListAct = E4Action(self.trUtf8('List repository contents'), |
|
368 self.trUtf8('List repository contents...'), |
|
369 0, 0, self, 'subversion_contents') |
|
370 self.svnListAct.setStatusTip(self.trUtf8( |
|
371 'Lists the contents of the repository' |
|
372 )) |
|
373 self.svnListAct.setWhatsThis(self.trUtf8( |
|
374 """<b>List repository contents</b>""" |
|
375 """<p>This lists the contents of the repository.</p>""" |
|
376 )) |
|
377 self.connect(self.svnListAct, SIGNAL('triggered()'), self.__svnTagList) |
|
378 self.actions.append(self.svnListAct) |
|
379 |
|
380 self.svnPropSetAct = E4Action(self.trUtf8('Set Property'), |
|
381 self.trUtf8('Set Property...'), |
|
382 0, 0, self, 'subversion_property_set') |
|
383 self.svnPropSetAct.setStatusTip(self.trUtf8( |
|
384 'Set a property for the project files' |
|
385 )) |
|
386 self.svnPropSetAct.setWhatsThis(self.trUtf8( |
|
387 """<b>Set Property</b>""" |
|
388 """<p>This sets a property for the project files.</p>""" |
|
389 )) |
|
390 self.connect(self.svnPropSetAct, SIGNAL('triggered()'), self.__svnPropSet) |
|
391 self.actions.append(self.svnPropSetAct) |
|
392 |
|
393 self.svnPropListAct = E4Action(self.trUtf8('List Properties'), |
|
394 self.trUtf8('List Properties...'), |
|
395 0, 0, self, 'subversion_property_list') |
|
396 self.svnPropListAct.setStatusTip(self.trUtf8( |
|
397 'List properties of the project files' |
|
398 )) |
|
399 self.svnPropListAct.setWhatsThis(self.trUtf8( |
|
400 """<b>List Properties</b>""" |
|
401 """<p>This lists the properties of the project files.</p>""" |
|
402 )) |
|
403 self.connect(self.svnPropListAct, SIGNAL('triggered()'), self.__svnPropList) |
|
404 self.actions.append(self.svnPropListAct) |
|
405 |
|
406 self.svnPropDelAct = E4Action(self.trUtf8('Delete Property'), |
|
407 self.trUtf8('Delete Property...'), |
|
408 0, 0, self, 'subversion_property_delete') |
|
409 self.svnPropDelAct.setStatusTip(self.trUtf8( |
|
410 'Delete a property for the project files' |
|
411 )) |
|
412 self.svnPropDelAct.setWhatsThis(self.trUtf8( |
|
413 """<b>Delete Property</b>""" |
|
414 """<p>This deletes a property for the project files.</p>""" |
|
415 )) |
|
416 self.connect(self.svnPropDelAct, SIGNAL('triggered()'), self.__svnPropDel) |
|
417 self.actions.append(self.svnPropDelAct) |
|
418 |
|
419 self.svnRelocateAct = E4Action(self.trUtf8('Relocate'), |
|
420 UI.PixmapCache.getIcon("vcsSwitch.png"), |
|
421 self.trUtf8('Relocate...'), |
|
422 0, 0, self, 'subversion_relocate') |
|
423 self.svnRelocateAct.setStatusTip(self.trUtf8( |
|
424 'Relocate the working copy to a new repository URL' |
|
425 )) |
|
426 self.svnRelocateAct.setWhatsThis(self.trUtf8( |
|
427 """<b>Relocate</b>""" |
|
428 """<p>This relocates the working copy to a new repository URL.</p>""" |
|
429 )) |
|
430 self.connect(self.svnRelocateAct, SIGNAL('triggered()'), self.__svnRelocate) |
|
431 self.actions.append(self.svnRelocateAct) |
|
432 |
|
433 self.svnRepoBrowserAct = E4Action(self.trUtf8('Repository Browser'), |
|
434 UI.PixmapCache.getIcon("vcsRepoBrowser.png"), |
|
435 self.trUtf8('Repository Browser...'), |
|
436 0, 0, self, 'subversion_repo_browser') |
|
437 self.svnRepoBrowserAct.setStatusTip(self.trUtf8( |
|
438 'Show the Repository Browser dialog' |
|
439 )) |
|
440 self.svnRepoBrowserAct.setWhatsThis(self.trUtf8( |
|
441 """<b>Repository Browser</b>""" |
|
442 """<p>This shows the Repository Browser dialog.</p>""" |
|
443 )) |
|
444 self.connect(self.svnRepoBrowserAct, SIGNAL('triggered()'), self.__svnRepoBrowser) |
|
445 self.actions.append(self.svnRepoBrowserAct) |
|
446 |
|
447 self.svnConfigAct = E4Action(self.trUtf8('Configure'), |
|
448 self.trUtf8('Configure...'), |
|
449 0, 0, self, 'subversion_configure') |
|
450 self.svnConfigAct.setStatusTip(self.trUtf8( |
|
451 'Show the configuration dialog with the Subversion page selected' |
|
452 )) |
|
453 self.svnConfigAct.setWhatsThis(self.trUtf8( |
|
454 """<b>Configure</b>""" |
|
455 """<p>Show the configuration dialog with the Subversion page selected.</p>""" |
|
456 )) |
|
457 self.connect(self.svnConfigAct, SIGNAL('triggered()'), self.__svnConfigure) |
|
458 self.actions.append(self.svnConfigAct) |
|
459 |
|
460 def initMenu(self, menu): |
|
461 """ |
|
462 Public method to generate the VCS menu. |
|
463 |
|
464 @param menu reference to the menu to be populated (QMenu) |
|
465 """ |
|
466 menu.clear() |
|
467 |
|
468 act = menu.addAction( |
|
469 UI.PixmapCache.getIcon( |
|
470 os.path.join("VcsPlugins", "vcsSubversion", "icons", "subversion.png")), |
|
471 self.vcs.vcsName(), self._vcsInfoDisplay) |
|
472 font = act.font() |
|
473 font.setBold(True) |
|
474 act.setFont(font) |
|
475 menu.addSeparator() |
|
476 |
|
477 menu.addAction(self.vcsUpdateAct) |
|
478 menu.addAction(self.vcsCommitAct) |
|
479 menu.addSeparator() |
|
480 menu.addAction(self.vcsNewAct) |
|
481 menu.addAction(self.vcsExportAct) |
|
482 menu.addSeparator() |
|
483 menu.addAction(self.vcsAddAct) |
|
484 menu.addAction(self.vcsRemoveAct) |
|
485 menu.addSeparator() |
|
486 menu.addAction(self.vcsTagAct) |
|
487 if self.vcs.otherData["standardLayout"]: |
|
488 menu.addAction(self.svnTagListAct) |
|
489 menu.addAction(self.svnBranchListAct) |
|
490 else: |
|
491 menu.addAction(self.svnListAct) |
|
492 menu.addSeparator() |
|
493 menu.addAction(self.vcsLogAct) |
|
494 if self.vcs.versionStr >= '1.2.0': |
|
495 menu.addAction(self.svnLogLimitedAct) |
|
496 menu.addAction(self.svnLogBrowserAct) |
|
497 menu.addSeparator() |
|
498 menu.addAction(self.vcsStatusAct) |
|
499 menu.addSeparator() |
|
500 menu.addAction(self.vcsDiffAct) |
|
501 menu.addAction(self.svnExtDiffAct) |
|
502 menu.addAction(self.svnUrlDiffAct) |
|
503 menu.addSeparator() |
|
504 menu.addAction(self.vcsRevertAct) |
|
505 menu.addAction(self.vcsMergeAct) |
|
506 menu.addAction(self.vcsResolveAct) |
|
507 menu.addSeparator() |
|
508 menu.addAction(self.svnRelocateAct) |
|
509 menu.addAction(self.vcsSwitchAct) |
|
510 menu.addSeparator() |
|
511 menu.addAction(self.svnPropSetAct) |
|
512 menu.addAction(self.svnPropListAct) |
|
513 menu.addAction(self.svnPropDelAct) |
|
514 menu.addSeparator() |
|
515 menu.addAction(self.vcsCleanupAct) |
|
516 menu.addSeparator() |
|
517 menu.addAction(self.vcsCommandAct) |
|
518 menu.addAction(self.svnRepoBrowserAct) |
|
519 menu.addSeparator() |
|
520 menu.addAction(self.vcsPropsAct) |
|
521 menu.addSeparator() |
|
522 menu.addAction(self.svnConfigAct) |
|
523 |
|
524 def __svnResolve(self): |
|
525 """ |
|
526 Private slot used to resolve conflicts of the local project. |
|
527 """ |
|
528 self.vcs.svnResolve(self.project.ppath) |
|
529 |
|
530 def __svnPropList(self): |
|
531 """ |
|
532 Private slot used to list the properties of the project files. |
|
533 """ |
|
534 self.vcs.svnListProps(self.project.ppath, True) |
|
535 |
|
536 def __svnPropSet(self): |
|
537 """ |
|
538 Private slot used to set a property for the project files. |
|
539 """ |
|
540 self.vcs.svnSetProp(self.project.ppath, True) |
|
541 |
|
542 def __svnPropDel(self): |
|
543 """ |
|
544 Private slot used to delete a property for the project files. |
|
545 """ |
|
546 self.vcs.svnDelProp(self.project.ppath, True) |
|
547 |
|
548 def __svnTagList(self): |
|
549 """ |
|
550 Private slot used to list the tags of the project. |
|
551 """ |
|
552 self.vcs.svnListTagBranch(self.project.ppath, True) |
|
553 |
|
554 def __svnBranchList(self): |
|
555 """ |
|
556 Private slot used to list the branches of the project. |
|
557 """ |
|
558 self.vcs.svnListTagBranch(self.project.ppath, False) |
|
559 |
|
560 def __svnExtendedDiff(self): |
|
561 """ |
|
562 Private slot used to perform a svn diff with the selection of revisions. |
|
563 """ |
|
564 self.vcs.svnExtendedDiff(self.project.ppath) |
|
565 |
|
566 def __svnUrlDiff(self): |
|
567 """ |
|
568 Private slot used to perform a svn diff with the selection of repository URLs. |
|
569 """ |
|
570 self.vcs.svnUrlDiff(self.project.ppath) |
|
571 |
|
572 def __svnLogLimited(self): |
|
573 """ |
|
574 Private slot used to perform a svn log --limit. |
|
575 """ |
|
576 self.vcs.svnLogLimited(self.project.ppath) |
|
577 |
|
578 def __svnLogBrowser(self): |
|
579 """ |
|
580 Private slot used to browse the log of the current project. |
|
581 """ |
|
582 self.vcs.svnLogBrowser(self.project.ppath) |
|
583 |
|
584 def __svnRelocate(self): |
|
585 """ |
|
586 Private slot used to relocate the working copy to a new repository URL. |
|
587 """ |
|
588 self.vcs.svnRelocate(self.project.ppath) |
|
589 |
|
590 def __svnRepoBrowser(self): |
|
591 """ |
|
592 Private slot to open the repository browser. |
|
593 """ |
|
594 self.vcs.svnRepoBrowser(projectPath = self.project.ppath) |
|
595 |
|
596 def __svnConfigure(self): |
|
597 """ |
|
598 Private method to open the configuration dialog. |
|
599 """ |
|
600 e4App().getObject("UserInterface").showPreferences("zzz_subversionPage") |