E5Gui/E5GenericDiffHighlighter.py

changeset 5765
39d8b26ff557
parent 5597
3d88d53f8c2b
child 6048
82ad8ec9548c
diff -r 51ceecf32585 -r 39d8b26ff557 E5Gui/E5GenericDiffHighlighter.py
--- a/E5Gui/E5GenericDiffHighlighter.py	Fri Jun 23 18:46:40 2017 +0200
+++ b/E5Gui/E5GenericDiffHighlighter.py	Sat Jun 24 12:15:03 2017 +0200
@@ -11,7 +11,7 @@
 
 import re
 
-from PyQt5.QtGui import QSyntaxHighlighter, QColor, QTextCharFormat, QFont
+from PyQt5.QtGui import QSyntaxHighlighter, QTextCharFormat, QFont
 
 import Preferences
 
@@ -41,26 +41,19 @@
         """
         super(E5GenericDiffHighlighter, self).__init__(doc)
         
-        self.textColor = QColor(0, 0, 0)
-        self.addedColor = QColor(190, 237, 190)
-        self.removedColor = QColor(237, 190, 190)
-        self.replacedColor = QColor(190, 190, 237)
-        self.contextColor = QColor(255, 220, 168)
-        self.headerColor = QColor(237, 237, 190)
-        
-        self.normalFormat = self.makeFormat()
-        
-        self._rules = []
-        self.generateRules()
+        self.regenerateRules()
     
-    def generateRules(self):
+    def __initColours(self):
+        """
+        Private method to initialize the highlighter colours.
         """
-        Public method to generate the rule set.
-        
-        Note: This method must me implemented by derived syntax
-        highlighters.
-        """
-        pass
+        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):
         """
@@ -159,3 +152,23 @@
                     self.setFormat(start, start + length,
                                    formatStr[groupIndex])
                 start += length
+    
+    def regenerateRules(self):
+        """
+        Public method to initialize or regenerate the syntax highlighter rules.
+        """
+        self.normalFormat = self.makeFormat()
+        
+        self.__initColours()
+        
+        self._rules = []
+        self.generateRules()
+    
+    def generateRules(self):
+        """
+        Public method to generate the rule set.
+        
+        Note: This method must me implemented by derived syntax
+        highlighters.
+        """
+        pass

eric ide

mercurial