Krita Source Code Documentation
Loading...
Searching...
No Matches
syntaxstylescombobox.py
Go to the documentation of this file.
1"""
2SPDX-FileCopyrightText: 2017 Eliakin Costa <eliakim170@gmail.com>
3
4SPDX-License-Identifier: GPL-2.0-or-later
5"""
6try:
7 from PyQt6.QtWidgets import QComboBox
8 from PyQt6.QtGui import QPalette
9except:
10 from PyQt5.QtWidgets import QComboBox
11 from PyQt5.QtGui import QPalette
12from scripter.ui_scripter.syntax import syntaxstyles
13
14
15class SyntaxStylesComboBox(QComboBox):
16
17 def __init__(self, highlight, editor, parent=None):
18 super(SyntaxStylesComboBox, self).__init__(parent)
19
20 self.highlight = highlight
21 self.editor = editor
22 self.styleClasses = [syntaxstyles.DefaultSyntaxStyle, syntaxstyles.PythonVimSyntaxStyle, syntaxstyles.BreezeLightSyntaxStyle, syntaxstyles.BreezeDarkSyntaxStyle, syntaxstyles.BlenderSyntaxStyle, syntaxstyles.SolarizedDarkSyntaxStyle, syntaxstyles.SolarizedLightSyntaxStyle]
23
24 for styleClass in self.styleClasses:
25 className = styleClass.__name__
26 self.addItem(className)
27
28 if isinstance(self.highlight.getSyntaxStyle(), styleClass):
29 self.setCurrentIndex(self.findText(className))
30
32
33 def _currentIndexChanged(self, index):
34 syntaxStyle = getattr(syntaxstyles, self.itemText(index))()
35 self.highlight.setSyntaxStyle(syntaxStyle)
36 self.highlight.rehighlight()
37 p = self.editor.palette()
38 p.setColor(QPalette.ColorRole.Base, syntaxStyle['background'].foreground().color())
39 p.setColor(QPalette.ColorRole.Text, syntaxStyle['foreground'].foreground().color())
40 self.editor.setPalette(p)
41 self.editor.highlightCurrentLine()
42
43 def readSettings(self, settings):
44 syntaxStyle = settings.value('syntaxStyle', '')
45
46 if syntaxStyle:
47 self.setCurrentIndex(self.findText(syntaxStyle))
48
49 def writeSettings(self, settings):
50 settings.setValue('syntaxStyle', type(self.highlight.getSyntaxStyle()).__name__)
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
rgba palette[MAX_PALETTE]
Definition palette.c:35