Sat, 26 Apr 2025 12:34:32 +0200
MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.
9214 | 1 | # -*- coding: utf-8 -*- |
2 | ||
11090
f5f5f5803935
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11006
diff
changeset
|
3 | # Copyright (c) 2022 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> |
9214 | 4 | # |
5 | ||
6 | """ | |
7 | Module implementing a window to show a unified diff.. | |
8 | """ | |
9 | ||
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10922
diff
changeset
|
10 | from PyQt6.QtCore import Qt |
9214 | 11 | from PyQt6.QtWidgets import QWidget |
12 | ||
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9453
diff
changeset
|
13 | 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
|
14 | from eric7.UI.DiffHighlighter import DiffHighlighter |
9214 | 15 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9453
diff
changeset
|
16 | from .Ui_FormattingDiffWidget import Ui_FormattingDiffWidget |
9214 | 17 | |
18 | ||
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
19 | class FormattingDiffWidget(QWidget, Ui_FormattingDiffWidget): |
9214 | 20 | """ |
21 | Class implementing a window to show a unified diff.. | |
22 | """ | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
23 | |
9214 | 24 | def __init__(self, parent=None): |
25 | """ | |
26 | Constructor | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
27 | |
9214 | 28 | @param parent reference to the parent widget (defaults to None) |
29 | @type QWidget (optional) | |
30 | """ | |
31 | super().__init__(parent) | |
32 | self.setupUi(self) | |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10922
diff
changeset
|
33 | self.setWindowFlags(Qt.WindowType.Window) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
34 | |
9214 | 35 | font = Preferences.getEditorOtherFonts("MonospacedFont") |
36 | 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
|
37 | |
9214 | 38 | self.__highlighter = DiffHighlighter(self.diffEdit.document()) |
39 | self.__savedGeometry = None | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
40 | |
9214 | 41 | def showDiff(self, diff): |
42 | """ | |
43 | 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
|
44 | |
9214 | 45 | @param diff text containing the unified diff |
46 | @type str | |
47 | """ | |
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
|
48 | 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
|
49 | { |
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 | "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
|
51 | "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
|
52 | "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
|
53 | "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
|
54 | "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
|
55 | "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
|
56 | "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
|
57 | }, |
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
|
58 | 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
|
59 | ) |
9214 | 60 | self.diffEdit.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
61 | |
9214 | 62 | if diff: |
63 | self.diffEdit.setPlainText(diff) | |
64 | else: | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
65 | 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
|
66 | |
9214 | 67 | if self.__savedGeometry is not None: |
68 | self.restoreGeometry(self.__savedGeometry) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
69 | |
9715
5476ef9093dd
Little improvement to the formatting diff dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
70 | if not self.isVisible(): |
5476ef9093dd
Little improvement to the formatting diff dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
71 | self.show() |
5476ef9093dd
Little improvement to the formatting diff dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
72 | self.activateWindow() |
5476ef9093dd
Little improvement to the formatting diff dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
73 | self.raise_() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
74 | |
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
|
75 | def closeEvent(self, _evt): |
9214 | 76 | """ |
77 | 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
|
78 | |
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
|
79 | @param _evt reference to the close event (unused) |
9214 | 80 | @type QCloseEvent |
81 | """ | |
82 | self.__savedGeometry = self.saveGeometry() |