Sat, 31 Dec 2022 16:23:21 +0100
Updated copyright for 2023.
9214 | 1 | # -*- coding: utf-8 -*- |
2 | ||
9653
e67609152c5e
Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
3 | # Copyright (c) 2022 - 2023 Detlev Offenbach <detlev@die-offenbachs.de> |
9214 | 4 | # |
5 | ||
6 | """ | |
7 | Module implementing a window to show a unified diff.. | |
8 | """ | |
9 | ||
10 | from PyQt6.QtWidgets import QWidget | |
11 | ||
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9453
diff
changeset
|
12 | from eric7 import Preferences |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
13 | from eric7.UI.DiffHighlighter import DiffHighlighter |
9214 | 14 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9453
diff
changeset
|
15 | from .Ui_FormattingDiffWidget import Ui_FormattingDiffWidget |
9214 | 16 | |
17 | ||
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
18 | class FormattingDiffWidget(QWidget, Ui_FormattingDiffWidget): |
9214 | 19 | """ |
20 | Class implementing a window to show a unified diff.. | |
21 | """ | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
22 | |
9214 | 23 | def __init__(self, parent=None): |
24 | """ | |
25 | Constructor | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
26 | |
9214 | 27 | @param parent reference to the parent widget (defaults to None) |
28 | @type QWidget (optional) | |
29 | """ | |
30 | super().__init__(parent) | |
31 | self.setupUi(self) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
32 | |
9214 | 33 | font = Preferences.getEditorOtherFonts("MonospacedFont") |
34 | self.diffEdit.document().setDefaultFont(font) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
35 | |
9214 | 36 | self.__highlighter = DiffHighlighter(self.diffEdit.document()) |
37 | self.__savedGeometry = None | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
38 | |
9214 | 39 | def showDiff(self, diff): |
40 | """ | |
41 | Public method to show the given diff. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
42 | |
9214 | 43 | @param diff text containing the unified diff |
44 | @type str | |
45 | """ | |
46 | self.diffEdit.clear() | |
47 | self.__highlighter.regenerateRules() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
48 | |
9214 | 49 | if diff: |
50 | self.diffEdit.setPlainText(diff) | |
51 | else: | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
52 | self.diffEdit.setPlainText(self.tr("There is no difference.")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
53 | |
9214 | 54 | if self.__savedGeometry is not None: |
55 | self.restoreGeometry(self.__savedGeometry) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
56 | |
9214 | 57 | self.show() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
58 | |
9214 | 59 | def closeEvent(self, evt): |
60 | """ | |
61 | Protected slot implementing a close event handler. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
62 | |
9214 | 63 | @param evt reference to the close event |
64 | @type QCloseEvent | |
65 | """ | |
66 | self.__savedGeometry = self.saveGeometry() |