Sat, 13 May 2017 16:32:54 +0200
Prepared the code for Qt > 5.9.99.
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
5389
9b1c800daff3
Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5104
diff
changeset
|
3 | # Copyright (c) 2010 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
7 | Module implementing a dialog to show the output of the hg status command |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
8 | process. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
11 | 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:
2405
diff
changeset
|
12 | try: |
5624
cdd346d8858b
Removed a bunch of __IGNORE_WARNING_M131__ markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5588
diff
changeset
|
13 | str = unicode |
3484 | 14 | except NameError: |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2405
diff
changeset
|
15 | pass |
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2405
diff
changeset
|
16 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | import os |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
19 | from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QTimer, QSize |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
20 | from PyQt5.QtGui import QTextCursor, QCursor |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
21 | from PyQt5.QtWidgets import QWidget, QDialogButtonBox, QMenu, QHeaderView, \ |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
22 | QTreeWidgetItem, QLineEdit, QToolTip |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | from E5Gui.E5Application import e5App |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
495
diff
changeset
|
25 | from E5Gui import E5MessageBox |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | from .Ui_HgStatusDialog import Ui_HgStatusDialog |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
29 | from .HgDiffHighlighter import HgDiffHighlighter |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
30 | from .HgDiffGenerator import HgDiffGenerator |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
31 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | import Preferences |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
33 | import UI.PixmapCache |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
34 | from Globals import qVersionTuple |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
917
diff
changeset
|
36 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | class HgStatusDialog(QWidget, Ui_HgStatusDialog): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
39 | Class implementing a dialog to show the output of the hg status command |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
40 | process. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | """ |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
42 | def __init__(self, vcs, mq=False, parent=None): |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | Constructor |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | @param vcs reference to the vcs object |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
47 | @param mq flag indicating to show a queue repo status (boolean) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | @param parent parent widget (QWidget) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2405
diff
changeset
|
50 | super(HgStatusDialog, self).__init__(parent) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.setupUi(self) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
53 | self.__toBeCommittedColumn = 0 |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
54 | self.__statusColumn = 1 |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
55 | self.__pathColumn = 2 |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.__lastColumn = self.statusList.columnCount() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
58 | self.refreshButton = self.buttonBox.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
59 | self.tr("Refresh"), QDialogButtonBox.ActionRole) |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
60 | self.refreshButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
61 | self.tr("Press to refresh the status display")) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | self.refreshButton.setEnabled(False) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
66 | self.diff = None |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | self.vcs = vcs |
495
b31b0bffa5b0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
470
diff
changeset
|
68 | self.vcs.committed.connect(self.__committed) |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
69 | self.__hgClient = self.vcs.getClient() |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
70 | self.__mq = mq |
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:
4072
diff
changeset
|
71 | 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:
4072
diff
changeset
|
72 | 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:
4072
diff
changeset
|
73 | 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:
4072
diff
changeset
|
74 | 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:
4072
diff
changeset
|
75 | 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:
4072
diff
changeset
|
76 | 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:
4072
diff
changeset
|
77 | self.process.readyReadStandardError.connect(self.__readStderr) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | self.statusList.headerItem().setText(self.__lastColumn, "") |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
80 | self.statusList.header().setSortIndicator( |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
81 | self.__pathColumn, Qt.AscendingOrder) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
83 | font = Preferences.getEditorOtherFonts("MonospacedFont") |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
84 | self.diffEdit.setFontFamily(font.family()) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
85 | self.diffEdit.setFontPointSize(font.pointSize()) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
86 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
87 | self.diffHighlighter = HgDiffHighlighter(self.diffEdit.document()) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
88 | self.__diffGenerator = HgDiffGenerator(vcs, self) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
89 | self.__diffGenerator.finished.connect(self.__generatorFinished) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
90 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
91 | self.__selectedName = "" |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
92 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | self.modifiedIndicators = [ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
94 | self.tr('added'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
95 | self.tr('modified'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
96 | self.tr('removed'), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | ] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | self.unversionedIndicators = [ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
100 | self.tr('not tracked'), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | ] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | |
216
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
103 | self.missingIndicators = [ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
104 | self.tr('missing') |
216
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
105 | ] |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
106 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | self.status = { |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
108 | 'A': self.tr('added'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
109 | 'C': self.tr('normal'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
110 | 'I': self.tr('ignored'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
111 | 'M': self.tr('modified'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
112 | 'R': self.tr('removed'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
113 | '?': self.tr('not tracked'), |
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('missing'), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | } |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
116 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
117 | self.__initActionsMenu() |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
118 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
119 | if mq: |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
120 | self.diffLabel.setVisible(False) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
121 | self.diffEdit.setVisible(False) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
122 | self.actionsButton.setEnabled(False) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
123 | self.diffSplitter.setSizes([600, 0]) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
124 | else: |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
125 | self.diffSplitter.setSizes([300, 300]) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
126 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
127 | def __initActionsMenu(self): |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
128 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
129 | Private method to initialize the actions menu. |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
130 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
131 | self.__actionsMenu = QMenu() |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
132 | self.__actionsMenu.setTearOffEnabled(True) |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
133 | if qVersionTuple() >= (5, 1, 0): |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
134 | self.__actionsMenu.setToolTipsVisible(True) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
135 | else: |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
136 | self.__actionsMenu.hovered.connect(self.__actionsMenuHovered) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
137 | self.__actionsMenu.aboutToShow.connect(self.__showActionsMenu) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
138 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
139 | self.__commitAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
140 | self.tr("Commit"), self.__commit) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
141 | self.__commitAct.setToolTip(self.tr("Commit the selected changes")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
142 | self.__commitSelectAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
143 | self.tr("Select all for commit"), self.__commitSelectAll) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
144 | self.__commitDeselectAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
145 | self.tr("Unselect all from commit"), self.__commitDeselectAll) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
146 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
147 | self.__actionsMenu.addSeparator() |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
148 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
149 | self.__addAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
150 | self.tr("Add"), self.__add) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
151 | self.__addAct.setToolTip(self.tr("Add the selected files")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
152 | self.__lfAddLargeAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
153 | self.tr("Add as Large Files"), lambda: self.__lfAdd("large")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
154 | self.__lfAddLargeAct.setToolTip(self.tr( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
155 | "Add the selected files as a large files using the 'Large Files'" |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
156 | " extension")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
157 | self.__lfAddNormalAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
158 | self.tr("Add as Normal Files"), lambda: self.__lfAdd("normal")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
159 | self.__lfAddNormalAct.setToolTip(self.tr( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
160 | "Add the selected files as a normal files using the 'Large Files'" |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
161 | " extension")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
162 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
163 | self.__actionsMenu.addSeparator() |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
164 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
165 | self.__diffAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
166 | self.tr("Differences"), self.__diff) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
167 | self.__diffAct.setToolTip(self.tr( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
168 | "Shows the differences of the selected entry in a" |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
169 | " separate dialog")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
170 | self.__sbsDiffAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
171 | self.tr("Differences Side-By-Side"), self.__sbsDiff) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
172 | self.__sbsDiffAct.setToolTip(self.tr( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
173 | "Shows the differences of the selected entry side-by-side in" |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
174 | " a separate dialog")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
175 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
176 | self.__actionsMenu.addSeparator() |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
177 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
178 | self.__revertAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
179 | self.tr("Revert"), self.__revert) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
180 | self.__revertAct.setToolTip(self.tr( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
181 | "Reverts the changes of the selected files")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
182 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
183 | self.__actionsMenu.addSeparator() |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
184 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
185 | self.__forgetAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
186 | self.tr("Forget missing"), self.__forget) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
187 | self.__forgetAct.setToolTip(self.tr( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
188 | "Forgets about the selected missing files")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
189 | self.__restoreAct = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
190 | self.tr("Restore missing"), self.__restoreMissing) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
191 | self.__restoreAct.setToolTip(self.tr( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
192 | "Restores the selected missing files")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
193 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
194 | self.__actionsMenu.addSeparator() |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
195 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
196 | act = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
197 | self.tr("Adjust column sizes"), self.__resizeColumns) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
198 | act.setToolTip(self.tr( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
199 | "Adjusts the width of all columns to their contents")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
200 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
201 | self.actionsButton.setIcon( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
202 | UI.PixmapCache.getIcon("actionsToolButton.png")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
203 | self.actionsButton.setMenu(self.__actionsMenu) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
204 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
205 | def __actionsMenuHovered(self, action): |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
206 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
207 | Private slot to show the tooltip for an action menu entry. |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
208 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
209 | @param action action to show tooltip for |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
210 | @type QAction |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
211 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
212 | QToolTip.showText( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
213 | QCursor.pos(), action.toolTip(), |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
214 | self.__actionsMenu, self.__actionsMenu.actionGeometry(action)) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | |
5520
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
216 | def closeEvent(self, e): |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
217 | """ |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
218 | Protected slot implementing a close event handler. |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
219 | |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
220 | @param e close event (QCloseEvent) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
221 | """ |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
222 | if self.__hgClient: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
223 | if self.__hgClient.isExecuting(): |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
224 | self.__hgClient.cancel() |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
225 | else: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
226 | if self.process is not None and \ |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
227 | self.process.state() != QProcess.NotRunning: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
228 | self.process.terminate() |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
229 | QTimer.singleShot(2000, self.process.kill) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
230 | self.process.waitForFinished(3000) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
231 | |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
232 | if self.__mq: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
233 | self.vcs.getPlugin().setPreferences( |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
234 | "MqStatusDialogGeometry", self.saveGeometry()) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
235 | self.vcs.getPlugin().setPreferences( |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
236 | "MqStatusDialogSplitterState", self.diffSplitter.saveState()) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
237 | else: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
238 | self.vcs.getPlugin().setPreferences( |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
239 | "StatusDialogGeometry", self.saveGeometry()) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
240 | self.vcs.getPlugin().setPreferences( |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
241 | "StatusDialogSplitterState", self.diffSplitter.saveState()) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
242 | |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
243 | e.accept() |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
244 | |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
245 | def show(self): |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
246 | """ |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
247 | Public slot to show the dialog. |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
248 | """ |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
249 | super(HgStatusDialog, self).show() |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
250 | |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
251 | if self.__mq: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
252 | geom = self.vcs.getPlugin().getPreferences( |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
253 | "MqStatusDialogGeometry") |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
254 | else: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
255 | geom = self.vcs.getPlugin().getPreferences( |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
256 | "StatusDialogGeometry") |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
257 | if geom.isEmpty(): |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
258 | s = QSize(800, 600) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
259 | self.resize(s) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
260 | else: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
261 | self.restoreGeometry(geom) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
262 | |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
263 | if self.__mq: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
264 | diffSplitterState = self.vcs.getPlugin().getPreferences( |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
265 | "MqStatusDialogSplitterState") |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
266 | else: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
267 | diffSplitterState = self.vcs.getPlugin().getPreferences( |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
268 | "StatusDialogSplitterState") |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
269 | if diffSplitterState is not None: |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
270 | self.diffSplitter.restoreState(diffSplitterState) |
2a97a4d58bc6
Added code to the Mercurial status dialog to remember the window geometry and the splitter state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5507
diff
changeset
|
271 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | def __resort(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | Private method to resort the tree. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | """ |
3023
34ce20603bf7
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
276 | self.statusList.sortItems( |
34ce20603bf7
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
277 | self.statusList.sortColumn(), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | self.statusList.header().sortIndicatorOrder()) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | def __resizeColumns(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | Private method to resize the list columns. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | self.statusList.header().resizeSections(QHeaderView.ResizeToContents) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | self.statusList.header().setStretchLastSection(True) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | def __generateItem(self, status, path): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | Private method to generate a status item in the status list. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | @param status status indicator (string) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | @param path path of the file or directory (string) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | """ |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
294 | statusText = self.status[status] |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | itm = QTreeWidgetItem(self.statusList, [ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
917
diff
changeset
|
296 | "", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
917
diff
changeset
|
297 | statusText, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
917
diff
changeset
|
298 | path, |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | ]) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
301 | itm.setTextAlignment(1, Qt.AlignHCenter) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
302 | itm.setTextAlignment(2, Qt.AlignLeft) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
304 | if status in "AMR": |
1294
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
305 | itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable) |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
306 | itm.setCheckState(self.__toBeCommittedColumn, Qt.Checked) |
1294
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
307 | else: |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
308 | itm.setFlags(itm.flags() & ~Qt.ItemIsUserCheckable) |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
309 | |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
310 | if statusText not in self.__statusFilters: |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
311 | self.__statusFilters.append(statusText) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
312 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | def start(self, fn): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | """ |
198
7ab8e126f404
Fixed a few issues with the Mercurial plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
197
diff
changeset
|
315 | Public slot to start the hg status command. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | @param fn filename(s)/directoryname(s) to show the status of |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | (string or list of strings) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | self.errorGroup.hide() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | self.intercept = False |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | self.args = fn |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
324 | self.actionsButton.setEnabled(False) |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
325 | |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
326 | self.statusFilterCombo.clear() |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
327 | self.__statusFilters = [] |
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:
4072
diff
changeset
|
328 | self.statusList.clear() |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
329 | |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
330 | if self.__mq: |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
331 | self.setWindowTitle( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
332 | self.tr("Mercurial Queue Repository Status")) |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
333 | else: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
334 | self.setWindowTitle(self.tr('Mercurial Status')) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | |
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
|
336 | args = self.vcs.initCommand("status") |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
337 | if self.__mq: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
338 | args.append('--mq') |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
339 | if isinstance(fn, list): |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
340 | self.dname, fnames = self.vcs.splitPathList(fn) |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
341 | else: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
342 | self.dname, fname = self.vcs.splitPath(fn) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | else: |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
344 | if self.vcs.hasSubrepositories(): |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
345 | args.append("--subrepos") |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
346 | |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
347 | if isinstance(fn, list): |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
348 | self.dname, fnames = self.vcs.splitPathList(fn) |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
349 | self.vcs.addArguments(args, fn) |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
350 | else: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
351 | self.dname, fname = self.vcs.splitPath(fn) |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
352 | args.append(fn) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | # find the root of the repo |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | repodir = self.dname |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | 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:
1311
diff
changeset
|
358 | if os.path.splitdrive(repodir)[1] == os.sep: |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | return |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
361 | if self.__hgClient: |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | self.inputGroup.setEnabled(False) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | self.inputGroup.hide() |
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:
4072
diff
changeset
|
364 | self.refreshButton.setEnabled(False) |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
365 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
366 | out, err = self.__hgClient.runcommand(args) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
367 | if err: |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
368 | self.__showError(err) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
369 | if out: |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
370 | for line in out.splitlines(): |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
371 | self.__processOutputLine(line) |
1256
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1250
diff
changeset
|
372 | if self.__hgClient.wasCanceled(): |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1250
diff
changeset
|
373 | break |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
374 | self.__finish() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | else: |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
376 | if self.process: |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
377 | self.process.kill() |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
378 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
379 | self.process.setWorkingDirectory(repodir) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
380 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
381 | 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:
2616
diff
changeset
|
382 | procStarted = self.process.waitForStarted(5000) |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
383 | if not procStarted: |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
384 | self.inputGroup.setEnabled(False) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
385 | self.inputGroup.hide() |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
386 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
387 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
388 | 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
|
389 | self.tr( |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
390 | 'The process {0} could not be started. ' |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
391 | 'Ensure, that it is in the search path.' |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
392 | ).format('hg')) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
393 | else: |
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:
4072
diff
changeset
|
394 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
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:
4072
diff
changeset
|
395 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) |
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:
4072
diff
changeset
|
396 | self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
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:
4072
diff
changeset
|
397 | |
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:
4072
diff
changeset
|
398 | self.refreshButton.setEnabled(False) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | def __finish(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
402 | 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:
2840
diff
changeset
|
403 | the button. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | if self.process is not None and \ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | self.process.state() != QProcess.NotRunning: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | self.process.terminate() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | QTimer.singleShot(2000, self.process.kill) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | self.process.waitForFinished(3000) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | |
221
38689444e922
Corrected the button handling of some Mercurial dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
411 | self.inputGroup.setEnabled(False) |
38689444e922
Corrected the button handling of some Mercurial dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
412 | self.inputGroup.hide() |
38689444e922
Corrected the button handling of some Mercurial dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
413 | self.refreshButton.setEnabled(True) |
38689444e922
Corrected the button handling of some Mercurial dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
414 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | 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:
2840
diff
changeset
|
418 | self.buttonBox.button(QDialogButtonBox.Close).setFocus( |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
419 | Qt.OtherFocusReason) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
421 | self.__statusFilters.sort() |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
422 | self.__statusFilters.insert(0, "<{0}>".format(self.tr("all"))) |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
423 | self.statusFilterCombo.addItems(self.__statusFilters) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
424 | |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
425 | if not self.__mq: |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
426 | self.actionsButton.setEnabled(True) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | self.__resort() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | self.__resizeColumns() |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
430 | |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
431 | self.__refreshDiff() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | def on_buttonBox_clicked(self, button): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | Private slot called by a button of the button box clicked. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | @param button button that was clicked (QAbstractButton) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | if button == self.buttonBox.button(QDialogButtonBox.Close): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | self.close() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | elif button == self.buttonBox.button(QDialogButtonBox.Cancel): |
1242
dfb9609caf51
Continued implementing an interface to the Mercurial command server. Modified client all all dialogs done so far to provide a cancel capability..
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1241
diff
changeset
|
442 | if self.__hgClient: |
dfb9609caf51
Continued implementing an interface to the Mercurial command server. Modified client all all dialogs done so far to provide a cancel capability..
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1241
diff
changeset
|
443 | self.__hgClient.cancel() |
dfb9609caf51
Continued implementing an interface to the Mercurial command server. Modified client all all dialogs done so far to provide a cancel capability..
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1241
diff
changeset
|
444 | else: |
dfb9609caf51
Continued implementing an interface to the Mercurial command server. Modified client all all dialogs done so far to provide a cancel capability..
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1241
diff
changeset
|
445 | self.__finish() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | elif button == self.refreshButton: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | self.on_refreshButton_clicked() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | def __procFinished(self, exitCode, exitStatus): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | Private slot connected to the finished signal. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | @param exitCode exit code of the process (integer) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | @param exitStatus exit status of the process (QProcess.ExitStatus) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | self.__finish() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | def __readStdout(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | Private slot to handle the readyReadStandardOutput signal. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | It reads the output of the process, formats it and inserts it into |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | the contents pane. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | if self.process is not None: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | self.process.setReadChannel(QProcess.StandardOutput) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | while self.process.canReadLine(): |
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
|
469 | line = str(self.process.readLine(), self.vcs.getEncoding(), |
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
|
470 | 'replace') |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
471 | self.__processOutputLine(line) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
472 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
473 | def __processOutputLine(self, line): |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
474 | """ |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
475 | Private method to process the lines of output. |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
476 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
477 | @param line output line to be processed (string) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
478 | """ |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
479 | if line[0] in "ACIMR?!" and line[1] == " ": |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
480 | status, path = line.strip().split(" ", 1) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
481 | self.__generateItem(status, path) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | def __readStderr(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | Private slot to handle the readyReadStandardError signal. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | It reads the error output of the process and inserts it into the |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
488 | error pane. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | if self.process is not None: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
917
diff
changeset
|
491 | 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
|
492 | self.vcs.getEncoding(), 'replace') |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
493 | self.__showError(s) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
494 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
495 | def __showError(self, out): |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
496 | """ |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
497 | Private slot to show some error. |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
498 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
499 | @param out error to be shown (string) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
500 | """ |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
501 | self.errorGroup.show() |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
502 | self.errors.insertPlainText(out) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
503 | self.errors.ensureCursorVisible() |
5463
d84b854d59c0
Changed the status and log browser dialogs to show the input widgets only when something was written to stderr in order to get less flicker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
504 | |
d84b854d59c0
Changed the status and log browser dialogs to show the input widgets only when something was written to stderr in order to get less flicker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
505 | if not self.__hgClient: |
d84b854d59c0
Changed the status and log browser dialogs to show the input widgets only when something was written to stderr in order to get less flicker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
506 | # show input in case the process asked for some input |
d84b854d59c0
Changed the status and log browser dialogs to show the input widgets only when something was written to stderr in order to get less flicker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
507 | self.inputGroup.setEnabled(True) |
d84b854d59c0
Changed the status and log browser dialogs to show the input widgets only when something was written to stderr in order to get less flicker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
508 | self.inputGroup.show() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | def on_passwordCheckBox_toggled(self, isOn): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | Private slot to handle the password checkbox toggled. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | @param isOn flag indicating the status of the check box (boolean) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | if isOn: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | self.input.setEchoMode(QLineEdit.Password) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | else: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | self.input.setEchoMode(QLineEdit.Normal) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | @pyqtSlot() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | def on_sendButton_clicked(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | Private slot to send the input to the subversion process. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | """ |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
526 | 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
|
527 | inputTxt += os.linesep |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | if self.passwordCheckBox.isChecked(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | self.errors.insertPlainText(os.linesep) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | self.errors.ensureCursorVisible() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
533 | self.errors.insertPlainText(inputTxt) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | self.errors.ensureCursorVisible() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
536 | self.process.write(inputTxt) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
538 | self.passwordCheckBox.setChecked(False) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | self.input.clear() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | def on_input_returnPressed(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
543 | Private slot to handle the press of the return key in the input field. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
544 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | self.intercept = True |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | self.on_sendButton_clicked() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | def keyPressEvent(self, evt): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | Protected slot to handle a key press event. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
551 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
552 | @param evt the key press event (QKeyEvent) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
553 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | if self.intercept: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | self.intercept = False |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | evt.accept() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | return |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2405
diff
changeset
|
558 | super(HgStatusDialog, self).keyPressEvent(evt) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
560 | @pyqtSlot() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
561 | def on_refreshButton_clicked(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | Private slot to refresh the status display. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | """ |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
565 | selectedItems = self.statusList.selectedItems() |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
566 | if len(selectedItems) == 1: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
567 | self.__selectedName = selectedItems[0].text(self.__pathColumn) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
568 | else: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
569 | self.__selectedName = "" |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
570 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | self.start(self.args) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
573 | @pyqtSlot(str) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
574 | def on_statusFilterCombo_activated(self, txt): |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
575 | """ |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
576 | Private slot to react to the selection of a status filter. |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
577 | |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
578 | @param txt selected status filter (string) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
579 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
580 | if txt == "<{0}>".format(self.tr("all")): |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
581 | for topIndex in range(self.statusList.topLevelItemCount()): |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
582 | topItem = self.statusList.topLevelItem(topIndex) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
583 | topItem.setHidden(False) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
584 | else: |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
585 | for topIndex in range(self.statusList.topLevelItemCount()): |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
586 | topItem = self.statusList.topLevelItem(topIndex) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
587 | topItem.setHidden(topItem.text(self.__statusColumn) != txt) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
588 | |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
589 | @pyqtSlot() |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
590 | def on_statusList_itemSelectionChanged(self): |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
591 | """ |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
592 | Private slot to act upon changes of selected items. |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
593 | """ |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
594 | self.__generateDiffs() |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
595 | |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
596 | ########################################################################### |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
597 | ## Menu handling methods |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
598 | ########################################################################### |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
599 | |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
600 | def __showActionsMenu(self): |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
601 | """ |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
602 | Private slot to prepare the actions button menu before it is shown. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
603 | """ |
3406
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
604 | modified = len(self.__getModifiedItems()) |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
605 | unversioned = len(self.__getUnversionedItems()) |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
606 | missing = len(self.__getMissingItems()) |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
607 | commitable = len(self.__getCommitableItems()) |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
608 | commitableUnselected = len(self.__getCommitableUnselectedItems()) |
3406
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
609 | |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
610 | self.__addAct.setEnabled(unversioned) |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
611 | self.__diffAct.setEnabled(modified) |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
612 | self.__sbsDiffAct.setEnabled(modified == 1) |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
613 | self.__revertAct.setEnabled(modified) |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
614 | self.__forgetAct.setEnabled(missing) |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
615 | self.__restoreAct.setEnabled(missing) |
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
616 | self.__commitAct.setEnabled(commitable) |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
617 | self.__commitSelectAct.setEnabled(commitableUnselected) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
618 | self.__commitDeselectAct.setEnabled(commitable) |
3406
b3612f0fbf55
Changed the context menu of the Mercurial status dialog to only enable items available in the current situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3342
diff
changeset
|
619 | |
3315
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
620 | if self.vcs.isExtensionActive("largefiles"): |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
621 | enable = bool(unversioned) |
3326
b4868bd56338
Fixed a bug in the Mercurial status dialog introduced with the largefiles support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
622 | else: |
b4868bd56338
Fixed a bug in the Mercurial status dialog introduced with the largefiles support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
623 | enable = False |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
624 | self.__lfAddLargeAct.setEnabled(enable) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
625 | self.__lfAddNormalAct.setEnabled(enable) |
3342
f8cd11fa94ed
Fixed an issue in the Mercurial status dialog causing the Add button menu to have largefiles entries enabled even when the extension is not active.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3326
diff
changeset
|
626 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
627 | def __commit(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
628 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
629 | Private slot to handle the Commit context menu entry. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
630 | """ |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
631 | if self.__mq: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
632 | self.vcs.vcsCommit(self.dname, "", mq=True) |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
633 | else: |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3023
diff
changeset
|
634 | names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
635 | for itm in self.__getCommitableItems()] |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
636 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
637 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
638 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
639 | self.tr("Commit"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
640 | self.tr("""There are no entries selected to be""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
641 | """ committed.""")) |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
642 | return |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
643 | |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
644 | if Preferences.getVCS("AutoSaveFiles"): |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
645 | vm = e5App().getObject("ViewManager") |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
646 | for name in names: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
647 | vm.saveEditor(name) |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
648 | self.vcs.vcsCommit(names, '') |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
649 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
650 | def __committed(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
651 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
652 | Private slot called after the commit has finished. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
653 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
654 | if self.isVisible(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
655 | self.on_refreshButton_clicked() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
656 | self.vcs.checkVCSStatus() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
657 | |
1294
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
658 | def __commitSelectAll(self): |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
659 | """ |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
660 | Private slot to select all entries for commit. |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
661 | """ |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
662 | self.__commitSelect(True) |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
663 | |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
664 | def __commitDeselectAll(self): |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
665 | """ |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
666 | Private slot to deselect all entries from commit. |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
667 | """ |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
668 | self.__commitSelect(False) |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
669 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
670 | def __add(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | Private slot to handle the Add context menu entry. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
673 | """ |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3023
diff
changeset
|
674 | names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | for itm in self.__getUnversionedItems()] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
676 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
677 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
678 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
679 | self.tr("Add"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
680 | self.tr("""There are no unversioned entries""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
681 | """ available/selected.""")) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
682 | return |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
683 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
684 | self.vcs.vcsAdd(names) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
685 | self.on_refreshButton_clicked() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
686 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
687 | project = e5App().getObject("Project") |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
688 | for name in names: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
689 | project.getModel().updateVCSStatus(name) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
690 | self.vcs.checkVCSStatus() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
691 | |
3315
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
692 | def __lfAdd(self, mode): |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
693 | """ |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
694 | Private slot to add a file to the repository. |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
695 | |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
696 | @param mode add mode (string one of 'normal' or 'large') |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
697 | """ |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
698 | names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
699 | for itm in self.__getUnversionedItems()] |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
700 | if not names: |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
701 | E5MessageBox.information( |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
702 | self, |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
703 | self.tr("Add"), |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
704 | self.tr("""There are no unversioned entries""" |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
705 | """ available/selected.""")) |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
706 | return |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
707 | |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
708 | self.vcs.getExtensionObject("largefiles").hgAdd( |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
709 | names, mode) |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
710 | self.on_refreshButton_clicked() |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
711 | |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
712 | project = e5App().getObject("Project") |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
713 | for name in names: |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
714 | project.getModel().updateVCSStatus(name) |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
715 | self.vcs.checkVCSStatus() |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
716 | |
216
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
717 | def __forget(self): |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
718 | """ |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
719 | Private slot to handle the Remove context menu entry. |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
720 | """ |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3023
diff
changeset
|
721 | names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
216
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
722 | for itm in self.__getMissingItems()] |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
723 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
724 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
725 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
726 | self.tr("Remove"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
727 | self.tr("""There are no missing entries""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
728 | """ available/selected.""")) |
216
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
729 | return |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
730 | |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
731 | self.vcs.hgForget(names) |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
732 | self.on_refreshButton_clicked() |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
733 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
734 | def __revert(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
735 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
736 | Private slot to handle the Revert context menu entry. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
737 | """ |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3023
diff
changeset
|
738 | names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
739 | for itm in self.__getModifiedItems()] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
740 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
741 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
742 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
743 | self.tr("Revert"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
744 | self.tr("""There are no uncommitted changes""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
745 | """ available/selected.""")) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
746 | return |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
747 | |
1311
95685f9ad9f8
Added support for importing patches to the Mercurial interface and made it's revert action check, if the project should be reread.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1294
diff
changeset
|
748 | self.vcs.hgRevert(names) |
2616
954b4069325b
Fixed a little issue in the various VCS status dialogs __revert function causing the status dialog to get hidden behind the main window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2405
diff
changeset
|
749 | self.raise_() |
954b4069325b
Fixed a little issue in the various VCS status dialogs __revert function causing the status dialog to get hidden behind the main window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2405
diff
changeset
|
750 | self.activateWindow() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
751 | self.on_refreshButton_clicked() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
752 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
753 | project = e5App().getObject("Project") |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
754 | for name in names: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
755 | project.getModel().updateVCSStatus(name) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
756 | self.vcs.checkVCSStatus() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
757 | |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
758 | def __restoreMissing(self): |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
759 | """ |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
760 | Private slot to handle the Restore Missing context menu entry. |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
761 | """ |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
762 | names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
763 | for itm in self.__getMissingItems()] |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
764 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
765 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
766 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
767 | self.tr("Revert"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
768 | self.tr("""There are no missing entries""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
769 | """ available/selected.""")) |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
770 | return |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
771 | |
1311
95685f9ad9f8
Added support for importing patches to the Mercurial interface and made it's revert action check, if the project should be reread.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1294
diff
changeset
|
772 | self.vcs.hgRevert(names) |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
773 | self.on_refreshButton_clicked() |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
774 | self.vcs.checkVCSStatus() |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
775 | |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
776 | def __diff(self): |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
777 | """ |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
778 | Private slot to handle the Diff context menu entry. |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
779 | """ |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
780 | names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
781 | for itm in self.__getModifiedItems()] |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
782 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
783 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
784 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
785 | self.tr("Differences"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
786 | self.tr("""There are no uncommitted changes""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
787 | """ available/selected.""")) |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
788 | return |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
789 | |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
790 | if self.diff is None: |
2405
d4b5f3bd4720
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
791 | from .HgDiffDialog import HgDiffDialog |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
792 | self.diff = HgDiffDialog(self.vcs) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
793 | self.diff.show() |
4072
46fb585f60f2
Extended the diff dialogs of the various VCS interfaces to allow a refresh in certain situations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
794 | self.diff.start(names, refreshable=True) |
2840
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
795 | |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
796 | def __sbsDiff(self): |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
797 | """ |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
798 | Private slot to handle the Diff context menu entry. |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
799 | """ |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
800 | names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
801 | for itm in self.__getModifiedItems()] |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
802 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
803 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
804 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
805 | self.tr("Side-by-Side Diff"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
806 | self.tr("""There are no uncommitted changes""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
807 | """ available/selected.""")) |
2840
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
808 | return |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
809 | elif len(names) > 1: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
810 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
811 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
812 | self.tr("Side-by-Side Diff"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
813 | self.tr("""Only one file with uncommitted changes""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
814 | """ must be selected.""")) |
2840
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
815 | return |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
816 | |
2840
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
817 | self.vcs.hgSbsDiff(names[0]) |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
818 | |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
819 | def __getCommitableItems(self): |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
820 | """ |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
821 | Private method to retrieve all entries the user wants to commit. |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
822 | |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
823 | @return list of all items, the user has checked |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
824 | """ |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
825 | commitableItems = [] |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
826 | for index in range(self.statusList.topLevelItemCount()): |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
827 | itm = self.statusList.topLevelItem(index) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
828 | if itm.checkState(self.__toBeCommittedColumn) == Qt.Checked: |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
829 | commitableItems.append(itm) |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
830 | return commitableItems |
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
831 | |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
832 | def __getCommitableUnselectedItems(self): |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
833 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
834 | Private method to retrieve all entries the user may commit but hasn't |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
835 | selected. |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
836 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
837 | @return list of all items, the user has checked |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
838 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
839 | items = [] |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
840 | for index in range(self.statusList.topLevelItemCount()): |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
841 | itm = self.statusList.topLevelItem(index) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
842 | if itm.flags() & Qt.ItemIsUserCheckable and \ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
843 | itm.checkState(self.__toBeCommittedColumn) == Qt.Unchecked: |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
844 | items.append(itm) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
845 | return items |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
846 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
847 | def __getModifiedItems(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
848 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
849 | Private method to retrieve all entries, that have a modified status. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
850 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
851 | @return list of all items with a modified status |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
852 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
853 | modifiedItems = [] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
854 | for itm in self.statusList.selectedItems(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
855 | if itm.text(self.__statusColumn) in self.modifiedIndicators: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
856 | modifiedItems.append(itm) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | return modifiedItems |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
858 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
859 | def __getUnversionedItems(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
860 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
861 | Private method to retrieve all entries, that have an unversioned |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
862 | status. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
864 | @return list of all items with an unversioned status |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
865 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
866 | unversionedItems = [] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
867 | for itm in self.statusList.selectedItems(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
868 | if itm.text(self.__statusColumn) in self.unversionedIndicators: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
869 | unversionedItems.append(itm) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
870 | return unversionedItems |
216
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
871 | |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
872 | def __getMissingItems(self): |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
873 | """ |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
874 | Private method to retrieve all entries, that have a missing status. |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
875 | |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
876 | @return list of all items with a missing status |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
877 | """ |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
878 | missingItems = [] |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
879 | for itm in self.statusList.selectedItems(): |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
880 | if itm.text(self.__statusColumn) in self.missingIndicators: |
6f9713e8d570
Added actions to identify the repo, to forget about files and added an additional status to be reported by the status monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
881 | missingItems.append(itm) |
917
746c54b643eb
Added functionality to the VCS status dialogs to make them more general commit dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
882 | return missingItems |
1294
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
883 | |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
884 | def __commitSelect(self, selected): |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
885 | """ |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
886 | Private slot to select or deselect all entries. |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
887 | |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
888 | @param selected commit selection state to be set (boolean) |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
889 | """ |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
890 | for index in range(self.statusList.topLevelItemCount()): |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
891 | itm = self.statusList.topLevelItem(index) |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
892 | if itm.flags() & Qt.ItemIsUserCheckable: |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
893 | if selected: |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
894 | itm.setCheckState(self.__toBeCommittedColumn, Qt.Checked) |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
895 | else: |
d051b9d1426d
Added context menu actions to select/deselect all commitable items of the various VCS status dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1256
diff
changeset
|
896 | itm.setCheckState(self.__toBeCommittedColumn, Qt.Unchecked) |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
897 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
898 | ########################################################################### |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
899 | ## Diff handling methods below |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
900 | ########################################################################### |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
901 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
902 | def __generateDiffs(self): |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
903 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
904 | Private slot to generate diff outputs for the selected item. |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
905 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
906 | self.diffEdit.clear() |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
907 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
908 | if not self.__mq: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
909 | selectedItems = self.statusList.selectedItems() |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
910 | if len(selectedItems) == 1: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
911 | fn = os.path.join(self.dname, |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
912 | selectedItems[0].text(self.__pathColumn)) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
913 | self.__diffGenerator.start(fn) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
914 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
915 | def __generatorFinished(self): |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
916 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
917 | Private slot connected to the finished signal of the diff generator. |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
918 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
919 | diff = self.__diffGenerator.getResult()[0] |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
920 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
921 | if diff: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
922 | for line in diff[:]: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
923 | if line.startswith("@@ "): |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
924 | break |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
925 | else: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
926 | diff.pop(0) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
927 | self.diffEdit.setPlainText("".join(diff)) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
928 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
929 | tc = self.diffEdit.textCursor() |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
930 | tc.movePosition(QTextCursor.Start) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
931 | self.diffEdit.setTextCursor(tc) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
932 | self.diffEdit.ensureCursorVisible() |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
933 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
934 | def __refreshDiff(self): |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
935 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
936 | Private method to refresh the diff output after a refresh. |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
937 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
938 | if self.__selectedName and not self.__mq: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
939 | for index in range(self.statusList.topLevelItemCount()): |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
940 | itm = self.statusList.topLevelItem(index) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
941 | if itm.text(self.__pathColumn) == self.__selectedName: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
942 | itm.setSelected(True) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
943 | break |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
944 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
945 | self.__selectedName = "" |