RefactoringRope/RopeProgressDialog.py

Thu, 30 Dec 2021 11:20:04 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 30 Dec 2021 11:20:04 +0100
branch
eric7
changeset 374
958f34e97952
parent 365
f740b50380df
child 389
4f53795beff0
permissions
-rw-r--r--

Updated copyright for 2022.

164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
374
958f34e97952 Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 365
diff changeset
3 # Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a TaskHandle class with a progress dialog.
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
10 from PyQt6.QtCore import QCoreApplication
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
11 from PyQt6.QtWidgets import QLabel
164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
13 from EricWidgets.EricProgressDialog import EricProgressDialog
164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
16 class RopeProgressDialog(EricProgressDialog):
164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 """
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 Class implementing TaskHandle with a progress dialog.
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 def __init__(self, server, title, interruptable=True, parent=None):
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 Constructor
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 @param server reference to the JSON server
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
25 @type EricJsonServer
164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 @param title title for the dialog
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @type str
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param interruptable flag indicating, that the task may be
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 interrupted
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @type bool
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @param parent reference to the parent widget
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @type QWidget
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 """
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
34 super().__init__("", "", 0, 1, "", parent)
164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 if interruptable:
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
36 self.setCancelButtonText(self.tr("Interrupt"))
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
37 self.setFormat(self.tr("%v/%m files"))
164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 label = QLabel("")
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 label.setWordWrap(True)
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.setLabel(label)
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
41 self.setWindowTitle(self.tr("eric7 - {0}").format(title))
164
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.__server = server
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 def updateProgress(self, params):
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 """
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 Public slot to handle the task progress.
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 @param params dictionary containing the data to be set
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 @type dict
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 """
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 if params:
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.setLabelText(params["Text"])
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 if "Maximum" in params:
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 # these are always sent together
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.setMaximum(params["Maximum"])
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.setValue(params["Value"])
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 QCoreApplication.processEvents()
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 if self.wasCanceled():
121d426d4ed7 Coded a distributed progress dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 self.__server.sendJson("AbortAction", {})

eric ide

mercurial