Wed, 26 May 2021 19:07:42 +0200
Ported the plug-in to PyQt6 for eric7.
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
346
877cac2e8d94
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
326
diff
changeset
|
3 | # Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the Changes preview dialog. |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
3be1b4662b48
Added the 'rename' refactorings.
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:
347
diff
changeset
|
10 | from PyQt6.QtCore import Qt, pyqtSlot |
f740b50380df
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
347
diff
changeset
|
11 | from PyQt6.QtWidgets import QDialogButtonBox, QListWidgetItem |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
203
c38750e1bafd
Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
172
diff
changeset
|
13 | from .PreviewDialogBase import PreviewDialogBase |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
20
83b71483e198
Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
15 | |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | class ChangesPreviewDialog(PreviewDialogBase): |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | """ |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | Class implementing the Changes preview dialog. |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | """ |
365
f740b50380df
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
347
diff
changeset
|
20 | ChangeRole = Qt.ItemDataRole.UserRole |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
172
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
22 | def __init__(self, description, changes, parent): |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | Constructor |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
172
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
26 | @param description description of the changes |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
27 | @type str |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
28 | @param changes list of lists containing the change data |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
29 | @type list of list of (str, str) |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
30 | @param parent reference to the parent widget |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
31 | @type QWidget |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | """ |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | PreviewDialogBase.__init__(self, parent) |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
55
d501156be247
Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
43
diff
changeset
|
35 | self.buttonBox.addButton( |
365
f740b50380df
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
347
diff
changeset
|
36 | self.tr("&Apply Changes"), QDialogButtonBox.ButtonRole.AcceptRole) |
f740b50380df
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
347
diff
changeset
|
37 | self.buttonBox.addButton(QDialogButtonBox.StandardButton.Cancel) |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | |
172
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
39 | self.description.setText(description) |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
40 | for changeTitle, changeText in changes: |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
41 | itm = QListWidgetItem(changeTitle, self.changesList) |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
42 | if changeText is None: |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
43 | changeText = self.tr("No changes available.") |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
44 | itm.setData(ChangesPreviewDialog.ChangeRole, changeText) |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | if self.changesList.count(): |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.changesList.item(0).setSelected(True) |
324
8ee771493722
ChangesPreviewDialog: fixed an issue not showing the first change when opened.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
320
diff
changeset
|
47 | self.on_changesList_currentItemChanged( |
8ee771493722
ChangesPreviewDialog: fixed an issue not showing the first change when opened.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
320
diff
changeset
|
48 | self.changesList.item(0), None) |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | @pyqtSlot(QListWidgetItem, QListWidgetItem) |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | def on_changesList_currentItemChanged(self, current, previous): |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | """ |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | Private slot called when a change is selected. |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
172
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
55 | @param current reference to the new current item |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
56 | @type QListWidgetItem |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
57 | @param previous reference to the old current item |
c8890f852917
Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
151
diff
changeset
|
58 | @type QListWidgetItem |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | """ |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | if current is None: |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | return |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | |
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | self.previewEdit.clear() |
320
91b171fdd85f
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
302
diff
changeset
|
64 | for line in ( |
91b171fdd85f
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
302
diff
changeset
|
65 | current.data(ChangesPreviewDialog.ChangeRole).splitlines(True) |
91b171fdd85f
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
302
diff
changeset
|
66 | ): |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | try: |
151
5260100b6700
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
147
diff
changeset
|
68 | charFormat = self.formats[line[0]] |
3
3be1b4662b48
Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | except (IndexError, KeyError): |
151
5260100b6700
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
147
diff
changeset
|
70 | charFormat = self.formats[' '] |
5260100b6700
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
147
diff
changeset
|
71 | self._appendText(line, charFormat) |