Sat, 31 Aug 2019 12:18:44 +0200
HgStatusDialog: backed out the disabling of the status list for merges because it prevents to review the individual changes and to inspect the list for long lists of changed files.
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 | |
6645
ad476851d7e0
Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
3 | # Copyright (c) 2010 - 2019 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 |
5848
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5765
diff
changeset
|
34 | from Globals import qVersionTuple, strToQByteArray |
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() |
7183
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
195 | |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
196 | self.__commitMergeAct = self.__actionsMenu.addAction( |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
197 | self.tr("Commit Merge"), self.__commitMerge) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
198 | self.__commitMergeAct.setToolTip(self.tr("Commit all the merged" |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
199 | " changes.")) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
200 | self.__abortMergeAct = self.__actionsMenu.addAction( |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
201 | self.tr("Abort Merge"), self.__abortMerge) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
202 | self.__commitMergeAct.setToolTip(self.tr("Abort an uncommitted merge " |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
203 | "and lose all changes")) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
204 | |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
205 | self.__actionsMenu.addSeparator() |
5522
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 | act = self.__actionsMenu.addAction( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
208 | self.tr("Adjust column sizes"), self.__resizeColumns) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
209 | act.setToolTip(self.tr( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
210 | "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
|
211 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
212 | self.actionsButton.setIcon( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
213 | UI.PixmapCache.getIcon("actionsToolButton.png")) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
214 | self.actionsButton.setMenu(self.__actionsMenu) |
7183
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
215 | |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
216 | def __actionsMenuHovered(self, action): |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
217 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
218 | 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
|
219 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
220 | @param action action to show tooltip for |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
221 | @type QAction |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
222 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
223 | QToolTip.showText( |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
224 | QCursor.pos(), action.toolTip(), |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
225 | self.__actionsMenu, self.__actionsMenu.actionGeometry(action)) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | |
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
|
227 | 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
|
228 | """ |
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 | 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
|
230 | |
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 | @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
|
232 | """ |
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 | 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
|
234 | 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
|
235 | 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
|
236 | 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
|
237 | 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
|
238 | 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
|
239 | 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
|
240 | 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
|
241 | 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
|
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 | 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
|
244 | 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
|
245 | "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
|
246 | 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
|
247 | "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
|
248 | 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
|
249 | 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
|
250 | "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
|
251 | 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
|
252 | "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
|
253 | |
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 | 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
|
255 | |
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 | 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
|
257 | """ |
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 | 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
|
259 | """ |
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 | 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
|
261 | |
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 | 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
|
263 | 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
|
264 | "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
|
265 | 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
|
266 | 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
|
267 | "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
|
268 | 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
|
269 | 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
|
270 | 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
|
271 | 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
|
272 | 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
|
273 | |
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
|
274 | 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
|
275 | 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
|
276 | "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
|
277 | 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
|
278 | 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
|
279 | "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
|
280 | 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
|
281 | 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
|
282 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | def __resort(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | Private method to resort the tree. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | """ |
3023
34ce20603bf7
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
287 | self.statusList.sortItems( |
34ce20603bf7
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
288 | self.statusList.sortColumn(), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | self.statusList.header().sortIndicatorOrder()) |
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 | def __resizeColumns(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | Private method to resize the list columns. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | self.statusList.header().resizeSections(QHeaderView.ResizeToContents) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | self.statusList.header().setStretchLastSection(True) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | def __generateItem(self, status, path): |
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 | 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
|
301 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | @param status status indicator (string) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | @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
|
304 | """ |
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
|
305 | statusText = self.status[status] |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | 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
|
307 | "", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
917
diff
changeset
|
308 | statusText, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
917
diff
changeset
|
309 | path, |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | ]) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | |
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
|
312 | 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
|
313 | itm.setTextAlignment(2, Qt.AlignLeft) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | |
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
|
315 | 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
|
316 | 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
|
317 | 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
|
318 | 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
|
319 | 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
|
320 | |
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
|
321 | 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
|
322 | 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
|
323 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | def start(self, fn): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | """ |
198
7ab8e126f404
Fixed a few issues with the Mercurial plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
197
diff
changeset
|
326 | 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
|
327 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | @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
|
329 | (string or list of strings) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | self.errorGroup.hide() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | self.intercept = False |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | self.args = fn |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
335 | 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
|
336 | |
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
|
337 | 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
|
338 | 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
|
339 | 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
|
340 | |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
341 | 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
|
342 | 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
|
343 | 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
|
344 | else: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
345 | self.setWindowTitle(self.tr('Mercurial Status')) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | |
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
|
347 | 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
|
348 | if self.__mq: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
349 | args.append('--mq') |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
350 | if isinstance(fn, list): |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
351 | 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
|
352 | else: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
353 | 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
|
354 | else: |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
355 | if self.vcs.hasSubrepositories(): |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
356 | args.append("--subrepos") |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
357 | |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
358 | if isinstance(fn, list): |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
359 | 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
|
360 | self.vcs.addArguments(args, fn) |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
361 | else: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
362 | 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
|
363 | args.append(fn) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | # find the root of the repo |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | repodir = self.dname |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | 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
|
368 | 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
|
369 | 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
|
370 | return |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
372 | if self.__hgClient: |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | self.inputGroup.setEnabled(False) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | 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
|
375 | 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
|
376 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
377 | 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
|
378 | if err: |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
379 | self.__showError(err) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
380 | if out: |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
381 | 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
|
382 | self.__processOutputLine(line) |
1256
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1250
diff
changeset
|
383 | if self.__hgClient.wasCanceled(): |
885706dbb69f
Refined the Mercurial command server interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1250
diff
changeset
|
384 | break |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
385 | self.__finish() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | else: |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
387 | if self.process: |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
388 | self.process.kill() |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
389 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
390 | self.process.setWorkingDirectory(repodir) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
391 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
392 | 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
|
393 | 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
|
394 | if not procStarted: |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
395 | self.inputGroup.setEnabled(False) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
396 | self.inputGroup.hide() |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
397 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
398 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
399 | self.tr('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
|
400 | self.tr( |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
401 | '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
|
402 | '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
|
403 | ).format('hg')) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
404 | 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
|
405 | 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
|
406 | 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
|
407 | 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
|
408 | |
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
|
409 | self.refreshButton.setEnabled(False) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | def __finish(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
413 | 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
|
414 | the button. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | if self.process is not None and \ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | self.process.state() != QProcess.NotRunning: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | self.process.terminate() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | QTimer.singleShot(2000, self.process.kill) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | self.process.waitForFinished(3000) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | |
221
38689444e922
Corrected the button handling of some Mercurial dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
422 | self.inputGroup.setEnabled(False) |
38689444e922
Corrected the button handling of some Mercurial dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
423 | self.inputGroup.hide() |
38689444e922
Corrected the button handling of some Mercurial dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
424 | self.refreshButton.setEnabled(True) |
38689444e922
Corrected the button handling of some Mercurial dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
425 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | 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
|
429 | 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
|
430 | Qt.OtherFocusReason) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | |
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
|
432 | 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
|
433 | 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
|
434 | 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
|
435 | |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
436 | if not self.__mq: |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
437 | self.actionsButton.setEnabled(True) |
178
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 | self.__resort() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | 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
|
441 | |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
442 | self.__refreshDiff() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | def on_buttonBox_clicked(self, button): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | 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
|
447 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | @param button button that was clicked (QAbstractButton) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | if button == self.buttonBox.button(QDialogButtonBox.Close): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | self.close() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | 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
|
453 | 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
|
454 | 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
|
455 | 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
|
456 | self.__finish() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | elif button == self.refreshButton: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | self.on_refreshButton_clicked() |
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 | def __procFinished(self, exitCode, exitStatus): |
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 | Private slot connected to the finished signal. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | @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
|
465 | @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
|
466 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | self.__finish() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | def __readStdout(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | Private slot to handle the readyReadStandardOutput signal. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | 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
|
474 | the contents pane. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | if self.process is not None: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | self.process.setReadChannel(QProcess.StandardOutput) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
479 | 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
|
480 | 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
|
481 | 'replace') |
1241
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
482 | self.__processOutputLine(line) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
483 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
484 | def __processOutputLine(self, line): |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
485 | """ |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
486 | 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
|
487 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
488 | @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
|
489 | """ |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
490 | 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
|
491 | 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
|
492 | self.__generateItem(status, path) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | def __readStderr(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
496 | Private slot to handle the readyReadStandardError signal. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | 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
|
499 | error pane. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | 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
|
502 | 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
|
503 | 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
|
504 | self.__showError(s) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
505 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
506 | def __showError(self, out): |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
507 | """ |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
508 | 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
|
509 | |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
510 | @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
|
511 | """ |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
512 | self.errorGroup.show() |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
513 | self.errors.insertPlainText(out) |
09c6155ee612
Continued implementing an interface to the Mercurial command server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
514 | 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
|
515 | |
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
|
516 | 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
|
517 | # 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
|
518 | 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
|
519 | self.inputGroup.show() |
178
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 | def on_passwordCheckBox_toggled(self, isOn): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | 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
|
524 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | @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
|
526 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
527 | if isOn: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | self.input.setEchoMode(QLineEdit.Password) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | else: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | self.input.setEchoMode(QLineEdit.Normal) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | @pyqtSlot() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
533 | def on_sendButton_clicked(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | 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
|
536 | """ |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
537 | 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
|
538 | inputTxt += os.linesep |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | if self.passwordCheckBox.isChecked(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | self.errors.insertPlainText(os.linesep) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | self.errors.ensureCursorVisible() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
543 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
544 | self.errors.insertPlainText(inputTxt) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | self.errors.ensureCursorVisible() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | |
5848
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5765
diff
changeset
|
547 | self.process.write(strToQByteArray(inputTxt)) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | self.passwordCheckBox.setChecked(False) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | self.input.clear() |
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 | def on_input_returnPressed(self): |
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 | 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
|
555 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | self.intercept = True |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | self.on_sendButton_clicked() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | def keyPressEvent(self, evt): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
560 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
561 | 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
|
562 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | @param evt the key press event (QKeyEvent) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | if self.intercept: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
566 | self.intercept = False |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
567 | evt.accept() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
568 | 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
|
569 | super(HgStatusDialog, self).keyPressEvent(evt) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | @pyqtSlot() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | def on_refreshButton_clicked(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
573 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
574 | Private slot to refresh the status display. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
575 | """ |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
576 | selectedItems = self.statusList.selectedItems() |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
577 | if len(selectedItems) == 1: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
578 | 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
|
579 | else: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
580 | self.__selectedName = "" |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
581 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
582 | self.start(self.args) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | |
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
|
584 | @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
|
585 | 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
|
586 | """ |
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 | 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
|
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 | @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
|
590 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
591 | 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
|
592 | 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
|
593 | 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
|
594 | 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
|
595 | 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
|
596 | 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
|
597 | 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
|
598 | 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
|
599 | |
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
|
600 | @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
|
601 | 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
|
602 | """ |
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
|
603 | 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
|
604 | """ |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
605 | 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
|
606 | |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
607 | ########################################################################### |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
608 | ## 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
|
609 | ########################################################################### |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
611 | def __showActionsMenu(self): |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | """ |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
613 | 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
|
614 | """ |
7183
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
615 | if self.vcs.canCommitMerge(self.dname): |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
616 | self.__commitMergeAct.setEnabled(True) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
617 | self.__abortMergeAct.setEnabled(True) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
618 | |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
619 | self.__addAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
620 | self.__diffAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
621 | self.__sbsDiffAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
622 | self.__revertAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
623 | self.__forgetAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
624 | self.__restoreAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
625 | self.__commitAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
626 | self.__commitSelectAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
627 | self.__commitDeselectAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
628 | |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
629 | self.__lfAddLargeAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
630 | self.__lfAddNormalAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
631 | |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
632 | else: |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
633 | self.__commitMergeAct.setEnabled(False) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
634 | self.__abortMergeAct.setEnabled(False) |
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
|
635 | |
7183
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
636 | modified = len(self.__getModifiedItems()) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
637 | unversioned = len(self.__getUnversionedItems()) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
638 | missing = len(self.__getMissingItems()) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
639 | commitable = len(self.__getCommitableItems()) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
640 | commitableUnselected = len(self.__getCommitableUnselectedItems()) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
641 | |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
642 | self.__addAct.setEnabled(unversioned) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
643 | self.__diffAct.setEnabled(modified) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
644 | self.__sbsDiffAct.setEnabled(modified == 1) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
645 | self.__revertAct.setEnabled(modified) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
646 | self.__forgetAct.setEnabled(missing) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
647 | self.__restoreAct.setEnabled(missing) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
648 | self.__commitAct.setEnabled(commitable) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
649 | self.__commitSelectAct.setEnabled(commitableUnselected) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
650 | self.__commitDeselectAct.setEnabled(commitable) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
651 | |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
652 | if self.vcs.isExtensionActive("largefiles"): |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
653 | enable = bool(unversioned) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
654 | else: |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
655 | enable = False |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
656 | self.__lfAddLargeAct.setEnabled(enable) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
657 | 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
|
658 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
659 | def __commit(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
660 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
661 | 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
|
662 | """ |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
663 | if self.__mq: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
664 | 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
|
665 | else: |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3023
diff
changeset
|
666 | 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
|
667 | for itm in self.__getCommitableItems()] |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
668 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
669 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
670 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
671 | 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
|
672 | 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
|
673 | """ committed.""")) |
2815
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
674 | return |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
675 | |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
676 | if Preferences.getVCS("AutoSaveFiles"): |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
677 | vm = e5App().getObject("ViewManager") |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
678 | for name in names: |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
679 | vm.saveEditor(name) |
53c1d1f9ec86
Started to implement support for Mercurial queue repositories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
680 | self.vcs.vcsCommit(names, '') |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
681 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
682 | def __committed(self): |
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 | 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
|
685 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
686 | if self.isVisible(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
687 | self.on_refreshButton_clicked() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
688 | self.vcs.checkVCSStatus() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
689 | |
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
|
690 | 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
|
691 | """ |
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
|
692 | 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
|
693 | """ |
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
|
694 | 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
|
695 | |
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
|
696 | 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
|
697 | """ |
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
|
698 | 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
|
699 | """ |
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
|
700 | 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
|
701 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
702 | def __add(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
703 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
704 | 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
|
705 | """ |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3023
diff
changeset
|
706 | 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
|
707 | for itm in self.__getUnversionedItems()] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
708 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
709 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
710 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
711 | 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
|
712 | 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
|
713 | """ available/selected.""")) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
714 | return |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
715 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | self.vcs.vcsAdd(names) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
717 | self.on_refreshButton_clicked() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
718 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
719 | project = e5App().getObject("Project") |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
720 | for name in names: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
721 | project.getModel().updateVCSStatus(name) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
722 | self.vcs.checkVCSStatus() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
723 | |
3315
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
724 | def __lfAdd(self, mode): |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
725 | """ |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
726 | 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
|
727 | |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
728 | @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
|
729 | """ |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
730 | 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
|
731 | for itm in self.__getUnversionedItems()] |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
732 | if not names: |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
733 | E5MessageBox.information( |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
734 | self, |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
735 | self.tr("Add"), |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
736 | self.tr("""There are no unversioned entries""" |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
737 | """ available/selected.""")) |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
738 | return |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
739 | |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
740 | self.vcs.getExtensionObject("largefiles").hgAdd( |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
741 | names, mode) |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
742 | self.on_refreshButton_clicked() |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
743 | |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
744 | project = e5App().getObject("Project") |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
745 | for name in names: |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
746 | project.getModel().updateVCSStatus(name) |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
747 | self.vcs.checkVCSStatus() |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
748 | |
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
|
749 | 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
|
750 | """ |
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
|
751 | 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
|
752 | """ |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3023
diff
changeset
|
753 | 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
|
754 | 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
|
755 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
756 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
757 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
758 | 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
|
759 | 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
|
760 | """ 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
|
761 | 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
|
762 | |
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
|
763 | 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
|
764 | 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
|
765 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
766 | def __revert(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
767 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
768 | 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
|
769 | """ |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3023
diff
changeset
|
770 | 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
|
771 | for itm in self.__getModifiedItems()] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
772 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
773 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
774 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
775 | 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
|
776 | 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
|
777 | """ available/selected.""")) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
778 | return |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
779 | |
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
|
780 | 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
|
781 | 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
|
782 | self.activateWindow() |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
783 | self.on_refreshButton_clicked() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
784 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
785 | project = e5App().getObject("Project") |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
786 | for name in names: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
787 | project.getModel().updateVCSStatus(name) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
788 | self.vcs.checkVCSStatus() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
789 | |
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
|
790 | 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
|
791 | """ |
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 | 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
|
793 | """ |
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
|
794 | 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
|
795 | 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
|
796 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
797 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
798 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
799 | 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
|
800 | 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
|
801 | """ 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
|
802 | 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
|
803 | |
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
|
804 | 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
|
805 | 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
|
806 | 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
|
807 | |
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
|
808 | 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
|
809 | """ |
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
|
810 | 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
|
811 | """ |
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
|
812 | 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
|
813 | 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
|
814 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
815 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
816 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
817 | 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
|
818 | 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
|
819 | """ 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
|
820 | 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
|
821 | |
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 | if self.diff is None: |
2405
d4b5f3bd4720
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
823 | 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
|
824 | 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
|
825 | 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
|
826 | 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
|
827 | |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
828 | 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
|
829 | """ |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
830 | 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
|
831 | """ |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
832 | 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
|
833 | 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
|
834 | if not names: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
835 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
836 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
837 | 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
|
838 | 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
|
839 | """ 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
|
840 | return |
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
841 | elif len(names) > 1: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
842 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3008
diff
changeset
|
843 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
844 | 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
|
845 | 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
|
846 | """ 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
|
847 | 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
|
848 | |
2840
10a133f3a5e8
Added side-by-side diff support to the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2838
diff
changeset
|
849 | 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
|
850 | |
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
|
851 | 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
|
852 | """ |
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
|
853 | 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
|
854 | |
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
|
855 | @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
|
856 | """ |
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
|
857 | 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
|
858 | 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
|
859 | 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
|
860 | 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
|
861 | 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
|
862 | 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
|
863 | |
5522
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
864 | def __getCommitableUnselectedItems(self): |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
865 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
866 | 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
|
867 | selected. |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
868 | |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
869 | @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
|
870 | """ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
871 | items = [] |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
872 | for index in range(self.statusList.topLevelItemCount()): |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
873 | itm = self.statusList.topLevelItem(index) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
874 | if itm.flags() & Qt.ItemIsUserCheckable and \ |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
875 | itm.checkState(self.__toBeCommittedColumn) == Qt.Unchecked: |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
876 | items.append(itm) |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
877 | return items |
e07d1df4c64a
Improved the Mercurial status dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5520
diff
changeset
|
878 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
879 | def __getModifiedItems(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
880 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | 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
|
882 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
883 | @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
|
884 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
885 | modifiedItems = [] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
886 | for itm in self.statusList.selectedItems(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | 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
|
888 | modifiedItems.append(itm) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | return modifiedItems |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
890 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
891 | def __getUnversionedItems(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
892 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2840
diff
changeset
|
893 | 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
|
894 | status. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
895 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
896 | @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
|
897 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
898 | unversionedItems = [] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | for itm in self.statusList.selectedItems(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
900 | 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
|
901 | unversionedItems.append(itm) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
902 | 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
|
903 | |
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
|
904 | 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
|
905 | """ |
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
|
906 | 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
|
907 | |
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
|
908 | @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
|
909 | """ |
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
|
910 | 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
|
911 | 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
|
912 | 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
|
913 | 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
|
914 | 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
|
915 | |
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
|
916 | 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
|
917 | """ |
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
|
918 | 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
|
919 | |
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
|
920 | @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
|
921 | """ |
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
|
922 | 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
|
923 | 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
|
924 | 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
|
925 | 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
|
926 | 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
|
927 | 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
|
928 | 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
|
929 | |
7183
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
930 | def __commitMerge(self): |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
931 | """ |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
932 | Private slot to handle the Commit Merge context menu entry. |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
933 | """ |
7188
f9c57c6fa7c4
HgStatusDialog: backed out the disabling of the status list for merges because it prevents to review the individual changes and to inspect the list for long lists of changed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7183
diff
changeset
|
934 | self.vcs.vcsCommit(self.dname, self.tr('Merge'), merge=True) |
7183
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
935 | self.__committed() |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
936 | |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
937 | def __abortMerge(self): |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
938 | """ |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
939 | Private slot used to abort an uncommitted merge. |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
940 | """ |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
941 | self.vcs.hgAbortMerge(self.dname) |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
942 | self.__committed() |
4ac1c9daa90b
HgStatusDialog: commitMerge and abortMerge actions added
Christos Sevastiadis <csevast@gmail.com>
parents:
6942
diff
changeset
|
943 | |
4132
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 | ## Diff handling methods below |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
946 | ########################################################################### |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
947 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
948 | def __generateDiffs(self): |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
949 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
950 | 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
|
951 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
952 | self.diffEdit.clear() |
5765
39d8b26ff557
Made the colors of the diff dialogs configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
953 | self.diffHighlighter.regenerateRules() |
4132
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
954 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
955 | if not self.__mq: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
956 | selectedItems = self.statusList.selectedItems() |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
957 | if len(selectedItems) == 1: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
958 | 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
|
959 | 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
|
960 | self.__diffGenerator.start(fn) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
961 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
962 | def __generatorFinished(self): |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
963 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
964 | 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
|
965 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
966 | 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
|
967 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
968 | if diff: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
969 | for line in diff[:]: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
970 | if line.startswith("@@ "): |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
971 | break |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
972 | else: |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
973 | diff.pop(0) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
974 | 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
|
975 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
976 | tc = self.diffEdit.textCursor() |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
977 | tc.movePosition(QTextCursor.Start) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
978 | self.diffEdit.setTextCursor(tc) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
979 | self.diffEdit.ensureCursorVisible() |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
980 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
981 | def __refreshDiff(self): |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
982 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
983 | 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
|
984 | """ |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
985 | 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
|
986 | 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
|
987 | 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
|
988 | 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
|
989 | itm.setSelected(True) |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
990 | break |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
991 | |
04f395eef728
Enhanced the status dialog functionality by a diff view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4126
diff
changeset
|
992 | self.__selectedName = "" |