Tue, 24 Sep 2024 17:52:41 +0200
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
9214 | 1 | # -*- coding: utf-8 -*- |
2 | ||
10439
21c28b0f9e41
Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10065
diff
changeset
|
3 | # Copyright (c) 2022 - 2024 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 | """ | |
10922
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
46 | self.__highlighter.regenerateRules( |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
47 | { |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
48 | "text": Preferences.getDiffColour("TextColor"), |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
49 | "added": Preferences.getDiffColour("AddedColor"), |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
50 | "removed": Preferences.getDiffColour("RemovedColor"), |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
51 | "replaced": Preferences.getDiffColour("ReplacedColor"), |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
52 | "context": Preferences.getDiffColour("ContextColor"), |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
53 | "header": Preferences.getDiffColour("HeaderColor"), |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
54 | "whitespace": Preferences.getDiffColour("BadWhitespaceColor"), |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
55 | }, |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
56 | Preferences.getEditorOtherFonts("MonospacedFont"), |
36a90a94765c
Changed EricCore, EricGraphics, EricGui and some of EricNetwork to allow them to be extracted into an external library later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
57 | ) |
9214 | 58 | self.diffEdit.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
59 | |
9214 | 60 | if diff: |
61 | self.diffEdit.setPlainText(diff) | |
62 | else: | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
63 | 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
|
64 | |
9214 | 65 | if self.__savedGeometry is not None: |
66 | self.restoreGeometry(self.__savedGeometry) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
67 | |
9715
5476ef9093dd
Little improvement to the formatting diff dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
68 | if not self.isVisible(): |
5476ef9093dd
Little improvement to the formatting diff dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
69 | self.show() |
5476ef9093dd
Little improvement to the formatting diff dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
70 | self.activateWindow() |
5476ef9093dd
Little improvement to the formatting diff dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
71 | self.raise_() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
72 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
73 | def closeEvent(self, _evt): |
9214 | 74 | """ |
75 | 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
|
76 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
77 | @param _evt reference to the close event (unused) |
9214 | 78 | @type QCloseEvent |
79 | """ | |
80 | self.__savedGeometry = self.saveGeometry() |