src/eric7/CodeFormatting/FormattingDiffWidget.py

Fri, 04 Nov 2022 13:52:26 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 04 Nov 2022 13:52:26 +0100
branch
eric7
changeset 9473
3f23dbf37dbe
parent 9453
e5065dde905d
child 9653
e67609152c5e
permissions
-rw-r--r--

Resorted the import statements using isort.

9214
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de>
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a window to show a unified diff..
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt6.QtWidgets import QWidget
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
9453
e5065dde905d Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
18 class FormattingDiffWidget(QWidget, Ui_FormattingDiffWidget):
9214
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 Class implementing a window to show a unified diff..
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9214
diff changeset
22
9214
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 def __init__(self, parent=None):
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9214
diff changeset
26
9214
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @param parent reference to the parent widget (defaults to None)
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @type QWidget (optional)
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 super().__init__(parent)
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 font = Preferences.getEditorOtherFonts("MonospacedFont")
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.__highlighter = DiffHighlighter(self.diffEdit.document())
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 def showDiff(self, diff):
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 @param diff text containing the unified diff
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 @type str
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 """
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 self.diffEdit.clear()
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 if diff:
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.diffEdit.setPlainText(diff)
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 if self.__savedGeometry is not None:
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 def closeEvent(self, evt):
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 """
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 @param evt reference to the close event
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 @type QCloseEvent
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 """
bd28e56047d7 Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.__savedGeometry = self.saveGeometry()

eric ide

mercurial