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

Sat, 10 Apr 2021 18:38:27 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 10 Apr 2021 18:38:27 +0200
changeset 8218
7c09585bd960
parent 8143
2c730d5fd177
permissions
-rw-r--r--

Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).

1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7370
diff changeset
3 # Copyright (c) 2011 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog used by the queue management functions.
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
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
10 from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
11 from PyQt5.QtWidgets import (
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
12 QDialog, QDialogButtonBox, QAbstractItemView, QListWidgetItem,
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
13 QAbstractButton
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
14 )
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from .Ui_HgQueuesQueueManagementDialog import Ui_HgQueuesQueueManagementDialog
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class HgQueuesQueueManagementDialog(QDialog, Ui_HgQueuesQueueManagementDialog):
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Class implementing a dialog used by the queue management functions.
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 NO_INPUT = 0
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 NAME_INPUT = 1
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 QUEUE_INPUT = 2
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
7971
ff2971513d6d Mercurial: completed more code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
27 def __init__(self, mode, title, suppressActive, vcs, parent=None):
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 Constructor
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @param mode mode of the dialog (HgQueuesQueueManagementDialog.NO_INPUT
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 HgQueuesQueueManagementDialog.NAME_INPUT,
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 HgQueuesQueueManagementDialog.QUEUE_INPUT)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @param title title for the dialog (string)
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
35 @param suppressActive flag indicating to not show the name of the
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
36 active queue (boolean)
1255
e1d8a8a4d40c Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
37 @param vcs reference to the vcs object
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 @param parent reference to the parent widget (QWidget)
2962
d6c9d1ca2da4 Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
39 @exception ValueError raised to indicate an invalid dialog mode
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
41 super().__init__(parent)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.setupUi(self)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
43 self.setWindowFlags(Qt.WindowType.Window)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 if mode not in (HgQueuesQueueManagementDialog.NO_INPUT,
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 HgQueuesQueueManagementDialog.NAME_INPUT,
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 HgQueuesQueueManagementDialog.QUEUE_INPUT):
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 raise ValueError("illegal value for mode")
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.__mode = mode
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.__suppressActive = suppressActive
1255
e1d8a8a4d40c Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
52 self.__hgClient = vcs.getClient()
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
53 self.vcs = vcs
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
55 self.inputFrame.setHidden(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
56 mode != HgQueuesQueueManagementDialog.NAME_INPUT)
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
57 self.selectLabel.setHidden(
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
58 mode != HgQueuesQueueManagementDialog.QUEUE_INPUT)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 if mode != HgQueuesQueueManagementDialog.QUEUE_INPUT:
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
60 self.queuesList.setSelectionMode(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
61 QAbstractItemView.SelectionMode.NoSelection)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 if mode == HgQueuesQueueManagementDialog.NO_INPUT:
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
64 self.buttonBox.removeButton(
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
65 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok))
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
66 self.buttonBox.removeButton(
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
67 self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel))
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 self.refreshButton = self.buttonBox.addButton(
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
69 self.tr("Refresh"), QDialogButtonBox.ButtonRole.ActionRole)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.refreshButton.setToolTip(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
71 self.tr("Press to refresh the queues list"))
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
72 self.buttonBox.button(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
73 QDialogButtonBox.StandardButton.Close).setDefault(True)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 else:
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
75 self.buttonBox.removeButton(
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
76 self.buttonBox.button(QDialogButtonBox.StandardButton.Close))
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
77 self.buttonBox.button(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
78 QDialogButtonBox.StandardButton.Ok).setEnabled(False)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.refreshButton = None
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.setWindowTitle(title)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82
1260
9488a3aceb0e Added code to some Mercurial dialogs to improve user experience.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1255
diff changeset
83 self.show()
9488a3aceb0e Added code to some Mercurial dialogs to improve user experience.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1255
diff changeset
84 QCoreApplication.processEvents()
9488a3aceb0e Added code to some Mercurial dialogs to improve user experience.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1255
diff changeset
85
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.refresh()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 def __getQueuesList(self):
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 """
3591
2f2a4a76dd22 Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3484
diff changeset
90 Private method to get a list of all queues and the name of the active
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
91 queue.
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
93 @return tuple with a list of all queues and the name of the active
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2962
diff changeset
94 queue (list of strings, string)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 queuesList = []
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 activeQueue = ""
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98
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
99 args = self.vcs.initCommand("qqueue")
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 args.append("--list")
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101
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
102 output = self.__hgClient.runcommand(args)[0]
1255
e1d8a8a4d40c Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
103
e1d8a8a4d40c Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
104 for queue in output.splitlines():
e1d8a8a4d40c Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
105 queue = queue.strip()
e1d8a8a4d40c Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
106 if queue.endswith(")"):
e1d8a8a4d40c Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
107 queue = queue.rsplit(None, 1)[0]
e1d8a8a4d40c Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
108 activeQueue = queue
e1d8a8a4d40c Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
109 queuesList.append(queue)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 if self.__suppressActive:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 if activeQueue in queuesList:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 queuesList.remove(activeQueue)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 activeQueue = ""
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 return queuesList, activeQueue
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 @pyqtSlot(str)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 def on_nameEdit_textChanged(self, txt):
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 Private slot to handle changes of the entered queue name.
2962
d6c9d1ca2da4 Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
121
d6c9d1ca2da4 Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2771
diff changeset
122 @param txt text of the edit (string)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 if self.__mode == HgQueuesQueueManagementDialog.NAME_INPUT:
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
125 self.buttonBox.button(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
126 QDialogButtonBox.StandardButton.Ok).setEnabled(txt != "")
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 @pyqtSlot()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 def on_queuesList_itemSelectionChanged(self):
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 Private slot to handle changes of selected queue names.
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 if self.__mode == HgQueuesQueueManagementDialog.QUEUE_INPUT:
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
134 self.buttonBox.button(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
135 QDialogButtonBox.StandardButton.Ok).setEnabled(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
136 len(self.queuesList.selectedItems()) > 0)
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 @pyqtSlot(QAbstractButton)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 def on_buttonBox_clicked(self, button):
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 Private slot called by a button of the button box clicked.
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 @param button button that was clicked (QAbstractButton)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 if button == self.refreshButton:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 self.refresh()
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
147 elif button == self.buttonBox.button(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
148 QDialogButtonBox.StandardButton.Close
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7971
diff changeset
149 ):
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 self.close()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 def refresh(self):
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 Public slot to refresh the list of queues.
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 self.queuesList.clear()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 queuesList, activeQueue = self.__getQueuesList()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 for queue in sorted(queuesList):
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 itm = QListWidgetItem(queue, self.queuesList)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 if queue == activeQueue:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 font = itm.font()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 font.setBold(True)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 itm.setFont(font)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 def getData(self):
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 Public slot to get the data.
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 @return queue name (string)
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 """
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 name = ""
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 if self.__mode == HgQueuesQueueManagementDialog.NAME_INPUT:
3408
b6e6a7062d12 Changed some Mercurial dialogs asking for a (tag, branch,...) name to convert spaces to underscores because spaces are not really recommended.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
173 name = self.nameEdit.text().replace(" ", "_")
1053
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 elif self.__mode == HgQueuesQueueManagementDialog.QUEUE_INPUT:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 selItems = self.queuesList.selectedItems()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 if selItems:
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 name = selItems[0].text()
c54aa980ea8e Added an interface to the Mercurial patch queue management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 return name

eric ide

mercurial