src/eric7/EricGui/EricGenericDiffHighlighter.py

branch
eric7
changeset 10922
36a90a94765c
parent 10458
2074b8393649
child 11090
f5f5f5803935
diff -r 495f084a737e -r 36a90a94765c src/eric7/EricGui/EricGenericDiffHighlighter.py
--- a/src/eric7/EricGui/EricGenericDiffHighlighter.py	Mon Sep 23 14:37:31 2024 +0200
+++ b/src/eric7/EricGui/EricGenericDiffHighlighter.py	Tue Sep 24 17:52:41 2024 +0200
@@ -11,8 +11,6 @@
 
 from PyQt6.QtGui import QFont, QSyntaxHighlighter, QTextCharFormat
 
-from eric7 import Preferences
-
 
 def TERMINAL(pattern):
     """
@@ -44,20 +42,6 @@
         """
         super().__init__(doc)
 
-        self.regenerateRules()
-
-    def __initColours(self):
-        """
-        Private method to initialize the highlighter colours.
-        """
-        self.textColor = Preferences.getDiffColour("TextColor")
-        self.addedColor = Preferences.getDiffColour("AddedColor")
-        self.removedColor = Preferences.getDiffColour("RemovedColor")
-        self.replacedColor = Preferences.getDiffColour("ReplacedColor")
-        self.contextColor = Preferences.getDiffColour("ContextColor")
-        self.headerColor = Preferences.getDiffColour("HeaderColor")
-        self.whitespaceColor = Preferences.getDiffColour("BadWhitespaceColor")
-
     def createRules(self, *rules):
         """
         Public method to create the highlighting rules.
@@ -112,7 +96,7 @@
         @return format definiton
         @rtype QTextCharFormat
         """
-        font = Preferences.getEditorOtherFonts("MonospacedFont")
+        font = QFont(self.baseFont)
         charFormat = QTextCharFormat()
         charFormat.setFontFamilies([font.family()])
         charFormat.setFontPointSize(font.pointSize())
@@ -163,13 +147,26 @@
                     self.setFormat(start, start + length, formatStr[groupIndex])
                 start += length
 
-    def regenerateRules(self):
+    def regenerateRules(self, colors, font):
         """
         Public method to initialize or regenerate the syntax highlighter rules.
+
+        @param colors dictionary containing the different color values (keys are
+            "text", "added", "removed","replaced", "context", "header", "whitespace")
+        @type dict[str: QColor]
+        @param font font
+        @type QFont
         """
+        self.baseFont = font
         self.normalFormat = self.makeFormat()
 
-        self.__initColours()
+        self.textColor = colors["text"]
+        self.addedColor = colors["added"]
+        self.removedColor = colors["removed"]
+        self.replacedColor = colors["replaced"]
+        self.contextColor = colors["context"]
+        self.headerColor = colors["header"]
+        self.whitespaceColor = colors["whitespace"]
 
         self._rules = []
         self.generateRules()

eric ide

mercurial