Sat, 06 Jan 2024 15:21:02 +0100
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
10439
21c28b0f9e41
Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10428
diff
changeset
|
3 | # Copyright (c) 2006 - 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the Editor Highlighting Styles configuration page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
10 | import enum |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8912
diff
changeset
|
11 | import pathlib |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
12 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9448
diff
changeset
|
13 | from PyQt6.QtCore import QFile, QIODevice, Qt, pyqtSlot |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9448
diff
changeset
|
14 | from PyQt6.QtGui import QColor, QFont |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
15 | from PyQt6.QtWidgets import ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
16 | QColorDialog, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9448
diff
changeset
|
17 | QDialog, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
18 | QFontDialog, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
19 | QInputDialog, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
20 | QMenu, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
21 | QTreeWidgetItem, |
7263
c1af2e327675
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
22 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9448
diff
changeset
|
24 | from eric7.EricGui import EricPixmapCache |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9448
diff
changeset
|
25 | from eric7.EricWidgets import EricFileDialog, EricMessageBox |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
26 | from eric7.EricXML.HighlightingStylesReader import HighlightingStylesReader |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
27 | from eric7.Preferences.HighlightingStylesFile import HighlightingStylesFile |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
28 | from eric7.QScintilla import Lexers |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9448
diff
changeset
|
29 | |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9448
diff
changeset
|
30 | from ..SubstyleDefinitionDialog import SubstyleDefinitionDialog |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
31 | from .ConfigurationPageBase import ConfigurationPageBase |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
32 | from .Ui_EditorHighlightingStylesPage import Ui_EditorHighlightingStylesPage |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
33 | |
4698
61c0aef6a570
Added capability to select only from monospaced fonts on the highlighters styles page (for PyQt5 only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4675
diff
changeset
|
34 | |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
35 | class FontChangeMode(enum.Enum): |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
36 | """ |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
37 | Class defining the modes for font changes. |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
38 | """ |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
39 | |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
40 | FAMILYONLY = 0 |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
41 | SIZEONLY = 1 |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
42 | FAMILYANDSIZE = 2 |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
43 | FONT = 99 |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
44 | |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
45 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
46 | class EditorHighlightingStylesPage( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
47 | ConfigurationPageBase, Ui_EditorHighlightingStylesPage |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
48 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | Class implementing the Editor Highlighting Styles configuration page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
52 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
53 | StyleRole = Qt.ItemDataRole.UserRole + 1 |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
54 | SubstyleRole = Qt.ItemDataRole.UserRole + 2 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
55 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | def __init__(self, lexers): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
59 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | @param lexers reference to the lexers dictionary |
10428
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
61 | @type dict |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8151
diff
changeset
|
63 | super().__init__() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | self.setupUi(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | self.setObjectName("EditorHighlightingStylesPage") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
66 | |
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
|
67 | self.defaultSubstylesButton.setIcon(EricPixmapCache.getIcon("editUndo")) |
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
|
68 | self.addSubstyleButton.setIcon(EricPixmapCache.getIcon("plus")) |
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
|
69 | self.deleteSubstyleButton.setIcon(EricPixmapCache.getIcon("minus")) |
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
|
70 | self.editSubstyleButton.setIcon(EricPixmapCache.getIcon("edit")) |
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
|
71 | self.copySubstyleButton.setIcon(EricPixmapCache.getIcon("editCopy")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
72 | |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
73 | self.__fontButtonMenu = QMenu() |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
74 | act = self.__fontButtonMenu.addAction(self.tr("Font")) |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
75 | act.setData(FontChangeMode.FONT) |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
76 | self.__fontButtonMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
77 | act = self.__fontButtonMenu.addAction(self.tr("Family and Size only")) |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
78 | act.setData(FontChangeMode.FAMILYANDSIZE) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
79 | act = self.__fontButtonMenu.addAction(self.tr("Family only")) |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
80 | act.setData(FontChangeMode.FAMILYONLY) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
81 | act = self.__fontButtonMenu.addAction(self.tr("Size only")) |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
82 | act.setData(FontChangeMode.SIZEONLY) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
83 | self.__fontButtonMenu.triggered.connect(self.__fontButtonMenuTriggered) |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
84 | self.fontButton.setMenu(self.__fontButtonMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
85 | |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
86 | self.__allFontsButtonMenu = QMenu() |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
87 | act = self.__allFontsButtonMenu.addAction(self.tr("Font")) |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
88 | act.setData(FontChangeMode.FONT) |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
89 | self.__allFontsButtonMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
90 | act = self.__allFontsButtonMenu.addAction(self.tr("Family and Size only")) |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
91 | act.setData(FontChangeMode.FAMILYANDSIZE) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
92 | act = self.__allFontsButtonMenu.addAction(self.tr("Family only")) |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
93 | act.setData(FontChangeMode.FAMILYONLY) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
94 | act = self.__allFontsButtonMenu.addAction(self.tr("Size only")) |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
95 | act.setData(FontChangeMode.SIZEONLY) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
96 | self.__allFontsButtonMenu.triggered.connect(self.__allFontsButtonMenuTriggered) |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
97 | self.allFontsButton.setMenu(self.__allFontsButtonMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
98 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | self.lexer = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | self.lexers = lexers |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
101 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | # set initial values |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10135
diff
changeset
|
103 | languages = sorted([""] + list(self.lexers)) |
10135 | 104 | self.__populateLanguages(languages) |
105 | ||
106 | def setMode(self, displayMode): | |
107 | """ | |
108 | Public method to perform mode dependent setups. | |
109 | ||
110 | @param displayMode mode of the configuration dialog | |
111 | @type ConfigurationMode | |
112 | """ | |
113 | from ..ConfigurationDialog import ConfigurationMode | |
114 | ||
115 | if displayMode in (ConfigurationMode.SHELLMODE,): | |
116 | self.__populateLanguages(["Python3"]) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
117 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | def save(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | Public slot to save the Editor Highlighting Styles configuration. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | """ |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10135
diff
changeset
|
122 | for lexer in self.lexers.values(): |
6853
0922aa829e5e
PreferencesLexer: started to prepare it for handling of sub-style aware lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
123 | lexer.writeSettings() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
124 | |
10135 | 125 | def __populateLanguages(self, languages): |
126 | """ | |
127 | Private method to populate the language selection box. | |
128 | ||
129 | @param languages list of languages to include in the language selector | |
130 | @type list of str | |
131 | """ | |
132 | self.lexerLanguageComboBox.clear() | |
133 | for language in languages: | |
134 | self.lexerLanguageComboBox.addItem( | |
135 | Lexers.getLanguageIcon(language, False), language | |
136 | ) | |
137 | self.on_lexerLanguageComboBox_activated(0) | |
138 | ||
8151
8c1445825e7b
Changed code to not use QComboBox.activated[str] and QComboBoc.highlighted[str] signals but the int variants instead.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
139 | @pyqtSlot(int) |
8c1445825e7b
Changed code to not use QComboBox.activated[str] and QComboBoc.highlighted[str] signals but the int variants instead.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
140 | def on_lexerLanguageComboBox_activated(self, index): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | Private slot to fill the style combo of the source page. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
143 | |
8151
8c1445825e7b
Changed code to not use QComboBox.activated[str] and QComboBoc.highlighted[str] signals but the int variants instead.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
144 | @param index index of the selected entry |
8c1445825e7b
Changed code to not use QComboBox.activated[str] and QComboBoc.highlighted[str] signals but the int variants instead.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
145 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | """ |
8151
8c1445825e7b
Changed code to not use QComboBox.activated[str] and QComboBoc.highlighted[str] signals but the int variants instead.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
147 | language = self.lexerLanguageComboBox.itemText(index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
148 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | self.styleElementList.clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | self.styleGroup.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | self.lexer = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
152 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | if not language: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
155 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | self.lexer = self.lexers[language] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | except KeyError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
160 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | self.styleGroup.setEnabled(True) |
6854
f4dd76230eea
PreferencesLexer, EditorHighlightingPage: got rid of the 'styles' and 'ind2style' lists (that was very old style programming).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6853
diff
changeset
|
162 | for description, styleNo, subStyleNo in self.lexer.getStyles(): |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
163 | if subStyleNo >= 0: |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
164 | parent = self.styleElementList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
165 | self.lexer.description(styleNo), Qt.MatchFlag.MatchExactly |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
166 | )[0] |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
167 | parent.setExpanded(True) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
168 | else: |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
169 | parent = self.styleElementList |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
170 | itm = QTreeWidgetItem(parent, [description]) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
171 | itm.setData(0, self.StyleRole, styleNo) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
172 | itm.setData(0, self.SubstyleRole, subStyleNo) |
3103
451f60e70434
Made the editor highlighting styles page more colorful (i.e. show the colors and fonts in line).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3038
diff
changeset
|
173 | self.__styleAllItems() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
174 | self.styleElementList.setCurrentItem(self.styleElementList.topLevelItem(0)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
175 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
176 | def __stylesForItem(self, itm): |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
177 | """ |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
178 | Private method to get the style and sub-style number of the given item. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
179 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
180 | @param itm reference to the item to extract the styles from |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
181 | @type QTreeWidgetItem |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
182 | @return tuple containing the style and sub-style numbers |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
183 | @rtype tuple of (int, int) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
184 | """ |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
185 | style = itm.data(0, self.StyleRole) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
186 | substyle = itm.data(0, self.SubstyleRole) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
187 | |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
188 | return (style, substyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
189 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
190 | def __currentStyles(self): |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
191 | """ |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
192 | Private method to get the styles of the current item. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
193 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
194 | @return tuple containing the style and sub-style numbers |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
195 | @rtype tuple of (int, int) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
196 | """ |
6867
97e86d2426a9
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6864
diff
changeset
|
197 | itm = self.styleElementList.currentItem() |
8234
fcb6b4b96274
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
198 | # return default style, if no current item |
fcb6b4b96274
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
199 | styles = (0, -1) if itm is None else self.__stylesForItem(itm) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
200 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
201 | return styles |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
202 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
203 | def __styleOneItem(self, item, style, substyle): |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
204 | """ |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
205 | Private method to style one item of the style element list. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
206 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
207 | @param item reference to the item to be styled |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
208 | @type QTreeWidgetItem |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
209 | @param style base style number |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
210 | @type int |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
211 | @param substyle sub-style number |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
212 | @type int |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
213 | """ |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
214 | colour = self.lexer.color(style, substyle) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
215 | paper = self.lexer.paper(style, substyle) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
216 | font = self.lexer.font(style, substyle) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
217 | eolfill = self.lexer.eolFill(style, substyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
218 | |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
219 | item.setFont(0, font) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
220 | item.setBackground(0, paper) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
221 | item.setForeground(0, colour) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
222 | if eolfill: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
223 | item.setCheckState(0, Qt.CheckState.Checked) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
224 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
225 | item.setCheckState(0, Qt.CheckState.Unchecked) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
226 | |
3103
451f60e70434
Made the editor highlighting styles page more colorful (i.e. show the colors and fonts in line).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3038
diff
changeset
|
227 | def __styleAllItems(self): |
451f60e70434
Made the editor highlighting styles page more colorful (i.e. show the colors and fonts in line).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3038
diff
changeset
|
228 | """ |
451f60e70434
Made the editor highlighting styles page more colorful (i.e. show the colors and fonts in line).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3038
diff
changeset
|
229 | Private method to style all items of the style element list. |
451f60e70434
Made the editor highlighting styles page more colorful (i.e. show the colors and fonts in line).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3038
diff
changeset
|
230 | """ |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
231 | itm = self.styleElementList.topLevelItem(0) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
232 | while itm is not None: |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
233 | style, substyle = self.__stylesForItem(itm) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
234 | self.__styleOneItem(itm, style, substyle) |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
235 | itm = self.styleElementList.itemBelow(itm) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
236 | |
8850
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
237 | def __styleSample(self, color, paper, font=None): |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
238 | """ |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
239 | Private method to style the sample text. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
240 | |
8850
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
241 | @param color foreground color for the sample |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
242 | @type QColor |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
243 | @param paper background color for the sample |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
244 | @type QColor |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
245 | @param font font for the sample (defaults to None) |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
246 | @type QFont (optional) |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
247 | """ |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
248 | if font: |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
249 | self.sampleText.setFont(font) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
250 | |
8850
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
251 | self.sampleText.setStyleSheet( |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
252 | "QLineEdit {{ color: {0}; background-color: {1}; }}".format( |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
253 | color.name(), paper.name() |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
254 | ) |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
255 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
256 | |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
257 | @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
258 | def on_styleElementList_currentItemChanged(self, current, previous): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | """ |
6854
f4dd76230eea
PreferencesLexer, EditorHighlightingPage: got rid of the 'styles' and 'ind2style' lists (that was very old style programming).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6853
diff
changeset
|
260 | Private method to handle a change of the current row. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
261 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
262 | @param current reference to the current item |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
263 | @type QTreeWidgetItem |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
264 | @param previous reference to the previous item |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
265 | @type QTreeWidgetItem |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | """ |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
267 | if current is None: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
269 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
270 | style, substyle = self.__stylesForItem(current) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
271 | colour = self.lexer.color(style, substyle) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
272 | paper = self.lexer.paper(style, substyle) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
273 | eolfill = self.lexer.eolFill(style, substyle) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
274 | font = self.lexer.font(style, substyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
275 | |
8850
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
276 | self.__styleSample(colour, paper, font=font) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | self.eolfillCheckBox.setChecked(eolfill) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
278 | |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
279 | selectedOne = len(self.styleElementList.selectedItems()) == 1 |
6878
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
280 | self.defaultSubstylesButton.setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
281 | selectedOne and substyle < 0 and self.lexer.isBaseStyle(style) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
282 | ) |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
283 | self.addSubstyleButton.setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
284 | selectedOne and substyle < 0 and self.lexer.isBaseStyle(style) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
285 | ) |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
286 | self.deleteSubstyleButton.setEnabled(selectedOne and substyle >= 0) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
287 | self.editSubstyleButton.setEnabled(selectedOne and substyle >= 0) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
288 | self.copySubstyleButton.setEnabled(selectedOne and substyle >= 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
289 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | def on_foregroundButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | """ |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
293 | Private method used to select the foreground colour of the selected |
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
294 | style and lexer. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | """ |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
296 | style, substyle = self.__currentStyles() |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
297 | colour = QColorDialog.getColor(self.lexer.color(style, substyle)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | if colour.isValid(): |
8850
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
299 | paper = self.lexer.paper(style, substyle) |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
300 | self.__styleSample(colour, paper) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
301 | for selItem in self.styleElementList.selectedItems(): |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
302 | style, substyle = self.__stylesForItem(selItem) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
303 | self.lexer.setColor(colour, style, substyle) |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
304 | selItem.setForeground(0, colour) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
305 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | def on_backgroundButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | """ |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
309 | Private method used to select the background colour of the selected |
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
310 | style and lexer. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | """ |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
312 | style, substyle = self.__currentStyles() |
8850
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
313 | paper = QColorDialog.getColor(self.lexer.paper(style, substyle)) |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
314 | if paper.isValid(): |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
315 | colour = self.lexer.color(style, substyle) |
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
316 | self.__styleSample(colour, paper) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
317 | for selItem in self.styleElementList.selectedItems(): |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
318 | style, substyle = self.__stylesForItem(selItem) |
8912
1bd5e972252e
Corrected the background color handling in the highlighter styles configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
319 | self.lexer.setPaper(paper, style, substyle) |
1bd5e972252e
Corrected the background color handling in the highlighter styles configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
320 | selItem.setBackground(0, paper) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
321 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | def on_allBackgroundColoursButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
325 | Private method used to select the background colour of all styles of a |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | selected lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | """ |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
328 | style, substyle = self.__currentStyles() |
8912
1bd5e972252e
Corrected the background color handling in the highlighter styles configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
329 | paper = QColorDialog.getColor(self.lexer.paper(style, substyle)) |
1bd5e972252e
Corrected the background color handling in the highlighter styles configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
330 | if paper.isValid(): |
1bd5e972252e
Corrected the background color handling in the highlighter styles configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
331 | colour = self.lexer.color(style, substyle) |
8850
da93f2ba802f
Changed some widgets to work with style sheets instead of manipulating the palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
332 | self.__styleSample(colour, paper) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
333 | |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
334 | itm = self.styleElementList.topLevelItem(0) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
335 | while itm is not None: |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
336 | style, substyle = self.__stylesForItem(itm) |
8912
1bd5e972252e
Corrected the background color handling in the highlighter styles configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
337 | self.lexer.setPaper(paper, style, substyle) |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
338 | itm = self.styleElementList.itemBelow(itm) |
3103
451f60e70434
Made the editor highlighting styles page more colorful (i.e. show the colors and fonts in line).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3038
diff
changeset
|
339 | self.__styleAllItems() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
340 | |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
341 | def __changeFont(self, doAll, familyOnly, sizeOnly): |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
342 | """ |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
343 | Private slot to change the highlighter font. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
344 | |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
345 | @param doAll flag indicating to change the font for all styles |
10428
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
346 | @type bool |
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
347 | @param familyOnly flag indicating to set the font family only |
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
348 | @type bool |
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
349 | @param sizeOnly flag indicating to set the font size only |
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
350 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
352 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
353 | def setFont(font, style, substyle, familyOnly, sizeOnly): |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
354 | """ |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
355 | Local function to set the font. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
356 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
357 | @param font font to be set |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
358 | @type QFont |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
359 | @param style style number |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
360 | @type int |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
361 | @param substyle sub-style number |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
362 | @type int |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
363 | @param familyOnly flag indicating to set the font family only |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
364 | @type bool |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
365 | @param sizeOnly flag indicating to set the font size only |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
366 | @type bool |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
367 | """ |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
368 | if familyOnly or sizeOnly: |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
369 | newFont = QFont(self.lexer.font(style)) |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
370 | if familyOnly: |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
371 | newFont.setFamily(font.family()) |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
372 | if sizeOnly: |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
373 | newFont.setPointSize(font.pointSize()) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
374 | self.lexer.setFont(newFont, style, substyle) |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
375 | else: |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
376 | self.lexer.setFont(font, style, substyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
377 | |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
378 | def setSampleFont(font, familyOnly, sizeOnly): |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
379 | """ |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
380 | Local function to set the font of the sample text. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
381 | |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
382 | @param font font to be set (QFont) |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
383 | @param familyOnly flag indicating to set the font family only |
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
384 | (boolean) |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
385 | @param sizeOnly flag indicating to set the font size only (boolean |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
386 | """ |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
387 | if familyOnly or sizeOnly: |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
388 | style, substyle = self.__currentStyles() |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
389 | newFont = QFont(self.lexer.font(style, substyle)) |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
390 | if familyOnly: |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
391 | newFont.setFamily(font.family()) |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
392 | if sizeOnly: |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
393 | newFont.setPointSize(font.pointSize()) |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
394 | self.sampleText.setFont(newFont) |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
395 | else: |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
396 | self.sampleText.setFont(font) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
397 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
398 | style, substyle = self.__currentStyles() |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8234
diff
changeset
|
399 | options = ( |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
400 | QFontDialog.FontDialogOption.MonospacedFonts |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
401 | if self.monospacedButton.isChecked() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
402 | else QFontDialog.FontDialogOption(0) |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8234
diff
changeset
|
403 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
404 | font, ok = QFontDialog.getFont( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
405 | self.lexer.font(style, substyle), self, "", options |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
406 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | if ok: |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
408 | setSampleFont(font, familyOnly, sizeOnly) |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
409 | if doAll: |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
410 | itm = self.styleElementList.topLevelItem(0) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
411 | while itm is not None: |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
412 | style, substyle = self.__stylesForItem(itm) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
413 | setFont(font, style, substyle, familyOnly, sizeOnly) |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
414 | itm = self.styleElementList.itemBelow(itm) |
3103
451f60e70434
Made the editor highlighting styles page more colorful (i.e. show the colors and fonts in line).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3038
diff
changeset
|
415 | self.__styleAllItems() |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
416 | else: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | for selItem in self.styleElementList.selectedItems(): |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
418 | style, substyle = self.__stylesForItem(selItem) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
419 | setFont(font, style, substyle, familyOnly, sizeOnly) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
420 | itmFont = self.lexer.font(style, substyle) |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
421 | selItem.setFont(0, itmFont) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
422 | |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
423 | def __fontButtonMenuTriggered(self, act): |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
424 | """ |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
425 | Private slot used to select the font of the selected style and lexer. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
426 | |
10428
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
427 | @param act reference to the triggering action |
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
428 | @type QAction |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | """ |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
430 | if act is None: |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
431 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
432 | |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
433 | familyOnly = act.data() in ( |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
434 | FontChangeMode.FAMILYANDSIZE, |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
435 | FontChangeMode.FAMILYONLY, |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
436 | ) |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
437 | sizeOnly = act.data() in (FontChangeMode.FAMILYANDSIZE, FontChangeMode.SIZEONLY) |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
438 | self.__changeFont(False, familyOnly, sizeOnly) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
439 | |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
440 | def __allFontsButtonMenuTriggered(self, act): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | """ |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
442 | Private slot used to change the font of all styles of a selected lexer. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
443 | |
10428
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
444 | @param act reference to the triggering action |
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
445 | @type QAction |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
446 | """ |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
447 | if act is None: |
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
448 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
449 | |
10482
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
450 | familyOnly = act.data() in ( |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
451 | FontChangeMode.FAMILYANDSIZE, |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
452 | FontChangeMode.FAMILYONLY, |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
453 | ) |
72d9b5ea39b4
Changed some state/mode definitiuons to an enum.Enum class and corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10475
diff
changeset
|
454 | sizeOnly = act.data() in (FontChangeMode.FAMILYANDSIZE, FontChangeMode.SIZEONLY) |
244
30be2b4a9721
Added a menu to the highlighting styles config page to change individual aspects of a font only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
455 | self.__changeFont(True, familyOnly, sizeOnly) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
456 | |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
457 | @pyqtSlot(bool) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
458 | def on_eolfillCheckBox_clicked(self, on): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | """ |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
460 | Private method used to set the eolfill for the selected style and |
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
461 | lexer. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
462 | |
10428
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
463 | @param on flag indicating enabled or disabled state |
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
464 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | """ |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
466 | style, substyle = self.__currentStyles() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
467 | checkState = Qt.CheckState.Checked if on else Qt.CheckState.Unchecked |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
468 | for selItem in self.styleElementList.selectedItems(): |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
469 | style, substyle = self.__stylesForItem(selItem) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
470 | self.lexer.setEolFill(on, style, substyle) |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
471 | selItem.setCheckState(0, checkState) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
472 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | def on_allEolFillButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | """ |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
476 | Private method used to set the eolfill for all styles of a selected |
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
477 | lexer. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
479 | on = self.tr("Enabled") |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
480 | off = self.tr("Disabled") |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
481 | selection, ok = QInputDialog.getItem( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
483 | self.tr("Fill to end of line"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
484 | self.tr("Select fill to end of line for all styles"), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
485 | [on, off], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
486 | 0, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
487 | False, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
488 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | if ok: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | enabled = selection == on |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | self.eolfillCheckBox.setChecked(enabled) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
492 | |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
493 | itm = self.styleElementList.topLevelItem(0) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
494 | while itm is not None: |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
495 | style, substyle = self.__stylesForItem(itm) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
496 | self.lexer.setEolFill(enabled, style, substyle) |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
497 | itm = self.styleElementList.itemBelow(itm) |
3107
5b496e690984
Another little enhancement to the highlighter style config page to show the eol-fill status in the style list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3103
diff
changeset
|
498 | self.__styleAllItems() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
499 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | def on_defaultButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | """ |
2763
e4794166ad70
Fixed a serious typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2408
diff
changeset
|
503 | Private method to set the current style to its default values. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | """ |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
505 | for selItem in self.styleElementList.selectedItems(): |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
506 | style, substyle = self.__stylesForItem(selItem) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
507 | self.__setToDefault(style, substyle) |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
508 | self.on_styleElementList_currentItemChanged( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
509 | self.styleElementList.currentItem(), None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
510 | ) |
3103
451f60e70434
Made the editor highlighting styles page more colorful (i.e. show the colors and fonts in line).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3038
diff
changeset
|
511 | self.__styleAllItems() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
512 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | def on_allDefaultButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | Private method to set all styles to their default values. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | """ |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
518 | itm = self.styleElementList.topLevelItem(0) |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
519 | while itm is not None: |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
520 | style, substyle = self.__stylesForItem(itm) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
521 | self.__setToDefault(style, substyle) |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
522 | itm = self.styleElementList.itemBelow(itm) |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
523 | self.on_styleElementList_currentItemChanged( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
524 | self.styleElementList.currentItem(), None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
525 | ) |
3103
451f60e70434
Made the editor highlighting styles page more colorful (i.e. show the colors and fonts in line).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3038
diff
changeset
|
526 | self.__styleAllItems() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
527 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
528 | def __setToDefault(self, style, substyle): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | """ |
2763
e4794166ad70
Fixed a serious typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2408
diff
changeset
|
530 | Private method to set a specific style to its default values. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
531 | |
6860
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
532 | @param style style number |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
533 | @type int |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
534 | @param substyle sub-style number |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
535 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
537 | self.lexer.setColor(self.lexer.defaultColor(style, substyle), style, substyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
538 | self.lexer.setPaper(self.lexer.defaultPaper(style, substyle), style, substyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
539 | self.lexer.setFont(self.lexer.defaultFont(style, substyle), style, substyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
540 | self.lexer.setEolFill( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
541 | self.lexer.defaultEolFill(style, substyle), style, substyle |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
542 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
543 | |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
544 | ####################################################################### |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
545 | ## Importing and exporting of styles |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
546 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
547 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | @pyqtSlot() |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
549 | def on_importButton_clicked(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | """ |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
551 | Private slot to import styles to be selected. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
552 | """ |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
553 | self.__importStyles(importAll=False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
554 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | @pyqtSlot() |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
556 | def on_exportButton_clicked(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | """ |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
558 | Private slot to export styles to be selected. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | """ |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
560 | self.__exportStyles(exportAll=False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
561 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | def on_importAllButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | Private slot to import the styles of all lexers. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
566 | """ |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
567 | self.__importStyles(importAll=True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
568 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
569 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | def on_exportAllButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | Private slot to export the styles of all lexers. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
573 | """ |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
574 | self.__exportStyles(exportAll=True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
575 | |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
576 | def __exportStyles(self, exportAll=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
577 | """ |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
578 | Private method to export the styles of selectable lexers. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
579 | |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
580 | @param exportAll flag indicating to export all styles without asking |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
581 | (defaults to False) |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
582 | @type bool (optional) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | """ |
9448
ea215f7afab3
Fixed an issue importing the eric7config module.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
584 | from eric7.Globals import getConfig |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
585 | |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
586 | from .EditorHighlightingStylesSelectionDialog import ( |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
587 | EditorHighlightingStylesSelectionDialog, |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
588 | ) |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
589 | |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
590 | stylesDir = getConfig("ericStylesDir") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
591 | |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10135
diff
changeset
|
592 | lexerNames = list(self.lexers) |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
593 | if not exportAll: |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
594 | if self.lexer: |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
595 | preselect = [self.lexer.language()] |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
596 | else: |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
597 | preselect = [] |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
598 | dlg = EditorHighlightingStylesSelectionDialog( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
599 | lexerNames, forImport=False, preselect=preselect |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
600 | ) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
601 | if dlg.exec() == QDialog.DialogCode.Accepted: |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
602 | lexerNames = dlg.getLexerNames() |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
603 | else: |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
604 | # Cancelled by user |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
605 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
606 | |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
607 | lexers = [self.lexers[name] for name in lexerNames] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
608 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
609 | fn, selectedFilter = EricFileDialog.getSaveFileNameAndFilter( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
611 | self.tr("Export Highlighting Styles"), |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
612 | stylesDir, |
8351
7d13e08ddb3f
Removed for writing old style XML files and renamed E5XML to EricXML.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8322
diff
changeset
|
613 | self.tr("Highlighting Styles File (*.ehj)"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
614 | "", |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
615 | EricFileDialog.DontConfirmOverwrite, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
616 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
617 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
618 | if not fn: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
619 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
620 | |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8912
diff
changeset
|
621 | fpath = pathlib.Path(fn) |
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8912
diff
changeset
|
622 | if not fpath.suffix: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
623 | ex = selectedFilter.split("(*")[1].split(")")[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
624 | if ex: |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8912
diff
changeset
|
625 | fpath = fpath.with_suffix(ex) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
626 | |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8234
diff
changeset
|
627 | ok = ( |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
628 | EricMessageBox.yesNo( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3010
diff
changeset
|
629 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
630 | self.tr("Export Highlighting Styles"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
631 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
632 | """<p>The highlighting styles file <b>{0}</b> exists""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
633 | """ already. Overwrite it?</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
634 | ).format(fpath), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
635 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
636 | if fpath.exists() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
637 | else True |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8234
diff
changeset
|
638 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
639 | |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
640 | if ok: |
8351
7d13e08ddb3f
Removed for writing old style XML files and renamed E5XML to EricXML.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8322
diff
changeset
|
641 | highlightingStylesFile = HighlightingStylesFile() |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8912
diff
changeset
|
642 | highlightingStylesFile.writeFile(str(fpath), lexers) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
643 | |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
644 | def __importStyles(self, importAll=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
645 | """ |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
646 | Private method to import the styles of lexers to be selected. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
647 | |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
648 | @param importAll flag indicating to import all styles without asking |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
649 | (defaults to False) |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
650 | @type bool (optional) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
651 | """ |
9448
ea215f7afab3
Fixed an issue importing the eric7config module.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
652 | from eric7.Globals import getConfig |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
653 | |
5976
549918576245
Added a dark style (*.qss and Python lexers) provided by Giuseppe Corbelli.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
654 | stylesDir = getConfig("ericStylesDir") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
655 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
656 | fn = EricFileDialog.getOpenFileName( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
657 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
658 | self.tr("Import Highlighting Styles"), |
5976
549918576245
Added a dark style (*.qss and Python lexers) provided by Giuseppe Corbelli.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
659 | stylesDir, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
660 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
661 | "Highlighting Styles File (*.ehj);;" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
662 | "XML Highlighting Styles File (*.e6h *.e4h)" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
663 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
664 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
665 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
666 | if not fn: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
667 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
668 | |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
669 | if fn.endswith(".ehj"): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
670 | # new JSON based file |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
671 | highlightingStylesFile = HighlightingStylesFile() |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
672 | styles = highlightingStylesFile.readFile(fn) |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
673 | if not styles: |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
674 | return |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
675 | else: |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
676 | # old XML based file |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
677 | f = QFile(fn) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
678 | if f.open(QIODevice.OpenModeFlag.ReadOnly): |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
679 | reader = HighlightingStylesReader(f, self.lexers) |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
680 | styles = reader.readXML() |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
681 | f.close() |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
682 | if not styles: |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
683 | return |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
684 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
685 | EricMessageBox.critical( |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
686 | self, |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
687 | self.tr("Import Highlighting Styles"), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
688 | self.tr( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
689 | "<p>The highlighting styles file <b>{0}</b> could not" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
690 | " be read.</p><p>Reason: {1}</p>" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
691 | ).format(fn, f.errorString()), |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
692 | ) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
693 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
694 | |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
695 | self.__applyStyles(styles, importAll=importAll) |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
696 | self.on_lexerLanguageComboBox_activated( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
697 | self.lexerLanguageComboBox.currentIndex() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
698 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
699 | |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
700 | def __applyStyles(self, stylesList, importAll=False): |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
701 | """ |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
702 | Private method to apply the imported styles to this dialog. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
703 | |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
704 | @param stylesList list of imported lexer styles |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
705 | @type list of dict |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
706 | @param importAll flag indicating to import all styles without asking |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
707 | (defaults to False) |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
708 | @type bool (optional) |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
709 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
710 | from .EditorHighlightingStylesSelectionDialog import ( |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
711 | EditorHighlightingStylesSelectionDialog, |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
712 | ) |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
713 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
714 | lexerNames = [d["name"] for d in stylesList if d["name"] in self.lexers] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
715 | |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
716 | if not importAll: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
717 | dlg = EditorHighlightingStylesSelectionDialog(lexerNames, forImport=True) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
718 | if dlg.exec() == QDialog.DialogCode.Accepted: |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
719 | lexerNames = dlg.getLexerNames() |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
720 | else: |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
721 | # Cancelled by user |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
722 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
723 | |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
724 | for lexerDict in stylesList: |
8028
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
725 | if lexerDict["name"] in lexerNames: |
a4f1b68c0737
Highlighting Styles: changed the import/export logic to allow the selection of lexers to be imported/exported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8026
diff
changeset
|
726 | lexer = self.lexers[lexerDict["name"]] |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
727 | for styleDict in lexerDict["styles"]: |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
728 | style = styleDict["style"] |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
729 | substyle = styleDict["substyle"] |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
730 | lexer.setColor(QColor(styleDict["color"]), style, substyle) |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
731 | lexer.setPaper(QColor(styleDict["paper"]), style, substyle) |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
732 | font = QFont() |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
733 | font.fromString(styleDict["font"]) |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
734 | lexer.setFont(font, style, substyle) |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
735 | lexer.setEolFill(styleDict["eolfill"], style, substyle) |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
736 | if substyle >= 0: |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
737 | # description and words can only be set for sub-styles |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
738 | lexer.setDescription(styleDict["description"], style, substyle) |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
739 | lexer.setWords(styleDict["words"], style, substyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
740 | |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
741 | ####################################################################### |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
742 | ## Methods to save and restore the state |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
743 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
744 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
745 | def saveState(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
746 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
747 | Public method to save the current state of the widget. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
748 | |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
749 | @return list containing the index of the selected lexer language |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
750 | and a tuple containing the index of the parent selected lexer |
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
751 | entry and the index of the selected entry |
10428
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
752 | @rtype list of [int, tuple of (int, int)] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
753 | """ |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
754 | itm = self.styleElementList.currentItem() |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
755 | if itm: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
756 | parent = itm.parent() |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
757 | if parent is None: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
758 | currentData = (None, self.styleElementList.indexOfTopLevelItem(itm)) |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
759 | else: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
760 | currentData = ( |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
761 | self.styleElementList.indexOfTopLevelItem(parent), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
762 | parent.indexOfChild(itm), |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
763 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
764 | |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
765 | savedState = [ |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
766 | self.lexerLanguageComboBox.currentIndex(), |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
767 | currentData, |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
768 | ] |
6862
6f4237ccf576
EditorHighlightingStylesPage: converted the styles list to QTreeWidget in order to show sub-styles indented.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6860
diff
changeset
|
769 | else: |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
770 | savedState = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
771 | return savedState |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
772 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
773 | def setState(self, state): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
774 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
775 | Public method to set the state of the widget. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
776 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
777 | @param state state data generated by saveState |
10428
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
778 | @type list of [int, tuple of (int, int)] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
779 | """ |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
780 | if state: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
781 | self.lexerLanguageComboBox.setCurrentIndex(state[0]) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
782 | self.on_lexerLanguageComboBox_activated( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
783 | self.lexerLanguageComboBox.currentIndex() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
784 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
785 | |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
786 | parentIndex, index = state[1] |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
787 | if parentIndex is None: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
788 | itm = self.styleElementList.topLevelItem(index) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
789 | else: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
790 | parent = self.styleElementList.topLevelItem(parentIndex) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
791 | itm = parent.child(index) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
792 | self.styleElementList.setCurrentItem(itm) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
793 | |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
794 | ####################################################################### |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
795 | ## Methods to add, delete and edit sub-styles and their definitions |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
796 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
797 | |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
798 | @pyqtSlot() |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
799 | def on_addSubstyleButton_clicked(self): |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
800 | """ |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
801 | Private slot to add a new sub-style. |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
802 | """ |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
803 | style, substyle = self.__currentStyles() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
804 | dlg = SubstyleDefinitionDialog(self.lexer, style, substyle, parent=self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
805 | if dlg.exec() == QDialog.DialogCode.Accepted: |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
806 | description, words = dlg.getData() |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
807 | substyle = self.lexer.addSubstyle(style) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
808 | self.lexer.setDescription(description, style, substyle) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
809 | self.lexer.setWords(words, style, substyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
810 | |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
811 | parent = self.styleElementList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
812 | self.lexer.description(style), Qt.MatchFlag.MatchExactly |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
813 | )[0] |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
814 | parent.setExpanded(True) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
815 | itm = QTreeWidgetItem(parent, [description]) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
816 | itm.setData(0, self.StyleRole, style) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
817 | itm.setData(0, self.SubstyleRole, substyle) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
818 | self.__styleOneItem(itm, style, substyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
819 | |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
820 | @pyqtSlot() |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
821 | def on_deleteSubstyleButton_clicked(self): |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
822 | """ |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
823 | Private slot to delete the selected sub-style. |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
824 | """ |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
825 | style, substyle = self.__currentStyles() |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
826 | ok = EricMessageBox.yesNo( |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
827 | self, |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
828 | self.tr("Delete Sub-Style"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
829 | self.tr( |
9573
9960d19d66b5
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
830 | """<p>Shall the sub-style <b>{0}</b> really be deleted?</p>""" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
831 | ).format(self.lexer.description(style, substyle)), |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
832 | ) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
833 | if ok: |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
834 | self.lexer.delSubstyle(style, substyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
835 | |
6867
97e86d2426a9
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6864
diff
changeset
|
836 | itm = self.styleElementList.currentItem() |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
837 | parent = itm.parent() |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
838 | index = parent.indexOfChild(itm) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
839 | parent.takeChild(index) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
840 | del itm |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
841 | |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
842 | @pyqtSlot() |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
843 | def on_editSubstyleButton_clicked(self): |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
844 | """ |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
845 | Private slot to edit the selected sub-style entry. |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
846 | """ |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
847 | style, substyle = self.__currentStyles() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
848 | dlg = SubstyleDefinitionDialog(self.lexer, style, substyle, parent=self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8028
diff
changeset
|
849 | if dlg.exec() == QDialog.DialogCode.Accepted: |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
850 | description, words = dlg.getData() |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
851 | self.lexer.setDescription(description, style, substyle) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
852 | self.lexer.setWords(words, style, substyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
853 | |
6867
97e86d2426a9
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6864
diff
changeset
|
854 | itm = self.styleElementList.currentItem() |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
855 | itm.setText(0, description) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
856 | |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
857 | @pyqtSlot() |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
858 | def on_copySubstyleButton_clicked(self): |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
859 | """ |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
860 | Private slot to copy the selected sub-style. |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
861 | """ |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
862 | style, substyle = self.__currentStyles() |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
863 | newSubstyle = self.lexer.addSubstyle(style) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
864 | |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
865 | description = self.tr("{0} - Copy").format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
866 | self.lexer.description(style, substyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
867 | ) |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
868 | self.lexer.setDescription(description, style, newSubstyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
869 | self.lexer.setWords(self.lexer.words(style, substyle), style, newSubstyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
870 | self.lexer.setColor(self.lexer.color(style, substyle), style, newSubstyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
871 | self.lexer.setPaper(self.lexer.paper(style, substyle), style, newSubstyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
872 | self.lexer.setFont(self.lexer.font(style, substyle), style, newSubstyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
873 | self.lexer.setEolFill(self.lexer.eolFill(style, substyle), style, newSubstyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
874 | |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
875 | parent = self.styleElementList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
876 | self.lexer.description(style), Qt.MatchFlag.MatchExactly |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
877 | )[0] |
6864
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
878 | parent.setExpanded(True) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
879 | itm = QTreeWidgetItem(parent, [description]) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
880 | itm.setData(0, self.StyleRole, style) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
881 | itm.setData(0, self.SubstyleRole, newSubstyle) |
7837ab17f079
Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6862
diff
changeset
|
882 | self.__styleOneItem(itm, style, newSubstyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
883 | |
6878
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
884 | @pyqtSlot() |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
885 | def on_defaultSubstylesButton_clicked(self): |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
886 | """ |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
887 | Private slot to reset all substyles to default values. |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
888 | """ |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
889 | style, substyle = self.__currentStyles() |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8351
diff
changeset
|
890 | ok = EricMessageBox.yesNo( |
6878
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
891 | self, |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
892 | self.tr("Reset Sub-Styles to Default"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
893 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
894 | "<p>Do you really want to reset all defined sub-styles of" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
895 | " <b>{0}</b> to the default values?</p>" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
896 | "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
897 | ).format(self.lexer.description(style, substyle)), |
6883
57a2dc333cea
Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6878
diff
changeset
|
898 | ) |
6878
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
899 | if ok: |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
900 | # 1. reset sub-styles |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
901 | self.lexer.loadDefaultSubStyles(style) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
902 | |
6878
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
903 | # 2. delete all existing sub-style items |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
904 | parent = self.styleElementList.currentItem() |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
905 | while parent.childCount() > 0: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
906 | itm = parent.takeChild(0) # __IGNORE_WARNING__ |
6878
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
907 | del itm |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
908 | |
6878
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
909 | # 3. create the new list of sub-style items |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
910 | for description, _, substyle in self.lexer.getSubStyles(style): |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
911 | itm = QTreeWidgetItem(parent, [description]) |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
912 | itm.setData(0, self.StyleRole, style) |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
913 | itm.setData(0, self.SubstyleRole, substyle) |
79008f970902
EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6867
diff
changeset
|
914 | self.__styleOneItem(itm, style, substyle) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
915 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
916 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
917 | def create(dlg): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
918 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
919 | Module function to create the configuration page. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
920 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
921 | @param dlg reference to the configuration dialog |
10428
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
922 | @type ConfigurationDialog |
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
923 | @return reference to the instantiated page |
a071d4065202
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
924 | @rtype ConfigurationPageBase |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
925 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
926 | page = EditorHighlightingStylesPage(dlg.getLexers()) |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
927 | return page |