Wed, 06 Jul 2016 19:27:15 +0200
Added capability to filter ANSI escape sequences out of output strings. This is limited to color sequences at the moment.
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
4631
5c1a96925da4
Updated copyright for 2016.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
3 | # Copyright (c) 2011 - 2016 Detlev Offenbach <detlev@die-offenbachs.de> |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to show the commit message of the current patch. |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3058
diff
changeset
|
10 | from __future__ import unicode_literals |
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
|
11 | try: |
3484 | 12 | str = unicode |
13 | except NameError: | |
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
|
14 | pass |
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
15 | |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | import os |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
18 | from PyQt5.QtCore import QProcess, QTimer, Qt, QCoreApplication |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
19 | from PyQt5.QtWidgets import QDialog, QDialogButtonBox |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | from E5Gui import E5MessageBox |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | from .Ui_HgQueuesHeaderDialog import Ui_HgQueuesHeaderDialog |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
5020
d0afdfd8e45b
Added capability to filter ANSI escape sequences out of output strings. This is limited to color sequences at the moment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
25 | import Utilities |
d0afdfd8e45b
Added capability to filter ANSI escape sequences out of output strings. This is limited to color sequences at the moment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
26 | |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | class HgQueuesHeaderDialog(QDialog, Ui_HgQueuesHeaderDialog): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
30 | Class implementing a dialog to show the commit message of the current |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
31 | patch. |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | def __init__(self, vcs, parent=None): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | Constructor |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | @param vcs reference to the vcs object |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | @param parent reference to the parent widget (QWidget) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | """ |
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
|
40 | super(HgQueuesHeaderDialog, self).__init__(parent) |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | self.setupUi(self) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.vcs = vcs |
1254
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
47 | self.__hgClient = vcs.getClient() |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
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
|
49 | if self.__hgClient: |
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 = None |
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 | else: |
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 | 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
|
53 | 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
|
54 | 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
|
55 | self.process.readyReadStandardError.connect(self.__readStderr) |
1260
9488a3aceb0e
Added code to some Mercurial dialogs to improve user experience.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
56 | |
9488a3aceb0e
Added code to some Mercurial dialogs to improve user experience.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
57 | self.show() |
9488a3aceb0e
Added code to some Mercurial dialogs to improve user experience.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
58 | QCoreApplication.processEvents() |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | def closeEvent(self, e): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
62 | Protected slot implementing a close event handler. |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | @param e close event (QCloseEvent) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | """ |
1256
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1254
diff
changeset
|
66 | if self.__hgClient: |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1254
diff
changeset
|
67 | if self.__hgClient.isExecuting(): |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1254
diff
changeset
|
68 | self.__hgClient.cancel() |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1254
diff
changeset
|
69 | else: |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1254
diff
changeset
|
70 | if self.process is not None and \ |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1254
diff
changeset
|
71 | self.process.state() != QProcess.NotRunning: |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1254
diff
changeset
|
72 | self.process.terminate() |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1254
diff
changeset
|
73 | QTimer.singleShot(2000, self.process.kill) |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1254
diff
changeset
|
74 | self.process.waitForFinished(3000) |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | e.accept() |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | def start(self, path): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | Public slot to start the list command. |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | @param path name of directory to be listed (string) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | self.activateWindow() |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | dname, fname = self.vcs.splitPath(path) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | # find the root of the repo |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | repodir = dname |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | repodir = os.path.dirname(repodir) |
1318
6fa303bd65d6
Fixed issues in various Mercurial files that could cause infinite loops on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1260
diff
changeset
|
92 | if os.path.splitdrive(repodir)[1] == os.sep: |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | return |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | |
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
|
95 | args = self.vcs.initCommand("qheader") |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | |
1254
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
97 | if self.__hgClient: |
3023
34ce20603bf7
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
98 | out, err = self.__hgClient.runcommand( |
34ce20603bf7
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
99 | args, output=self.__showOutput, error=self.__showError) |
1254
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
100 | if err: |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
101 | self.__showError(err) |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
102 | if out: |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
103 | self.__showOutPut(out) |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
104 | self.__finish() |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
105 | else: |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
106 | self.process.kill() |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
107 | self.process.setWorkingDirectory(repodir) |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
108 | |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
109 | self.process.start('hg', 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
|
110 | procStarted = self.process.waitForStarted(5000) |
1254
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
111 | if not procStarted: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
112 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
113 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
114 | 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
|
115 | self.tr( |
1254
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
116 | 'The process {0} could not be started. ' |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
117 | 'Ensure, that it is in the search path.' |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
118 | ).format('hg')) |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | def __finish(self): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
122 | Private slot called when the process finished or the user pressed |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
123 | the button. |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | if self.process is not None and \ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | self.process.state() != QProcess.NotRunning: |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | self.process.terminate() |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | QTimer.singleShot(2000, self.process.kill) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | self.process.waitForFinished(3000) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
134 | self.buttonBox.button(QDialogButtonBox.Close).setFocus( |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
135 | Qt.OtherFocusReason) |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | def on_buttonBox_clicked(self, button): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | Private slot called by a button of the button box clicked. |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | @param button button that was clicked (QAbstractButton) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | if button == self.buttonBox.button(QDialogButtonBox.Close): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | self.close() |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | elif button == self.buttonBox.button(QDialogButtonBox.Cancel): |
1254
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
146 | if self.__hgClient: |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
147 | self.__hgClient.cancel() |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
148 | else: |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
149 | self.__finish() |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | def __procFinished(self, exitCode, exitStatus): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | Private slot connected to the finished signal. |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | @param exitCode exit code of the process (integer) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | @param exitStatus exit status of the process (QProcess.ExitStatus) |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | self.__finish() |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | def __readStdout(self): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | Private slot to handle the readyReadStdout signal. |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | It reads the output of the process, formats it and inserts it into |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | the contents pane. |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | if self.process is not None: |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | s = str(self.process.readAllStandardOutput(), |
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
|
169 | self.vcs.getEncoding(), 'replace') |
1254
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
170 | self.__showOutput(s) |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
171 | |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
172 | def __showOutput(self, out): |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
173 | """ |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
174 | Private slot to show some output. |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
175 | |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
176 | @param out output to be shown (string) |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
177 | """ |
5020
d0afdfd8e45b
Added capability to filter ANSI escape sequences out of output strings. This is limited to color sequences at the moment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
178 | self.messageEdit.appendPlainText(Utilities.filterAnsiSequences(out)) |
1035
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | def __readStderr(self): |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | Private slot to handle the readyReadStderr signal. |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | It reads the error output of the process and inserts it into the |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | error pane. |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | """ |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | if self.process is not None: |
2cd7817ac659
Continued with support for Mercurial queues extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | s = str(self.process.readAllStandardError(), |
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
|
189 | self.vcs.getEncoding(), 'replace') |
1254
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
190 | self.__showError(s) |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
191 | |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
192 | def __showError(self, out): |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
193 | """ |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
194 | Private slot to show some error. |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
195 | |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
196 | @param out error to be shown (string) |
c077fa008aae
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
197 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
198 | self.messageEdit.appendPlainText(self.tr("Error: ")) |
5020
d0afdfd8e45b
Added capability to filter ANSI escape sequences out of output strings. This is limited to color sequences at the moment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
199 | self.messageEdit.appendPlainText(Utilities.filterAnsiSequences(out)) |