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