eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py

Wed, 13 Jan 2021 17:46:13 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 13 Jan 2021 17:46:13 +0100
changeset 7971
ff2971513d6d
parent 7923
91e843545d9a
child 7979
54b73174ab61
permissions
-rw-r--r--

Mercurial: completed more code cleanup.

1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7900
diff changeset
3 # Copyright (c) 2011 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the queues extension interface.
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
1066
a3dd41fd9ea8 Added support for the Mercurial fetch extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1061
diff changeset
9
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
12 from PyQt5.QtWidgets import QDialog, QApplication, QInputDialog
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from E5Gui import E5MessageBox
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
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: 1068
diff changeset
16 from ..HgExtension import HgExtension
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from ..HgDialog import HgDialog
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
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: 1068
diff changeset
20 class Queues(HgExtension):
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 Class implementing the queues extension interface.
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 APPLIED_LIST = 0
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 UNAPPLIED_LIST = 1
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 SERIES_LIST = 2
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
28 POP = 0
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
29 PUSH = 1
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
30 GOTO = 2
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
31
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
32 QUEUE_DELETE = 0
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
33 QUEUE_PURGE = 1
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
34 QUEUE_ACTIVATE = 2
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
35
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 def __init__(self, vcs):
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 Constructor
1066
a3dd41fd9ea8 Added support for the Mercurial fetch extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1061
diff changeset
39
a3dd41fd9ea8 Added support for the Mercurial fetch extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1061
diff changeset
40 @param vcs reference to the Mercurial vcs object
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2405
diff changeset
42 super(Queues, self).__init__(vcs)
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.qdiffDialog = None
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
45 self.qheaderDialog = None
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
46 self.queuesListDialog = None
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
47 self.queuesListGuardsDialog = None
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
48 self.queuesListAllGuardsDialog = None
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
49 self.queuesDefineGuardsDialog = None
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
50 self.queuesListQueuesDialog = None
2815
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
51 self.queueStatusDialog = None
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 def shutdown(self):
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 """
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 Public method used to shutdown the queues interface.
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 """
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 if self.qdiffDialog is not None:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.qdiffDialog.close()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
59 if self.qheaderDialog is not None:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
60 self.qheaderDialog.close()
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
61 if self.queuesListDialog is not None:
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
62 self.queuesListDialog.close()
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
63 if self.queuesListGuardsDialog is not None:
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
64 self.queuesListGuardsDialog.close()
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
65 if self.queuesListAllGuardsDialog is not None:
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
66 self.queuesListAllGuardsDialog.close()
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
67 if self.queuesDefineGuardsDialog is not None:
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
68 self.queuesDefineGuardsDialog.close()
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
69 if self.queuesListQueuesDialog is not None:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
70 self.queuesListQueuesDialog.close()
2815
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
71 if self.queueStatusDialog is not None:
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
72 self.queueStatusDialog.close()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
73
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
74 def __getPatchesList(self, listType, withSummary=False):
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
75 """
3591
2f2a4a76dd22 Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3484
diff changeset
76 Private method to get a list of patches of a given type.
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
77
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
78 @param listType type of patches list to get
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
79 (Queues.APPLIED_LIST, Queues.UNAPPLIED_LIST, Queues.SERIES_LIST)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
80 @param withSummary flag indicating to get a summary as well (boolean)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
81 @return list of patches (list of string)
2962
d6c9d1ca2da4 Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2815
diff changeset
82 @exception ValueError raised to indicate an invalid patch list type
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
83 """
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
84 patchesList = []
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
85
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
86 if listType == Queues.APPLIED_LIST:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
87 args = self.vcs.initCommand("qapplied")
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
88 elif listType == Queues.UNAPPLIED_LIST:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
89 args = self.vcs.initCommand("qunapplied")
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
90 elif listType == Queues.SERIES_LIST:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
91 args = self.vcs.initCommand("qseries")
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
92 else:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
93 raise ValueError("illegal value for listType")
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
94 if withSummary:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
95 args.append("--summary")
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
96
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
97 client = self.vcs.getClient()
7370
5fb53279f2df Mercurial: removed some old code dealing with using the hg commandline executable instead of the command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
98 output = client.runcommand(args)[0]
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
99
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
100 for line in output.splitlines():
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
101 if withSummary:
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
102 li = line.strip().split(": ")
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
103 if len(li) == 1:
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
104 patch, summary = li[0][:-1], ""
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
105 else:
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
106 patch, summary = li[0], li[1]
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
107 patchesList.append("{0}@@{1}".format(patch, summary))
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
108 else:
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
109 patchesList.append(line.strip())
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
110
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
111 return patchesList
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
112
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
113 def __getCurrentPatch(self):
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
114 """
3591
2f2a4a76dd22 Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3484
diff changeset
115 Private method to get the name of the current patch.
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
116
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
117 @return name of the current patch (string)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
118 """
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
119 currentPatch = ""
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
120
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
121 args = self.vcs.initCommand("qtop")
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
122
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
123 client = self.vcs.getClient()
7370
5fb53279f2df Mercurial: removed some old code dealing with using the hg commandline executable instead of the command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
124 currentPatch = client.runcommand(args)[0].strip()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
125
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
126 return currentPatch
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
127
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
128 def __getCommitMessage(self):
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
129 """
3591
2f2a4a76dd22 Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3484
diff changeset
130 Private method to get the commit message of the current patch.
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
131
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
132 @return name of the current patch (string)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
133 """
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
134 message = ""
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
135
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
136 args = self.vcs.initCommand("qheader")
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
137
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
138 client = self.vcs.getClient()
7370
5fb53279f2df Mercurial: removed some old code dealing with using the hg commandline executable instead of the command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
139 message = client.runcommand(args)[0]
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
140
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
141 return message
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
143 def getGuardsList(self, allGuards=True):
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
144 """
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
145 Public method to get a list of all guards defined.
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
146
5588
6ba512d9f46a Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5587
diff changeset
147 @param allGuards flag indicating to get all guards (boolean)
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
148 @return sorted list of guards (list of strings)
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
149 """
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
150 guardsList = []
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
151
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
152 args = self.vcs.initCommand("qselect")
5588
6ba512d9f46a Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5587
diff changeset
153 if allGuards:
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
154 args.append("--series")
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
155
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
156 client = self.vcs.getClient()
7370
5fb53279f2df Mercurial: removed some old code dealing with using the hg commandline executable instead of the command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
157 output = client.runcommand(args)[0]
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
158
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
159 for guard in output.splitlines():
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
160 guard = guard.strip()
5588
6ba512d9f46a Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5587
diff changeset
161 if allGuards:
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
162 guard = guard[1:]
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
163 if guard not in guardsList:
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
164 guardsList.append(guard)
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
165
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
166 return sorted(guardsList)
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
167
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
168 def hgQueueNewPatch(self):
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 """
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 Public method to create a new named patch.
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 """
2405
d4b5f3bd4720 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
172 from .HgQueuesNewPatchDialog import HgQueuesNewPatchDialog
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
173 dlg = HgQueuesNewPatchDialog(HgQueuesNewPatchDialog.NEW_MODE)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
174 if dlg.exec() == QDialog.Accepted:
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
175 (name, message,
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
176 (userData, currentUser, userName),
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
177 (dateData, currentDate, dateStr)) = dlg.getData()
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
179 args = self.vcs.initCommand("qnew")
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 if message != "":
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 args.append("--message")
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 args.append(message)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 if userData:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 if currentUser:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 args.append("--currentuser")
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 else:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 args.append("--user")
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 args.append(userName)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 if dateData:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 if currentDate:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 args.append("--currentdate")
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 else:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 args.append("--date")
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 args.append(dateStr)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 args.append(name)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
197 dia = HgDialog(self.tr('New Patch'), self.vcs)
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
198 res = dia.startProcess(args)
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
200 dia.exec()
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 self.vcs.checkVCSStatus()
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
203 def hgQueueRefreshPatch(self, editMessage=False):
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 """
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
205 Public method to refresh the current patch.
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
207 @param editMessage flag indicating to edit the current
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
208 commit message (boolean)
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 """
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
210 args = self.vcs.initCommand("qrefresh")
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
212 if editMessage:
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
213 currentMessage = self.__getCommitMessage()
2405
d4b5f3bd4720 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
214 from .HgQueuesNewPatchDialog import HgQueuesNewPatchDialog
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
215 dlg = HgQueuesNewPatchDialog(HgQueuesNewPatchDialog.REFRESH_MODE,
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
216 currentMessage)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
217 if dlg.exec() == QDialog.Accepted:
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
218 (name, message,
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
219 (userData, currentUser, userName),
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
220 (dateData, currentDate, dateStr)) = dlg.getData()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
221 if message != "" and message != currentMessage:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
222 args.append("--message")
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
223 args.append(message)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
224 if userData:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
225 if currentUser:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
226 args.append("--currentuser")
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
227 else:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
228 args.append("--user")
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
229 args.append(userName)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
230 if dateData:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
231 if currentDate:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
232 args.append("--currentdate")
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
233 else:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
234 args.append("--date")
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
235 args.append(dateStr)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
236 else:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
237 return
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
238
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
239 dia = HgDialog(self.tr('Update Current Patch'), self.vcs)
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
240 res = dia.startProcess(args)
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
242 dia.exec()
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 self.vcs.checkVCSStatus()
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 def hgQueueShowPatch(self, name):
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 """
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
247 Public method to show the contents of the current patch.
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 @param name file/directory name (string)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 """
2405
d4b5f3bd4720 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
251 from ..HgDiffDialog import HgDiffDialog
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 self.qdiffDialog = HgDiffDialog(self.vcs)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 self.qdiffDialog.show()
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 QApplication.processEvents()
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 self.qdiffDialog.start(name, qdiff=True)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
257 def hgQueueShowHeader(self):
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
258 """
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
259 Public method to show the commit message of the current patch.
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
260 """
2405
d4b5f3bd4720 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
261 from .HgQueuesHeaderDialog import HgQueuesHeaderDialog
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
262 self.qheaderDialog = HgQueuesHeaderDialog(self.vcs)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
263 self.qheaderDialog.show()
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
264 QApplication.processEvents()
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
265 self.qheaderDialog.start()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
266
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
267 def hgQueuePushPopPatches(self, operation, doAll=False, named=False,
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
268 force=False):
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 """
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
270 Public method to push patches onto the stack or pop patches off the
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
271 stack.
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
273 @param operation operation type to be performed (Queues.POP,
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
274 Queues.PUSH, Queues.GOTO)
7900
72b88fb20261 Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7759
diff changeset
275 @param doAll flag indicating to push/pop all (boolean)
72b88fb20261 Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7759
diff changeset
276 @param named flag indicating to push/pop until a named patch
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 is at the top of the stack (boolean)
7900
72b88fb20261 Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7759
diff changeset
278 @param force flag indicating a forceful pop (boolean)
1068
090e5be55051 Change qpush/qpop/qgoto code to be able to detect changes of the project file (in case MQ will report the changed files one day).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1066
diff changeset
279 @return flag indicating that the project should be reread (boolean)
2962
d6c9d1ca2da4 Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2815
diff changeset
280 @exception ValueError raised to indicate an invalid operation
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 """
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
282 if operation == Queues.POP:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
283 args = self.vcs.initCommand("qpop")
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
284 title = self.tr("Pop Patches")
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 listType = Queues.APPLIED_LIST
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
286 elif operation == Queues.PUSH:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
287 args = self.vcs.initCommand("qpush")
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
288 title = self.tr("Push Patches")
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 listType = Queues.UNAPPLIED_LIST
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
290 elif operation == Queues.GOTO:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
291 args = self.vcs.initCommand("qgoto")
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
292 title = self.tr("Go to Patch")
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
293 listType = Queues.SERIES_LIST
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
294 else:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
295 raise ValueError("illegal value for operation")
1068
090e5be55051 Change qpush/qpop/qgoto code to be able to detect changes of the project file (in case MQ will report the changed files one day).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1066
diff changeset
296 args.append("-v")
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 if force:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 args.append("--force")
5588
6ba512d9f46a Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5587
diff changeset
299 if doAll and operation in (Queues.POP, Queues.PUSH):
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 args.append("--all")
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
301 elif named or operation == Queues.GOTO:
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
302 patchnames = self.__getPatchesList(listType)
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 if patchnames:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 patch, ok = QInputDialog.getItem(
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
306 self.tr("Select Patch"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
307 self.tr("Select the target patch name:"),
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 patchnames,
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 0, False)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 if ok and patch:
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 args.append(patch)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 else:
1068
090e5be55051 Change qpush/qpop/qgoto code to be able to detect changes of the project file (in case MQ will report the changed files one day).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1066
diff changeset
313 return False
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 else:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
315 E5MessageBox.information(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
316 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
317 self.tr("Select Patch"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
318 self.tr("""No patches to select from."""))
1068
090e5be55051 Change qpush/qpop/qgoto code to be able to detect changes of the project file (in case MQ will report the changed files one day).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1066
diff changeset
319 return False
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
321 dia = HgDialog(title, self.vcs)
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
322 res = dia.startProcess(args)
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
324 dia.exec()
1068
090e5be55051 Change qpush/qpop/qgoto code to be able to detect changes of the project file (in case MQ will report the changed files one day).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1066
diff changeset
325 res = dia.hasAddOrDelete()
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 self.vcs.checkVCSStatus()
1068
090e5be55051 Change qpush/qpop/qgoto code to be able to detect changes of the project file (in case MQ will report the changed files one day).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1066
diff changeset
327 return res
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
329 def hgQueueListPatches(self):
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330 """
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
331 Public method to show a list of all patches.
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 """
2405
d4b5f3bd4720 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
333 from .HgQueuesListDialog import HgQueuesListDialog
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 self.queuesListDialog = HgQueuesListDialog(self.vcs)
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 self.queuesListDialog.show()
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
336 self.queuesListDialog.start()
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
338 def hgQueueFinishAppliedPatches(self):
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 """
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
340 Public method to finish all applied patches.
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 """
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
342 args = self.vcs.initCommand("qfinish")
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 args.append("--applied")
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
345 dia = HgDialog(self.tr('Finish Applied Patches'), self.vcs)
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
346 res = dia.startProcess(args)
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
348 dia.exec()
1034
8a7fa049e9d3 Started with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 self.vcs.checkVCSStatus()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
350
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
351 def hgQueueRenamePatch(self):
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
352 """
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
353 Public method to rename the current or a selected patch.
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
354 """
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
355 args = self.vcs.initCommand("qrename")
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
356 patchnames = sorted(self.__getPatchesList(Queues.SERIES_LIST))
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
357 if patchnames:
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
358 currentPatch = self.__getCurrentPatch()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
359 if currentPatch:
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
360 from .HgQueuesRenamePatchDialog import (
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
361 HgQueuesRenamePatchDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
362 )
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
363 dlg = HgQueuesRenamePatchDialog(currentPatch, patchnames)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
364 if dlg.exec() == QDialog.Accepted:
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
365 newName, selectedPatch = dlg.getData()
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
366 if selectedPatch:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
367 args.append(selectedPatch)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
368 args.append(newName)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
369
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
370 dia = HgDialog(self.tr("Rename Patch"), self.vcs)
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
371 res = dia.startProcess(args)
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
372 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
373 dia.exec()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
374
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
375 def hgQueueDeletePatch(self):
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
376 """
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
377 Public method to delete a selected unapplied patch.
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
378 """
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
379 args = self.vcs.initCommand("qdelete")
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
380 patchnames = sorted(self.__getPatchesList(Queues.UNAPPLIED_LIST))
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
381 if patchnames:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
382 patch, ok = QInputDialog.getItem(
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
383 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
384 self.tr("Select Patch"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
385 self.tr("Select the patch to be deleted:"),
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
386 patchnames,
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
387 0, False)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
388 if ok and patch:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
389 args.append(patch)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
390
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
391 dia = HgDialog(self.tr("Delete Patch"), self.vcs)
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
392 res = dia.startProcess(args)
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
393 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
394 dia.exec()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
395 else:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
396 E5MessageBox.information(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
397 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
398 self.tr("Select Patch"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
399 self.tr("""No patches to select from."""))
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
400
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
401 def hgQueueFoldUnappliedPatches(self):
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
402 """
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
403 Public method to fold patches into the current patch.
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
404 """
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
405 args = self.vcs.initCommand("qfold")
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
406 patchnames = sorted(
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
407 self.__getPatchesList(Queues.UNAPPLIED_LIST, withSummary=True))
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
408 if patchnames:
2405
d4b5f3bd4720 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
409 from .HgQueuesFoldDialog import HgQueuesFoldDialog
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
410 dlg = HgQueuesFoldDialog(patchnames)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
411 if dlg.exec() == QDialog.Accepted:
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
412 message, patchesList = dlg.getData()
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
413 if message:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
414 args.append("--message")
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
415 args.append(message)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
416 if patchesList:
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
417 args.extend(patchesList)
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
418
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
419 dia = HgDialog(self.tr("Fold Patches"), self.vcs)
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
420 res = dia.startProcess(args)
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
421 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
422 dia.exec()
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
423 else:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
424 E5MessageBox.information(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
425 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
426 self.tr("Fold Patches"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
427 self.tr("""No patches selected."""))
1035
2cd7817ac659 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1034
diff changeset
428 else:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
429 E5MessageBox.information(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
430 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
431 self.tr("Fold Patches"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
432 self.tr("""No patches available to be folded."""))
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
433
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
434 def hgQueueGuardsList(self):
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
435 """
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
436 Public method to list the guards for the current or a named patch.
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
437 """
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
438 patchnames = sorted(self.__getPatchesList(Queues.SERIES_LIST))
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
439 if patchnames:
2405
d4b5f3bd4720 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
440 from .HgQueuesListGuardsDialog import HgQueuesListGuardsDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
441 self.queuesListGuardsDialog = HgQueuesListGuardsDialog(
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
442 self.vcs, patchnames)
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
443 self.queuesListGuardsDialog.show()
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
444 self.queuesListGuardsDialog.start()
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
445 else:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
446 E5MessageBox.information(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
447 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
448 self.tr("List Guards"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
449 self.tr("""No patches available to list guards for."""))
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
450
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
451 def hgQueueGuardsListAll(self):
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
452 """
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
453 Public method to list all guards of all patches.
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
454 """
2405
d4b5f3bd4720 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
455 from .HgQueuesListAllGuardsDialog import HgQueuesListAllGuardsDialog
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
456 self.queuesListAllGuardsDialog = HgQueuesListAllGuardsDialog(self.vcs)
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
457 self.queuesListAllGuardsDialog.show()
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
458 self.queuesListAllGuardsDialog.start()
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
459
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
460 def hgQueueGuardsDefine(self):
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
461 """
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
462 Public method to define guards for the current or a named patch.
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
463 """
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
464 patchnames = sorted(self.__getPatchesList(Queues.SERIES_LIST))
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
465 if patchnames:
2405
d4b5f3bd4720 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
466 from .HgQueuesDefineGuardsDialog import HgQueuesDefineGuardsDialog
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
467 self.queuesDefineGuardsDialog = HgQueuesDefineGuardsDialog(
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
468 self.vcs, self, patchnames)
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
469 self.queuesDefineGuardsDialog.show()
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
470 self.queuesDefineGuardsDialog.start()
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
471 else:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
472 E5MessageBox.information(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
473 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
474 self.tr("Define Guards"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
475 self.tr("""No patches available to define guards for."""))
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
476
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
477 def hgQueueGuardsDropAll(self):
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
478 """
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
479 Public method to drop all guards of the current or a named patch.
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
480 """
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
481 patchnames = sorted(
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
482 self.__getPatchesList(Queues.SERIES_LIST))
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
483 if patchnames:
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
484 patch, ok = QInputDialog.getItem(
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
485 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
486 self.tr("Drop All Guards"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
487 self.tr("Select the patch to drop guards for"
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
488 " (leave empty for the current patch):"),
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
489 [""] + patchnames,
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
490 0, False)
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
491 if ok:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
492 args = self.vcs.initCommand("qguard")
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
493 if patch:
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
494 args.append(patch)
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
495 args.append("--none")
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
496
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
497 client = self.vcs.getClient()
7370
5fb53279f2df Mercurial: removed some old code dealing with using the hg commandline executable instead of the command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
498 client.runcommand(args)
1046
5dd14be5d6a1 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1035
diff changeset
499 else:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
500 E5MessageBox.information(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
501 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
502 self.tr("Drop All Guards"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
503 self.tr("""No patches available to define guards for."""))
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
504
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
505 def hgQueueGuardsSetActive(self):
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
506 """
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
507 Public method to set the active guards.
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
508 """
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
509 guardsList = self.getGuardsList()
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
510 if guardsList:
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
511 activeGuardsList = self.getGuardsList(allGuards=False)
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
512 from .HgQueuesGuardsSelectionDialog import (
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
513 HgQueuesGuardsSelectionDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
514 )
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
515 dlg = HgQueuesGuardsSelectionDialog(
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
516 guardsList, activeGuards=activeGuardsList, listOnly=False)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
517 if dlg.exec() == QDialog.Accepted:
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
518 guards = dlg.getData()
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
519 if guards:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
520 args = self.vcs.initCommand("qselect")
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
521 args.extend(guards)
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
522
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
523 dia = HgDialog(self.tr('Set Active Guards'), self.vcs)
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
524 res = dia.startProcess(args)
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
525 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
526 dia.exec()
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
527 else:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
528 E5MessageBox.information(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
529 None,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
530 self.tr("Set Active Guards"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
531 self.tr("""No guards available to select from."""))
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
532 return
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
533
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
534 def hgQueueGuardsDeactivate(self):
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
535 """
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
536 Public method to deactivate all active guards.
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
537 """
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
538 args = self.vcs.initCommand("qselect")
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
539 args.append("--none")
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
540
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
541 dia = HgDialog(self.tr('Deactivate Guards'), self.vcs)
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
542 res = dia.startProcess(args)
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
543 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
544 dia.exec()
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
545
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
546 def hgQueueGuardsIdentifyActive(self):
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
547 """
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
548 Public method to list all active guards.
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
549 """
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
550 guardsList = self.getGuardsList(allGuards=False)
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
551 if guardsList:
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
552 from .HgQueuesGuardsSelectionDialog import (
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
553 HgQueuesGuardsSelectionDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
554 )
1047
b41a36b201e4 Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1046
diff changeset
555 dlg = HgQueuesGuardsSelectionDialog(guardsList, listOnly=True)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
556 dlg.exec()
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
557
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
558 def hgQueueCreateRenameQueue(self, isCreate):
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
559 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
560 Public method to create a new queue or rename the active queue.
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
561
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
562 @param isCreate flag indicating to create a new queue (boolean)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
563 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
564 if isCreate:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
565 title = self.tr("Create New Queue")
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
566 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
567 title = self.tr("Rename Active Queue")
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
568 from .HgQueuesQueueManagementDialog import (
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
569 HgQueuesQueueManagementDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
570 )
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
571 dlg = HgQueuesQueueManagementDialog(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
572 HgQueuesQueueManagementDialog.NAME_INPUT,
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
573 title, False, self.vcs)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
574 if dlg.exec() == QDialog.Accepted:
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
575 queueName = dlg.getData()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
576 if queueName:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
577 args = self.vcs.initCommand("qqueue")
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
578 if isCreate:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
579 args.append("--create")
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
580 else:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
581 args.append("--rename")
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
582 args.append(queueName)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
583
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
584 client = self.vcs.getClient()
7370
5fb53279f2df Mercurial: removed some old code dealing with using the hg commandline executable instead of the command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
585 error = client.runcommand(args)[1]
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
586
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
587 if error:
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
588 if isCreate:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
589 errMsg = self.tr(
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
590 "Error while creating a new queue.")
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
591 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
592 errMsg = self.tr(
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
593 "Error while renaming the active queue.")
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
594 E5MessageBox.warning(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
595 None,
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
596 title,
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
597 """<p>{0}</p><p>{1}</p>""".format(errMsg, error))
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
598 else:
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
599 if (
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
600 self.queuesListQueuesDialog is not None and
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
601 self.queuesListQueuesDialog.isVisible()
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
602 ):
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
603 self.queuesListQueuesDialog.refresh()
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
604
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
605 def hgQueueDeletePurgeActivateQueue(self, operation):
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
606 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
607 Public method to delete the reference to a queue and optionally
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
608 remove the patch directory or set the active queue.
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
609
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
610 @param operation operation to be performed (Queues.QUEUE_DELETE,
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
611 Queues.QUEUE_PURGE, Queues.QUEUE_ACTIVATE)
2962
d6c9d1ca2da4 Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2815
diff changeset
612 @exception ValueError raised to indicate an invalid operation
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
613 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
614 if operation == Queues.QUEUE_PURGE:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
615 title = self.tr("Purge Queue")
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
616 elif operation == Queues.QUEUE_DELETE:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
617 title = self.tr("Delete Queue")
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
618 elif operation == Queues.QUEUE_ACTIVATE:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
619 title = self.tr("Activate Queue")
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
620 else:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
621 raise ValueError("illegal value for operation")
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
622
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
623 from .HgQueuesQueueManagementDialog import (
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
624 HgQueuesQueueManagementDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
625 )
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
626 dlg = HgQueuesQueueManagementDialog(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
627 HgQueuesQueueManagementDialog.QUEUE_INPUT,
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
628 title, True, self.vcs)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
629 if dlg.exec() == QDialog.Accepted:
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
630 queueName = dlg.getData()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
631 if queueName:
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
632 args = self.vcs.initCommand("qqueue")
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
633 if operation == Queues.QUEUE_PURGE:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
634 args.append("--purge")
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
635 elif operation == Queues.QUEUE_DELETE:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
636 args.append("--delete")
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
637 args.append(queueName)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
638
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
639 client = self.vcs.getClient()
7370
5fb53279f2df Mercurial: removed some old code dealing with using the hg commandline executable instead of the command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
640 error = client.runcommand(args)[1]
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
641
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
642 if error:
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
643 if operation == Queues.QUEUE_PURGE:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
644 errMsg = self.tr("Error while purging the queue.")
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
645 elif operation == Queues.QUEUE_DELETE:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
646 errMsg = self.tr("Error while deleting the queue.")
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
647 elif operation == Queues.QUEUE_ACTIVATE:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
648 errMsg = self.tr(
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
649 "Error while setting the active queue.")
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
650 E5MessageBox.warning(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
651 None,
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
652 title,
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
653 """<p>{0}</p><p>{1}</p>""".format(errMsg, error))
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
654 else:
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
655 if (
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
656 self.queuesListQueuesDialog is not None and
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
657 self.queuesListQueuesDialog.isVisible()
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
658 ):
1254
c077fa008aae Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1087
diff changeset
659 self.queuesListQueuesDialog.refresh()
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
660
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
661 def hgQueueListQueues(self):
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
662 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
663 Public method to list available queues.
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
664 """
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
665 from .HgQueuesQueueManagementDialog import (
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
666 HgQueuesQueueManagementDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
667 )
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
668 self.queuesListQueuesDialog = HgQueuesQueueManagementDialog(
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
669 HgQueuesQueueManagementDialog.NO_INPUT,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
670 self.tr("Available Queues"),
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
671 False, self.vcs)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1047
diff changeset
672 self.queuesListQueuesDialog.show()
2815
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
673
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
674 def hgQueueInit(self, name):
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
675 """
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
676 Public method to initialize a new queue repository.
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
677
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
678 @param name directory name (string)
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
679 """
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
680 # find the root of the repo
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
681 repodir = self.vcs.splitPath(name)[0]
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
682 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)):
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
683 repodir = os.path.dirname(repodir)
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
684 if os.path.splitdrive(repodir)[1] == os.sep:
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
685 return
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
686
3302
e92f0dd51979 Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
687 args = self.vcs.initCommand("init")
2815
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
688 args.append('--mq')
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
689 args.append(repodir)
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
690 # init is not possible with the command server
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
691 dia = HgDialog(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
692 self.tr('Initializing new queue repository'), self.vcs)
2815
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
693 res = dia.startProcess(args)
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
694 if res:
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
695 dia.exec()
2815
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
696
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
697 def hgQueueStatus(self, name):
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
698 """
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
699 Public method used to view the status of a queue repository.
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
700
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
701 @param name directory name (string)
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
702 """
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
703 from ..HgStatusDialog import HgStatusDialog
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
704 self.queueStatusDialog = HgStatusDialog(self.vcs, mq=True)
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
705 self.queueStatusDialog.show()
53c1d1f9ec86 Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
706 self.queueStatusDialog.start(name)

eric ide

mercurial