Plugins/VcsPlugins/vcsMercurial/HgSummaryDialog.py

Fri, 18 Apr 2014 15:07:48 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 18 Apr 2014 15:07:48 +0200
changeset 3518
1d681235c1b4
parent 3396
5320ecd70fdb
child 3484
645c12de6b0c
permissions
-rw-r--r--

Fixed the Mercurial command server client handling large data chunks on slow machines.

2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
3160
209a07d7e401 Updated copyright for 2014.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
3 # Copyright (c) 2013 - 2014 Detlev Offenbach <detlev@die-offenbachs.de>
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to show some summary information of the working
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 directory state.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
2816
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2813
diff changeset
13 from PyQt4.QtCore import pyqtSlot, QProcess, QTimer
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt4.QtGui import QDialog, QDialogButtonBox
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from E5Gui import E5MessageBox
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
2816
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2813
diff changeset
18 from .HgUtilities import prepareProcess
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2813
diff changeset
19
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 from .Ui_HgSummaryDialog import Ui_HgSummaryDialog
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 class HgSummaryDialog(QDialog, Ui_HgSummaryDialog):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Class implementing a dialog to show some summary information of the working
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 directory state.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 def __init__(self, vcs, parent=None):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 Constructor
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @param vcs reference to the vcs object
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @param parent parent widget (QWidget)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 super().__init__(parent)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.setupUi(self)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
38 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
39 self.tr("Refresh"), QDialogButtonBox.ActionRole)
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
40 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
41 self.tr("Press to refresh the summary display"))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.refreshButton.setEnabled(False)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.process = None
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 self.vcs = vcs
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 self.vcs.committed.connect(self.__committed)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 def closeEvent(self, e):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 Private slot implementing a close event handler.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 @param e close event (QCloseEvent)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 if self.process is not None and \
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 self.process.state() != QProcess.NotRunning:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.process.terminate()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 QTimer.singleShot(2000, self.process.kill)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.process.waitForFinished(3000)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 e.accept()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
3315
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
62 def start(self, path, mq=False, largefiles=False):
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 Public slot to start the hg summary command.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 @param path path name of the working directory (string)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 @param mq flag indicating to show the queue status as well (boolean)
3359
6b6c224d67d6 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3315
diff changeset
68 @param largefiles flag indicating to show the largefiles status as
6b6c224d67d6 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3315
diff changeset
69 well (boolean)
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 self.errorGroup.hide()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.__path = path
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.__mq = mq
3315
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
74 self.__largefiles = largefiles
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75
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: 3218
diff changeset
76 args = self.vcs.initCommand("summary")
3396
5320ecd70fdb Added support for Mercurial queues summary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3359
diff changeset
77 if self.vcs.canPull():
5320ecd70fdb Added support for Mercurial queues summary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3359
diff changeset
78 args.append("--remote")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 if self.__mq:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 args.append("--mq")
3315
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
81 if self.__largefiles:
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
82 args.append("--large")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 # find the root of the repo
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 repodir = self.__path
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 repodir = os.path.dirname(repodir)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 if os.path.splitdrive(repodir)[1] == os.sep:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 return
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 if self.process:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 self.process.kill()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 self.process = QProcess()
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: 3218
diff changeset
95 prepareProcess(self.process, language="C")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 self.process.finished.connect(self.__procFinished)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 self.process.readyReadStandardOutput.connect(self.__readStdout)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 self.process.readyReadStandardError.connect(self.__readStderr)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 self.process.setWorkingDirectory(repodir)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 self.__buffer = []
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 self.process.start('hg', args)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 procStarted = self.process.waitForStarted(5000)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 if not procStarted:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
107 E5MessageBox.critical(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
108 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
109 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
110 self.tr(
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 'The process {0} could not be started. '
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 'Ensure, that it is in the search path.'
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 ).format('hg'))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 def __finish(self):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 """
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
117 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: 2827
diff changeset
118 the button.
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 if self.process is not None and \
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 self.process.state() != QProcess.NotRunning:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 self.process.terminate()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 QTimer.singleShot(2000, self.process.kill)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 self.process.waitForFinished(3000)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 self.refreshButton.setEnabled(True)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 self.process = None
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 def on_buttonBox_clicked(self, button):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 Private slot called by a button of the button box clicked.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 @param button button that was clicked (QAbstractButton)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 if button == self.buttonBox.button(QDialogButtonBox.Close):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 self.close()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 elif button == self.refreshButton:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 self.on_refreshButton_clicked()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 def __procFinished(self, exitCode, exitStatus):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 Private slot connected to the finished signal.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 @param exitCode exit code of the process (integer)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 @param exitStatus exit status of the process (QProcess.ExitStatus)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 self.__processOutput(self.__buffer)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 self.__finish()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 def __readStdout(self):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 Private slot to handle the readyReadStandardOutput signal.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 It reads the output of the process, formats it and inserts it into
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 the contents pane.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 if self.process is not None:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 self.process.setReadChannel(QProcess.StandardOutput)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 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: 3218
diff changeset
161 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: 3218
diff changeset
162 'replace')
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 self.__buffer.append(line)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 def __readStderr(self):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 Private slot to handle the readyReadStandardError signal.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 It reads the error output of the process and inserts it into the
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 error pane.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 if self.process is not None:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 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: 3218
diff changeset
174 self.vcs.getEncoding(), 'replace')
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 self.__showError(s)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 def __showError(self, out):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 Private slot to show some error.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 @param out error to be shown (string)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 self.errorGroup.show()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 self.errors.insertPlainText(out)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 self.errors.ensureCursorVisible()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 @pyqtSlot()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 def on_refreshButton_clicked(self):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 Private slot to refresh the status display.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 self.refreshButton.setEnabled(False)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 self.summary.clear()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 self.start(self.__path, mq=self.__mq)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 def __committed(self):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 Private slot called after the commit has finished.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 if self.isVisible():
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 self.on_refreshButton_clicked()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 def __processOutput(self, output):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 Private method to process the output into nice readable text.
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 @param output output from the summary command (string)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 """
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 infoDict = {}
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 # step 1: parse the output
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 while output:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 line = output.pop(0)
3315
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
215 if ':' not in line:
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
216 continue
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 name, value = line.split(": ", 1)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218 value = value.strip()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
219
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 if name == "parent":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 if " " in value:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 parent, tags = value.split(" ", 1)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 parent = value
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 tags = ""
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 rev, node = parent.split(":")
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 remarks = []
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 if tags:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 if " (empty repository)" in tags:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 remarks.append("@EMPTY@")
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 tags = tags.replace(" (empty repository)", "")
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 if " (no revision checked out)" in tags:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 remarks.append("@NO_REVISION@")
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 tags = tags.replace(" (no revision checked out)", "")
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 tags = None
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 value = infoDict.get(name, [])
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 if rev == "-1":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 value.append((int(rev), node, tags, None, remarks))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 message = output.pop(0).strip()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 value.append((int(rev), node, tags, message, remarks))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 elif name == "branch":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 pass
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 elif name == "bookmarks":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 pass
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 elif name == "commit":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 stateDict = {}
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 if "(" in value:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 if value.startswith("("):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 states = ""
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 remark = value[1:-1]
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 states, remark = value.rsplit(" (", 1)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 remark = remark[:-1]
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 states = value
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 remark = ""
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 states = states.split(", ")
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 for state in states:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 if state:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 count, category = state.split(" ")
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 stateDict[category] = count
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 value = (stateDict, remark)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 elif name == "update":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 if value.endswith("(current)"):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 value = ("@CURRENT@", 0, 0)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 elif value.endswith("(update)"):
3218
c33689d92b14 Fixed an issue in the Mercurial summary dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
272 value = ("@UPDATE@", int(value.split(" ", 1)[0]), 0)
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 elif value.endswith("(merge)"):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 parts = value.split(", ")
3218
c33689d92b14 Fixed an issue in the Mercurial summary dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
275 value = ("@MERGE@", int(parts[0].split(" ", 1)[0]),
c33689d92b14 Fixed an issue in the Mercurial summary dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
276 int(parts[1].split(" ", 1)[0]))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 value = ("@UNKNOWN@", 0, 0)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 elif name == "remote":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 if value == "(synced)":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 value = (0, 0, 0, 0)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 inc = incb = outg = outgb = 0
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 for val in value.split(", "):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 count, category = val.split(" ", 1)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 if category == "outgoing":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 outg = int(count)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 elif category.endswith("incoming"):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 inc = int(count)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 elif category == "incoming bookmarks":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 incb = int(count)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 elif category == "outgoing bookmarks":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 outgb = int(count)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 value = (inc, outg, incb, outgb)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 elif name == "mq":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 if value == "(empty queue)":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 value = (0, 0)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 applied = unapplied = 0
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 for val in value.split(", "):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 count, category = val.split(" ", 1)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 if category == "applied":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 applied = int(count)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 elif category == "unapplied":
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 unapplied = int(count)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 value = (applied, unapplied)
3315
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
307 elif name == "largefiles":
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
308 if not value[0].isdigit():
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
309 value = 0
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
310 else:
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
311 value = int(value.split(None, 1)[0])
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 else:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 # ignore unknown entries
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 continue
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 infoDict[name] = value
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 # step 2: build the output
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 if infoDict:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 info = ["<table>"]
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 pindex = 0
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 for rev, node, tags, message, remarks in infoDict["parent"]:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 pindex += 1
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 changeset = "{0}:{1}".format(rev, node)
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 if len(infoDict["parent"]) > 1:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
326 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
327 "<tr><td><b>Parent #{0}</b></td><td>{1}</td></tr>")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 .format(pindex, changeset))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
330 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
331 "<tr><td><b>Parent</b></td><td>{0}</td></tr>")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 .format(changeset))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 if tags:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
334 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
335 "<tr><td><b>Tags</b></td><td>{0}</td></tr>")
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
336 .format('<br/>'.join(tags.split())))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 if message:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
338 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
339 "<tr><td><b>Commit Message</b></td><td>{0}</td></tr>")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 .format(message))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 if remarks:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342 rem = []
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 if "@EMPTY@" in remarks:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
344 rem.append(self.tr("empty repository"))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 if "@NO_REVISION@" in remarks:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
346 rem.append(self.tr("no revision checked out"))
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
347 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
348 "<tr><td><b>Remarks</b></td><td>{0}</td></tr>")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 .format(", ".join(rem)))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 if "branch" in infoDict:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
351 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
352 "<tr><td><b>Branch</b></td><td>{0}</td></tr>")
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
353 .format(infoDict["branch"]))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 if "bookmarks" in infoDict:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355 bookmarks = infoDict["bookmarks"].split()
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 for i in range(len(bookmarks)):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 if bookmarks[i].startswith("*"):
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 bookmarks[i] = "<b>{0}</b>".format(bookmarks[i])
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
359 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
360 "<tr><td><b>Bookmarks</b></td><td>{0}</td></tr>")
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
361 .format('<br/>'.join(bookmarks)))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 if "commit" in infoDict:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 cinfo = []
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 for category, count in infoDict["commit"][0].items():
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 if category == "modified":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
366 cinfo.append(self.tr("{0} modified").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 elif category == "added":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
368 cinfo.append(self.tr("{0} added").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 elif category == "removed":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
370 cinfo.append(self.tr("{0} removed").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 elif category == "renamed":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
372 cinfo.append(self.tr("{0} renamed").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373 elif category == "copied":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
374 cinfo.append(self.tr("{0} copied").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 elif category == "deleted":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
376 cinfo.append(self.tr("{0} deleted").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 elif category == "unknown":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
378 cinfo.append(self.tr("{0} unknown").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 elif category == "ignored":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
380 cinfo.append(self.tr("{0} ignored").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 elif category == "unresolved":
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
382 cinfo.append(
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
383 self.tr("{0} unresolved").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 elif category == "subrepos":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
385 cinfo.append(self.tr("{0} subrepos").format(count))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 remark = infoDict["commit"][1]
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 if remark == "merge":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
388 cinfo.append(self.tr("Merge needed"))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 elif remark == "new branch":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
390 cinfo.append(self.tr("New Branch"))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 elif remark == "head closed":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
392 cinfo.append(self.tr("Head is closed"))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 elif remark == "clean":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
394 cinfo.append(self.tr("No commit required"))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 elif remark == "new branch head":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
396 cinfo.append(self.tr("New Branch Head"))
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
397 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
398 "<tr><td><b>Commit Status</b></td><td>{0}</td></tr>")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 .format("<br/>".join(cinfo)))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 if "update" in infoDict:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
401 if infoDict["update"][0] == "@CURRENT@":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
402 uinfo = self.tr("current")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
403 elif infoDict["update"][0] == "@UPDATE@":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
404 uinfo = self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
405 "%n new changeset(s)<br/>Update required", "",
2827
9a7928798cfe Updated translations and corrected some display strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2816
diff changeset
406 infoDict["update"][1])
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 elif infoDict["update"][0] == "@MERGE@":
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
408 uinfo1 = self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
409 "%n new changeset(s)", "", infoDict["update"][1])
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
410 uinfo2 = self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
411 "%n branch head(s)", "", infoDict["update"][2])
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
412 uinfo = self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
413 "{0}<br/>{1}<br/>Merge required",
2827
9a7928798cfe Updated translations and corrected some display strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2816
diff changeset
414 "0 is changesets, 1 is branch heads")\
9a7928798cfe Updated translations and corrected some display strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2816
diff changeset
415 .format(uinfo1, uinfo2)
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
417 uinfo = self.tr("unknown status")
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
418 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
419 "<tr><td><b>Update Status</b></td><td>{0}</td></tr>")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 .format(uinfo))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 if "remote" in infoDict:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 if infoDict["remote"] == (0, 0, 0, 0):
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
423 rinfo = self.tr("synched")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
424 else:
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
425 li = []
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426 if infoDict["remote"][0]:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
427 li.append(self.tr("1 or more incoming"))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 if infoDict["remote"][1]:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
429 li.append(self.tr("{0} outgoing")
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
430 .format(infoDict["remote"][1]))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 if infoDict["remote"][2]:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
432 li.append(self.tr("%n incoming bookmark(s)", "",
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
433 infoDict["remote"][2]))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 if infoDict["remote"][3]:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
435 li.append(self.tr("%n outgoing bookmark(s)", "",
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
436 infoDict["remote"][3]))
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
437 rinfo = "<br/>".join(li)
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
438 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
439 "<tr><td><b>Remote Status</b></td><td>{0}</td></tr>")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 .format(rinfo))
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 if "mq" in infoDict:
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 if infoDict["mq"] == (0, 0):
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
443 qinfo = self.tr("empty queue")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 else:
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
445 li = []
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 if infoDict["mq"][0]:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
447 li.append(self.tr("{0} applied")
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
448 .format(infoDict["mq"][0]))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
449 if infoDict["mq"][1]:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
450 li.append(self.tr("{0} unapplied")
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
451 .format(infoDict["mq"][1]))
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
452 qinfo = "<br/>".join(li)
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
453 info.append(self.tr(
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2827
diff changeset
454 "<tr><td><b>Queues Status</b></td><td>{0}</td></tr>")
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 .format(qinfo))
3315
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
456 if "largefiles" in infoDict:
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
457 if infoDict["largefiles"] == 0:
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
458 lfInfo = self.tr("No files to upload")
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
459 else:
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
460 lfInfo = self.tr("%n file(s) to upload", "",
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
461 infoDict["largefiles"])
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
462 info.append(self.tr(
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
463 "<tr><td><b>Large Files</b></td><td>{0}</td></tr>")
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
464 .format(lfInfo))
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 info.append("</table>")
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
467 info = [self.tr("<p>No status information available.</p>")]
2812
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468
35c3302da595 Added forgotten files for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 self.summary.insertHtml("\n".join(info))

eric ide

mercurial