Tue, 02 Mar 2021 17:17:09 +0100
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
3 | # Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to browse the change lists. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
7775
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
10 | import re |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import os |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
7775
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
13 | from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QTimer |
7262
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
14 | from PyQt5.QtWidgets import ( |
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
15 | QDialog, QDialogButtonBox, QListWidgetItem, QLineEdit |
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
16 | ) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | from E5Gui import E5MessageBox |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | from .Ui_SvnChangeListsDialog import Ui_SvnChangeListsDialog |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | import Preferences |
5848
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
23 | from Globals import strToQByteArray |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | class SvnChangeListsDialog(QDialog, Ui_SvnChangeListsDialog): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | Class implementing a dialog to browse the change lists. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | def __init__(self, vcs, parent=None): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | Constructor |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | @param vcs reference to the vcs object |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | @param parent parent widget (QWidget) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
37 | super(SvnChangeListsDialog, self).__init__(parent) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | 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:
7923
diff
changeset
|
39 | self.setWindowFlags(Qt.WindowType.Window) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | |
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:
7923
diff
changeset
|
41 | 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:
7923
diff
changeset
|
42 | QDialogButtonBox.StandardButton.Close).setEnabled(False) |
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:
7923
diff
changeset
|
43 | 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:
7923
diff
changeset
|
44 | QDialogButtonBox.StandardButton.Cancel).setDefault(True) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.vcs = vcs |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
4126
c28d0cf3b639
Some changes to the various VCS interfaces to use one dialog instead of creating a new one each time.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
48 | self.process = QProcess() |
c28d0cf3b639
Some changes to the various VCS interfaces to use one dialog instead of creating a new one each time.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
49 | self.process.finished.connect(self.__procFinished) |
c28d0cf3b639
Some changes to the various VCS interfaces to use one dialog instead of creating a new one each time.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
50 | self.process.readyReadStandardOutput.connect(self.__readStdout) |
c28d0cf3b639
Some changes to the various VCS interfaces to use one dialog instead of creating a new one each time.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
51 | self.process.readyReadStandardError.connect(self.__readStderr) |
c28d0cf3b639
Some changes to the various VCS interfaces to use one dialog instead of creating a new one each time.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
52 | |
7775
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
53 | self.rx_status = re.compile( |
3044
a6cee59c80a4
Made the subversion status regexp a bit more relaxed with respect to the author name.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
54 | '(.{8,9})\\s+([0-9-]+)\\s+([0-9?]+)\\s+(\\S+)\\s+(.+)\\s*') |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
55 | # flags (8 or 9 anything), revision, changed rev, author, path |
7775
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
56 | self.rx_status2 = re.compile('(.{8,9})\\s+(.+)\\s*') |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
57 | # flags (8 or 9 anything), path |
7775
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
58 | self.rx_changelist = re.compile('--- \\S+ .([\\w\\s]+).:\\s+') |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
59 | # three dashes, Changelist (translated), quote, |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
60 | # changelist name, quote, : |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | @pyqtSlot(QListWidgetItem, QListWidgetItem) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | def on_changeLists_currentItemChanged(self, current, previous): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | Private slot to handle the selection of a new item. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | @param current current item (QListWidgetItem) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | @param previous previous current item (QListWidgetItem) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | self.filesList.clear() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | if current is not None: |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | changelist = current.text() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | if changelist in self.changeListsDict: |
3009
bf5ae5d7477d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
74 | self.filesList.addItems( |
bf5ae5d7477d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
75 | sorted(self.changeListsDict[changelist])) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | def start(self, path): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | Public slot to populate the data. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | @param path directory name to show change lists for (string) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | self.changeListsDict = {} |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | |
3009
bf5ae5d7477d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
85 | self.filesLabel.setText( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
86 | self.tr("Files (relative to {0}):").format(path)) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | self.errorGroup.hide() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | self.intercept = False |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | self.path = path |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | self.currentChangelist = "" |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | args = [] |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | args.append('status') |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | self.vcs.addArguments(args, self.vcs.options['global']) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | self.vcs.addArguments(args, self.vcs.options['status']) |
7262
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
98 | if ( |
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
99 | '--verbose' not in self.vcs.options['global'] and |
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
100 | '--verbose' not in self.vcs.options['status'] |
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
101 | ): |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | args.append('--verbose') |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | if isinstance(path, list): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | self.dname, fnames = self.vcs.splitPathList(path) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | self.vcs.addArguments(args, fnames) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | else: |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | self.dname, fname = self.vcs.splitPath(path) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | args.append(fname) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.process.setWorkingDirectory(self.dname) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | self.process.start('svn', args) |
2771
281c9b30dd91
Changed all QProcess.waitForStarted() calls to use a 5s timeout (except the debugger interfaces, which have a 10s timeout).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
113 | procStarted = self.process.waitForStarted(5000) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | if not procStarted: |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | self.inputGroup.setEnabled(False) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | self.inputGroup.hide() |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3009
diff
changeset
|
117 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3009
diff
changeset
|
118 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
119 | self.tr('Process Generation Error'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
120 | self.tr( |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | 'The process {0} could not be started. ' |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | 'Ensure, that it is in the search path.' |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | ).format('svn')) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | else: |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | self.inputGroup.setEnabled(True) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | self.inputGroup.show() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | def __finish(self): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | Private slot called when the process finished or the user pressed |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | the button. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | """ |
7262
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
133 | if ( |
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
134 | self.process is not None and |
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:
7923
diff
changeset
|
135 | self.process.state() != QProcess.ProcessState.NotRunning |
7262
c4b5f3393d63
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
136 | ): |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | self.process.terminate() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | QTimer.singleShot(2000, self.process.kill) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | self.process.waitForFinished(3000) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | |
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:
7923
diff
changeset
|
141 | 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:
7923
diff
changeset
|
142 | QDialogButtonBox.StandardButton.Close).setEnabled(True) |
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:
7923
diff
changeset
|
143 | 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:
7923
diff
changeset
|
144 | QDialogButtonBox.StandardButton.Cancel).setEnabled(False) |
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:
7923
diff
changeset
|
145 | 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:
7923
diff
changeset
|
146 | QDialogButtonBox.StandardButton.Close).setDefault(True) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | self.inputGroup.setEnabled(False) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | self.inputGroup.hide() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | if len(self.changeListsDict) == 0: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
152 | self.changeLists.addItem(self.tr("No changelists found")) |
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:
7923
diff
changeset
|
153 | 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:
7923
diff
changeset
|
154 | QDialogButtonBox.StandardButton.Close).setFocus( |
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:
7923
diff
changeset
|
155 | Qt.FocusReason.OtherFocusReason) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | else: |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | self.changeLists.addItems(sorted(self.changeListsDict.keys())) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | self.changeLists.setCurrentRow(0) |
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:
7923
diff
changeset
|
159 | self.changeLists.setFocus(Qt.FocusReason.OtherFocusReason) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | def on_buttonBox_clicked(self, button): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | Private slot called by a button of the button box clicked. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | @param button button that was clicked (QAbstractButton) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | """ |
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:
7923
diff
changeset
|
167 | if 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:
7923
diff
changeset
|
168 | 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:
7923
diff
changeset
|
169 | ): |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | self.close() |
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:
7923
diff
changeset
|
171 | 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:
7923
diff
changeset
|
172 | QDialogButtonBox.StandardButton.Cancel |
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:
7923
diff
changeset
|
173 | ): |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | self.__finish() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | def __procFinished(self, exitCode, exitStatus): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | Private slot connected to the finished signal. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | @param exitCode exit code of the process (integer) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | @param exitStatus exit status of the process (QProcess.ExitStatus) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | self.__finish() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | def __readStdout(self): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | Private slot to handle the readyReadStandardOutput signal. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | It reads the output of the process, formats it and inserts it into |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | the contents pane. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | if self.process is not None: |
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:
7923
diff
changeset
|
193 | self.process.setReadChannel(QProcess.ProcessChannel.StandardOutput) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | while self.process.canReadLine(): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | s = str(self.process.readLine(), |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | Preferences.getSystem("IOEncoding"), |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | 'replace') |
7775
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
199 | match = ( |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
200 | self.rx_status.fullmatch(s) or |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
201 | self.rx_status2.fullmatch(s) |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
202 | ) |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
203 | if self.currentChangelist != "" and match is not None: |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
204 | if match.re is self.rx_status: |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
205 | file = match.group(5).strip() |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
206 | filename = file.replace(self.path + os.sep, "") |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
207 | if filename not in self.changeListsDict[ |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
208 | self.currentChangelist |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
209 | ]: |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
210 | self.changeListsDict[ |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
211 | self.currentChangelist].append(filename) |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
212 | else: |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
213 | file = match.group(2).strip() |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
214 | filename = file.replace(self.path + os.sep, "") |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
215 | if filename not in self.changeListsDict[ |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
216 | self.currentChangelist |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
217 | ]: |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
218 | self.changeListsDict[ |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
219 | self.currentChangelist].append(filename) |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
220 | else: |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
221 | match = self.rx_changelist.fullmatch(s) |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
222 | if match is not None: |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
223 | self.currentChangelist = match.group(1) |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
224 | if self.currentChangelist not in self.changeListsDict: |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
225 | self.changeListsDict[self.currentChangelist] = [] |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | def __readStderr(self): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | Private slot to handle the readyReadStandardError signal. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | It reads the error output of the process and inserts it into the |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | error pane. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | if self.process is not None: |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | self.errorGroup.show() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | s = str(self.process.readAllStandardError(), |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | Preferences.getSystem("IOEncoding"), |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | 'replace') |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | self.errors.insertPlainText(s) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | self.errors.ensureCursorVisible() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | def on_passwordCheckBox_toggled(self, isOn): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | Private slot to handle the password checkbox toggled. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | @param isOn flag indicating the status of the check box (boolean) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | if isOn: |
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:
7923
diff
changeset
|
249 | self.input.setEchoMode(QLineEdit.EchoMode.Password) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | else: |
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:
7923
diff
changeset
|
251 | self.input.setEchoMode(QLineEdit.EchoMode.Normal) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | @pyqtSlot() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | def on_sendButton_clicked(self): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | Private slot to send the input to the subversion process. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | """ |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
258 | inputTxt = self.input.text() |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
259 | inputTxt += os.linesep |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | if self.passwordCheckBox.isChecked(): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | self.errors.insertPlainText(os.linesep) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | self.errors.ensureCursorVisible() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
265 | self.errors.insertPlainText(inputTxt) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | self.errors.ensureCursorVisible() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | |
5848
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
268 | self.process.write(strToQByteArray(inputTxt)) |
1888
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | self.passwordCheckBox.setChecked(False) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | self.input.clear() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | def on_input_returnPressed(self): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | Private slot to handle the press of the return key in the input field. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | self.intercept = True |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | self.on_sendButton_clicked() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | def keyPressEvent(self, evt): |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | Protected slot to handle a key press event. |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | @param evt the key press event (QKeyEvent) |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | """ |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | if self.intercept: |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | self.intercept = False |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | evt.accept() |
03f59d88a62d
Added capability to select from existing change lists and added a dialog to browse the change lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | return |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
290 | super(SvnChangeListsDialog, self).keyPressEvent(evt) |