Fri, 29 Jan 2021 14:19:41 +0100
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
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 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
3 | # Copyright (c) 2006 - 2021 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 | |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
10 | import os |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
11 | |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5427
diff
changeset
|
12 | from PyQt5.QtCore import pyqtSlot, Qt, QFileInfo, QFile, QIODevice |
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
|
13 | from PyQt5.QtGui import QPalette, QFont, QColor |
7263
c1af2e327675
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
14 | from PyQt5.QtWidgets import ( |
c1af2e327675
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
15 | QColorDialog, QFontDialog, QInputDialog, QMenu, QTreeWidgetItem, QDialog |
c1af2e327675
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
16 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
18 | from .ConfigurationPageBase import ConfigurationPageBase |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
19 | 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
|
20 | from ..SubstyleDefinitionDialog import SubstyleDefinitionDialog |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
22 | from E5Gui import E5MessageBox, E5FileDialog |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
23 | |
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
|
24 | import UI.PixmapCache |
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
|
25 | |
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
|
26 | try: |
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
|
27 | MonospacedFontsOption = QFontDialog.MonospacedFonts |
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
|
28 | except AttributeError: |
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
|
29 | MonospacedFontsOption = QFontDialog.FontDialogOptions(0x10) |
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
|
30 | NoFontsOption = QFontDialog.FontDialogOptions(0) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
31 | |
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
|
32 | |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
33 | # TODO: add capability to export a list of selected highlighter 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
|
34 | class EditorHighlightingStylesPage(ConfigurationPageBase, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | Ui_EditorHighlightingStylesPage): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | Class implementing the Editor Highlighting Styles configuration page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
39 | FAMILYONLY = 0 |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
40 | SIZEONLY = 1 |
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
|
41 | FAMILYANDSIZE = 2 |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
42 | FONT = 99 |
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
|
43 | |
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
|
44 | StyleRole = Qt.UserRole + 1 |
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
|
45 | SubstyleRole = Qt.UserRole + 2 |
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
|
46 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | def __init__(self, lexers): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | @param lexers reference to the lexers dictionary |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2408
diff
changeset
|
53 | super(EditorHighlightingStylesPage, self).__init__() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | self.setupUi(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.setObjectName("EditorHighlightingStylesPage") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | |
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
|
57 | self.defaultSubstylesButton.setIcon(UI.PixmapCache.getIcon("editUndo")) |
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
|
58 | self.addSubstyleButton.setIcon(UI.PixmapCache.getIcon("plus")) |
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
|
59 | self.deleteSubstyleButton.setIcon(UI.PixmapCache.getIcon("minus")) |
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
|
60 | self.editSubstyleButton.setIcon(UI.PixmapCache.getIcon("edit")) |
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
|
61 | self.copySubstyleButton.setIcon(UI.PixmapCache.getIcon("editCopy")) |
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
|
62 | |
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
|
63 | 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
|
64 | act = self.__fontButtonMenu.addAction(self.tr("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
|
65 | act.setData(self.FONT) |
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
|
66 | self.__fontButtonMenu.addSeparator() |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
67 | act = self.__fontButtonMenu.addAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
68 | self.tr("Family and Size only")) |
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
|
69 | act.setData(self.FAMILYANDSIZE) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
70 | act = self.__fontButtonMenu.addAction(self.tr("Family only")) |
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
|
71 | act.setData(self.FAMILYONLY) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
72 | act = self.__fontButtonMenu.addAction(self.tr("Size only")) |
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 | act.setData(self.SIZEONLY) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
74 | 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
|
75 | self.fontButton.setMenu(self.__fontButtonMenu) |
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 | |
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
|
77 | 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
|
78 | act = self.__allFontsButtonMenu.addAction(self.tr("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
|
79 | act.setData(self.FONT) |
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
|
80 | self.__allFontsButtonMenu.addSeparator() |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
81 | act = self.__allFontsButtonMenu.addAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
82 | self.tr("Family and Size only")) |
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
|
83 | act.setData(self.FAMILYANDSIZE) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
84 | act = self.__allFontsButtonMenu.addAction(self.tr("Family only")) |
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
|
85 | act.setData(self.FAMILYONLY) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
86 | act = self.__allFontsButtonMenu.addAction(self.tr("Size only")) |
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
|
87 | act.setData(self.SIZEONLY) |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
88 | self.__allFontsButtonMenu.triggered.connect( |
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
89 | 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
|
90 | self.allFontsButton.setMenu(self.__allFontsButtonMenu) |
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
|
91 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | self.lexer = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | self.lexers = lexers |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | # set initial values |
5427
614e88cfbd84
Added some eye candy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
96 | import QScintilla.Lexers |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
97 | languages = sorted([''] + list(self.lexers.keys())) |
5427
614e88cfbd84
Added some eye candy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
98 | for language in languages: |
614e88cfbd84
Added some eye candy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
99 | self.lexerLanguageComboBox.addItem( |
614e88cfbd84
Added some eye candy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
100 | QScintilla.Lexers.getLanguageIcon(language, False), |
614e88cfbd84
Added some eye candy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
101 | language) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | self.on_lexerLanguageComboBox_activated("") |
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
|
103 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | def save(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | Public slot to save the Editor Highlighting Styles configuration. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | """ |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
108 | for lexer in list(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
|
109 | lexer.writeSettings() |
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
|
110 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | @pyqtSlot(str) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | def on_lexerLanguageComboBox_activated(self, language): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | Private slot to fill the style combo of the source page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | @param language The lexer language (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | self.styleElementList.clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | self.styleGroup.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | self.lexer = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | self.exportCurrentButton.setEnabled(language != "") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | self.importCurrentButton.setEnabled(language != "") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | if not language: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | self.lexer = self.lexers[language] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | except KeyError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | 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
|
134 | 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
|
135 | 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
|
136 | parent = self.styleElementList.findItems( |
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
|
137 | self.lexer.description(styleNo), Qt.MatchExactly)[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
|
138 | 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
|
139 | 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
|
140 | 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
|
141 | 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
|
142 | 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
|
143 | 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
|
144 | self.__styleAllItems() |
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
|
145 | self.styleElementList.setCurrentItem( |
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
|
146 | self.styleElementList.topLevelItem(0)) |
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
|
147 | |
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
|
148 | 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
|
149 | """ |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
150 | Private method to get the style and sub-style number of the given item. |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
151 | |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
152 | @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
|
153 | @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
|
154 | @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
|
155 | @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
|
156 | """ |
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
|
157 | 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
|
158 | 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
|
159 | |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
160 | return (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
|
161 | |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
162 | 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
|
163 | """ |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
164 | Private method to get the styles of the current item. |
6855
4d80c8cc99a1
SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6854
diff
changeset
|
165 | |
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
|
166 | @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
|
167 | @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
|
168 | """ |
6867
97e86d2426a9
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6864
diff
changeset
|
169 | itm = self.styleElementList.currentItem() |
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
|
170 | if itm is None: |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
171 | styles = (0, -1) # return default style |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
172 | else: |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
173 | styles = self.__stylesForItem(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
|
174 | |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
175 | return styles |
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 | |
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 | 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
|
178 | """ |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
179 | Private method to style one item of the style element list. |
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 | |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
181 | @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
|
182 | @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
|
183 | @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
|
184 | @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
|
185 | @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
|
186 | @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
|
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 | 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
|
189 | 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
|
190 | 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
|
191 | 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
|
192 | |
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
|
193 | 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
|
194 | 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
|
195 | 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
|
196 | if eolfill: |
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
|
197 | item.setCheckState(0, Qt.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
|
198 | else: |
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
|
199 | item.setCheckState(0, Qt.Unchecked) |
6855
4d80c8cc99a1
SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6854
diff
changeset
|
200 | |
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
|
201 | 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
|
202 | """ |
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
|
203 | 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
|
204 | """ |
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
|
205 | 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
|
206 | 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
|
207 | 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
|
208 | 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
|
209 | 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
|
210 | |
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
|
211 | @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
|
212 | def on_styleElementList_currentItemChanged(self, current, previous): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | """ |
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
|
214 | Private method to handle a change of the current row. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | |
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
|
216 | @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
|
217 | @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
|
218 | @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
|
219 | @type QTreeWidgetItem |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | """ |
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
|
221 | if current is None: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | |
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 | 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
|
225 | 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
|
226 | 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
|
227 | 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
|
228 | font = self.lexer.font(style, substyle) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | self.sampleText.setFont(font) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | pl = self.sampleText.palette() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | pl.setColor(QPalette.Text, colour) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | pl.setColor(QPalette.Base, paper) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | self.sampleText.setPalette(pl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | self.sampleText.repaint() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | self.eolfillCheckBox.setChecked(eolfill) |
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
|
237 | |
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
|
238 | 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
|
239 | self.defaultSubstylesButton.setEnabled( |
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
|
240 | selectedOne and substyle < 0 and self.lexer.isBaseStyle(style)) |
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
|
241 | self.addSubstyleButton.setEnabled( |
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
|
242 | selectedOne and substyle < 0 and self.lexer.isBaseStyle(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
|
243 | 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
|
244 | 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
|
245 | self.copySubstyleButton.setEnabled(selectedOne and substyle >= 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
|
246 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | def on_foregroundButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | """ |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
250 | 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
|
251 | style and lexer. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | """ |
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
|
253 | 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
|
254 | colour = QColorDialog.getColor(self.lexer.color(style, substyle)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | if colour.isValid(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | pl = self.sampleText.palette() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | pl.setColor(QPalette.Text, colour) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | self.sampleText.setPalette(pl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | self.sampleText.repaint() |
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
|
260 | 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
|
261 | 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
|
262 | 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
|
263 | selItem.setForeground(0, colour) |
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
|
264 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | def on_backgroundButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | """ |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
268 | 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
|
269 | style and lexer. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | """ |
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
|
271 | 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
|
272 | colour = QColorDialog.getColor(self.lexer.paper(style, substyle)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | if colour.isValid(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | pl = self.sampleText.palette() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | pl.setColor(QPalette.Base, colour) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | self.sampleText.setPalette(pl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | self.sampleText.repaint() |
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
|
278 | 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
|
279 | 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
|
280 | self.lexer.setPaper(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
|
281 | selItem.setBackground(0, colour) |
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
|
282 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | def on_allBackgroundColoursButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
286 | 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
|
287 | selected lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | """ |
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
|
289 | 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
|
290 | colour = QColorDialog.getColor(self.lexer.paper(style, substyle)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | if colour.isValid(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | pl = self.sampleText.palette() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | pl.setColor(QPalette.Base, colour) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | self.sampleText.setPalette(pl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | self.sampleText.repaint() |
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
|
296 | |
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
|
297 | 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
|
298 | 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
|
299 | 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
|
300 | self.lexer.setPaper(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
|
301 | 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
|
302 | self.__styleAllItems() |
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
|
303 | |
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
|
304 | 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
|
305 | """ |
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
|
306 | Private slot to change the highlighter font. |
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
|
307 | |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
308 | @param doAll flag indicating to change the font for all styles |
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
309 | (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
|
310 | @param familyOnly flag indicating to set the font family 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
|
311 | @param sizeOnly flag indicating to set the font size only (boolean |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | """ |
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
|
313 | 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
|
314 | """ |
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
|
315 | Local function to set the font. |
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
|
316 | |
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 | @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
|
318 | @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
|
319 | @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
|
320 | @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
|
321 | @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
|
322 | @type int |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
323 | @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
|
324 | @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
|
325 | @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
|
326 | @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
|
327 | """ |
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
|
328 | 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
|
329 | 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
|
330 | 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
|
331 | 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
|
332 | 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
|
333 | 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
|
334 | 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
|
335 | 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
|
336 | self.lexer.setFont(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
|
337 | |
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
|
338 | 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
|
339 | """ |
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
|
340 | Local function to set the font of the sample text. |
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 | |
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 | @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
|
343 | @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
|
344 | (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
|
345 | @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
|
346 | """ |
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
|
347 | 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
|
348 | 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
|
349 | 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
|
350 | 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
|
351 | 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
|
352 | 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
|
353 | 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
|
354 | 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
|
355 | 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
|
356 | self.sampleText.setFont(font) |
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
|
357 | |
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
|
358 | style, substyle = self.__currentStyles() |
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
|
359 | if self.monospacedButton.isChecked(): |
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
|
360 | options = MonospacedFontsOption |
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
|
361 | else: |
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
|
362 | options = NoFontsOption |
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
|
363 | font, ok = QFontDialog.getFont(self.lexer.font(style, substyle), self, |
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
|
364 | "", options) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | 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
|
366 | 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
|
367 | 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
|
368 | 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
|
369 | 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
|
370 | 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
|
371 | 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
|
372 | 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
|
373 | 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
|
374 | else: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | 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
|
376 | 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
|
377 | 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
|
378 | 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
|
379 | selItem.setFont(0, itmFont) |
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
|
380 | |
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
|
381 | 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
|
382 | """ |
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
|
383 | Private slot used to select the font of the selected style and lexer. |
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
|
384 | |
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 act reference to the triggering action (QAction) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | """ |
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
|
387 | 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
|
388 | return |
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
|
389 | |
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 | familyOnly = act.data() in [self.FAMILYANDSIZE, self.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 | sizeOnly = act.data() in [self.FAMILYANDSIZE, self.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
|
392 | self.__changeFont(False, 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
|
393 | |
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
|
394 | def __allFontsButtonMenuTriggered(self, act): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | """ |
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
|
396 | Private slot used to change the font of all styles of a selected lexer. |
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
|
397 | |
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
|
398 | @param act reference to the triggering action (QAction) |
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
|
399 | """ |
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
|
400 | 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
|
401 | return |
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
|
402 | |
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
|
403 | familyOnly = act.data() in [self.FAMILYANDSIZE, self.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
|
404 | sizeOnly = act.data() in [self.FAMILYANDSIZE, self.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
|
405 | self.__changeFont(True, 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
|
406 | |
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
|
407 | @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
|
408 | def on_eolfillCheckBox_clicked(self, on): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | """ |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
410 | 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
|
411 | lexer. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | |
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
|
413 | @param on flag indicating enabled or disabled state (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | """ |
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
|
415 | style, substyle = self.__currentStyles() |
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
|
416 | checkState = Qt.Checked if on else Qt.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
|
417 | 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
|
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 | 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
|
420 | selItem.setCheckState(0, checkState) |
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 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | def on_allEolFillButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | """ |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
425 | 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
|
426 | lexer. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
428 | 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
|
429 | off = self.tr("Disabled") |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
430 | selection, ok = QInputDialog.getItem( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
432 | 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
|
433 | 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
|
434 | [on, off], |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | 0, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | if ok: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | enabled = selection == on |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | self.eolfillCheckBox.setChecked(enabled) |
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
|
439 | |
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
|
440 | 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
|
441 | 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
|
442 | 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
|
443 | 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
|
444 | 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
|
445 | self.__styleAllItems() |
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
|
446 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | def on_defaultButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | """ |
2763
e4794166ad70
Fixed a serious typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2408
diff
changeset
|
450 | 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
|
451 | """ |
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
|
452 | 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
|
453 | 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
|
454 | 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
|
455 | self.on_styleElementList_currentItemChanged( |
50069cc0ee49
EditorHighlightingStylesPage: added support for sub-styles and adjusted code to today's Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
456 | self.styleElementList.currentItem(), None) |
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
|
457 | self.__styleAllItems() |
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
|
458 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | def on_allDefaultButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | 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
|
463 | """ |
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
|
464 | 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
|
465 | 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
|
466 | 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
|
467 | 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
|
468 | 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
|
469 | self.on_styleElementList_currentItemChanged( |
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.styleElementList.currentItem(), None) |
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
|
471 | self.__styleAllItems() |
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
|
472 | |
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
|
473 | def __setToDefault(self, style, substyle): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | """ |
2763
e4794166ad70
Fixed a serious typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2408
diff
changeset
|
475 | Private method to set a specific style to its default values. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | |
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
|
477 | @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
|
478 | @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
|
479 | @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
|
480 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | """ |
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
|
482 | self.lexer.setColor(self.lexer.defaultColor(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
|
483 | 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
|
484 | self.lexer.setPaper(self.lexer.defaultPaper(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
|
485 | 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
|
486 | self.lexer.setFont(self.lexer.defaultFont(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
|
487 | 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
|
488 | self.lexer.setEolFill(self.lexer.defaultEolFill(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
|
489 | 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
|
490 | |
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
|
491 | ####################################################################### |
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
|
492 | ## 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
|
493 | ####################################################################### |
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 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
496 | def on_importCurrentButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | Private slot to import the styles of the current lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
500 | self.__importStyles({self.lexer.language(): self.lexer}) |
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
|
501 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | def on_exportCurrentButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | Private slot to export the styles of the current lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | self.__exportStyles([self.lexer]) |
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
|
508 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | def on_importAllButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | Private slot to import the styles of all lexers. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | self.__importStyles(self.lexers) |
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
|
515 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | @pyqtSlot() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | def on_exportAllButton_clicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | Private slot to export the styles of all lexers. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | """ |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
521 | self.__exportStyles(list(self.lexers.values())) |
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 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | def __exportStyles(self, lexers): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | Private method to export the styles of the given lexers. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
527 | @param lexers list of lexer objects for which to export the styles |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
528 | @type list of PreferencesLexer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | """ |
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
|
530 | from eric6config import getConfig |
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
|
531 | stylesDir = getConfig("ericStylesDir") |
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
|
532 | |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
533 | fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
535 | 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
|
536 | stylesDir, |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
537 | self.tr("Highlighting Styles File (*.ehj);;" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
538 | "XML Highlighting Styles File (*.e6h)"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | "", |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
540 | E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | if not fn: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
543 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
544 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | ext = QFileInfo(fn).suffix() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | if not ext: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | ex = selectedFilter.split("(*")[1].split(")")[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | if ex: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | fn += ex |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
551 | if os.path.exists(fn): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
552 | ok = E5MessageBox.yesNo( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3010
diff
changeset
|
553 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
554 | self.tr("Export Highlighting Styles"), |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
555 | self.tr("""<p>The highlighting styles file <b>{0}</b> exists""" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
556 | """ already. Overwrite it?</p>""").format(fn)) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
557 | else: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
558 | ok = True |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
559 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
560 | if ok: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
561 | if fn.endswith(".ehj"): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
562 | from Preferences.HighlightingStylesFile import ( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
563 | HighlightingStylesFile |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
564 | ) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
565 | highlightingStylesFile = HighlightingStylesFile() |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
566 | highlightingStylesFile.writeFile(fn, lexers) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
567 | else: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
568 | f = QFile(fn) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
569 | if f.open(QIODevice.WriteOnly): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
570 | from E5XML.HighlightingStylesWriter import ( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
571 | HighlightingStylesWriter |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
572 | ) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
573 | HighlightingStylesWriter(f, lexers).writeXML() |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
574 | f.close() |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
575 | else: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
576 | E5MessageBox.critical( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
577 | self, |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
578 | self.tr("Export Highlighting Styles"), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
579 | self.tr("<p>The highlighting styles file <b>{0}</b>" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
580 | " could not be written.</p><p>Reason: {1}</p>") |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
581 | .format(fn, f.errorString()) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
582 | ) |
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
|
583 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | def __importStyles(self, lexers): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | Private method to import the styles of the given lexers. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | |
3010
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
588 | @param lexers dictionary of lexer objects for which to import the |
befeff46ec0f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
589 | styles |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | """ |
5976
549918576245
Added a dark style (*.qss and Python lexers) provided by Giuseppe Corbelli.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
591 | from eric6config import getConfig |
549918576245
Added a dark style (*.qss and Python lexers) provided by Giuseppe Corbelli.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
592 | stylesDir = getConfig("ericStylesDir") |
549918576245
Added a dark style (*.qss and Python lexers) provided by Giuseppe Corbelli.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
593 | |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
594 | fn = E5FileDialog.getOpenFileName( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
595 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
596 | 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
|
597 | stylesDir, |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
598 | self.tr("Highlighting Styles File (*.ehj);;" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
599 | "XML Highlighting Styles File (*.e6h *.e4h)")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
601 | if not fn: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
602 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
603 | |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
604 | if fn.endswith(".ehj"): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
605 | # new JSON based file |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
606 | from Preferences.HighlightingStylesFile import ( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
607 | HighlightingStylesFile |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
608 | ) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
609 | highlightingStylesFile = HighlightingStylesFile() |
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
|
610 | styles = highlightingStylesFile.readFile(fn, lexers) |
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
|
611 | if not styles: |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
612 | return |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
613 | else: |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
614 | # old XML based file |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
615 | f = QFile(fn) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
616 | if f.open(QIODevice.ReadOnly): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
617 | from E5XML.HighlightingStylesReader import ( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
618 | HighlightingStylesReader |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
619 | ) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
620 | reader = HighlightingStylesReader(f, 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
|
621 | styles = reader.readXML() |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
622 | 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
|
623 | 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
|
624 | return |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
625 | else: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
626 | E5MessageBox.critical( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
627 | self, |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
628 | self.tr("Import Highlighting Styles"), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
629 | self.tr( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
630 | "<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
|
631 | " be read.</p><p>Reason: {1}</p>" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
632 | ).format(fn, f.errorString()) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
633 | ) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8013
diff
changeset
|
634 | return |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
635 | |
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
|
636 | self.__applyStyles(styles, lexers) |
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
|
637 | self.on_lexerLanguageComboBox_activated( |
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
|
638 | self.lexerLanguageComboBox.currentText()) |
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
|
639 | |
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
|
640 | def __applyStyles(self, stylesList, lexersList): |
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
|
641 | """ |
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
|
642 | Private method to apply the imported styles to this dialog. |
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
|
643 | |
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
|
644 | @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
|
645 | @type list of dict |
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
|
646 | @param lexersList list of lexers to apply the styles to |
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
|
647 | @type list of PreferencesLexer |
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
|
648 | """ |
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
|
649 | for lexerDict in stylesList: |
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
|
650 | if lexerDict["name"] in lexersList: |
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
|
651 | lexer = lexersList[lexerDict["name"]] |
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
|
652 | 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
|
653 | 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
|
654 | 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
|
655 | 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
|
656 | 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
|
657 | 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
|
658 | 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
|
659 | 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
|
660 | 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
|
661 | 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
|
662 | # description and words can only be set for sub-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
|
663 | lexer.setDescription(styleDict["description"], |
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
|
664 | 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
|
665 | lexer.setWords(styleDict["words"], 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
|
666 | |
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
|
667 | ####################################################################### |
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
|
668 | ## 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
|
669 | ####################################################################### |
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
|
670 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | def saveState(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
673 | Public method to save the current state of the widget. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
674 | |
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
|
675 | @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
|
676 | 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
|
677 | entry and the index of the selected entry |
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
|
678 | @rtype list of int and tuple of (int, int) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
679 | """ |
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
|
680 | itm = self.styleElementList.currentItem() |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
681 | if itm: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
682 | parent = itm.parent() |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
683 | if parent is None: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
684 | currentData = ( |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
685 | None, self.styleElementList.indexOfTopLevelItem(itm)) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
686 | else: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
687 | currentData = ( |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
688 | self.styleElementList.indexOfTopLevelItem(parent), |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
689 | parent.indexOfChild(itm) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
690 | ) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
691 | |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
692 | savedState = [ |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
693 | self.lexerLanguageComboBox.currentIndex(), |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
694 | currentData, |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
695 | ] |
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 | else: |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
697 | savedState = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
698 | return savedState |
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
|
699 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
700 | def setState(self, state): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
701 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
702 | Public method to set the state of the widget. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
703 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
704 | @param state state data generated by saveState |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
705 | """ |
7743
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
706 | if state: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
707 | self.lexerLanguageComboBox.setCurrentIndex(state[0]) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
708 | self.on_lexerLanguageComboBox_activated( |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
709 | self.lexerLanguageComboBox.currentText()) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
710 | |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
711 | parentIndex, index = state[1] |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
712 | if parentIndex is None: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
713 | itm = self.styleElementList.topLevelItem(index) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
714 | else: |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
715 | parent = self.styleElementList.topLevelItem(parentIndex) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
716 | itm = parent.child(index) |
817a81a2e6aa
Editor: added support for TOML files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
717 | self.styleElementList.setCurrentItem(itm) |
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
|
718 | |
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
|
719 | ####################################################################### |
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
|
720 | ## 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
|
721 | ####################################################################### |
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
|
722 | |
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
|
723 | @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
|
724 | 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
|
725 | """ |
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
|
726 | 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
|
727 | """ |
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
|
728 | 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
|
729 | dlg = SubstyleDefinitionDialog( |
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
|
730 | self.lexer, style, substyle, parent=self) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7743
diff
changeset
|
731 | if dlg.exec() == QDialog.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
|
732 | 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
|
733 | 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
|
734 | 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
|
735 | self.lexer.setWords(words, 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
|
736 | |
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
|
737 | parent = self.styleElementList.findItems( |
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
|
738 | self.lexer.description(style), Qt.MatchExactly)[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
|
739 | 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
|
740 | 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
|
741 | 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
|
742 | 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
|
743 | self.__styleOneItem(itm, 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
|
744 | |
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
|
745 | @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
|
746 | 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
|
747 | """ |
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
|
748 | 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
|
749 | """ |
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
|
750 | 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
|
751 | ok = E5MessageBox.yesNo( |
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
|
752 | 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
|
753 | self.tr("Delete 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
|
754 | self.tr("""<p>Shall the sub-style <b>{0}</b> really be""" |
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
|
755 | """ deleted?</p>""").format( |
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
|
756 | self.lexer.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
|
757 | ) |
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
|
758 | 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
|
759 | self.lexer.delSubstyle(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
|
760 | |
6867
97e86d2426a9
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6864
diff
changeset
|
761 | 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
|
762 | 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
|
763 | 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
|
764 | 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
|
765 | del 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
|
766 | |
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
|
767 | @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
|
768 | 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
|
769 | """ |
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
|
770 | 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
|
771 | """ |
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
|
772 | 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
|
773 | dlg = SubstyleDefinitionDialog( |
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
|
774 | self.lexer, style, substyle, parent=self) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7743
diff
changeset
|
775 | if dlg.exec() == QDialog.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
|
776 | 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
|
777 | 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
|
778 | self.lexer.setWords(words, 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
|
779 | |
6867
97e86d2426a9
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6864
diff
changeset
|
780 | 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
|
781 | itm.setText(0, 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
|
782 | |
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
|
783 | @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
|
784 | 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
|
785 | """ |
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
|
786 | 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
|
787 | """ |
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
|
788 | 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
|
789 | newSubstyle = 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
|
790 | |
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
|
791 | description = self.tr("{0} - Copy").format( |
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
|
792 | self.lexer.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
|
793 | self.lexer.setDescription(description, style, 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
|
794 | self.lexer.setWords(self.lexer.words(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
|
795 | style, 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
|
796 | self.lexer.setColor(self.lexer.color(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
|
797 | style, 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
|
798 | self.lexer.setPaper(self.lexer.paper(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
|
799 | style, 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
|
800 | self.lexer.setFont(self.lexer.font(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
|
801 | style, 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
|
802 | self.lexer.setEolFill(self.lexer.eolFill(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
|
803 | style, 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
|
804 | |
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
|
805 | parent = self.styleElementList.findItems( |
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 | self.lexer.description(style), Qt.MatchExactly)[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
|
807 | 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
|
808 | 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
|
809 | 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
|
810 | 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
|
811 | self.__styleOneItem(itm, style, newSubstyle) |
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
|
812 | |
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
|
813 | @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
|
814 | 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
|
815 | """ |
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
|
816 | 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
|
817 | """ |
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
|
818 | style, substyle = self.__currentStyles() |
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
|
819 | ok = E5MessageBox.yesNo( |
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
|
820 | 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
|
821 | self.tr("Reset Sub-Styles to Default"), |
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
|
822 | self.tr("<p>Do you really want to reset all defined sub-styles of" |
6883
57a2dc333cea
Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6878
diff
changeset
|
823 | " <b>{0}</b> to the default values?</p>""") |
57a2dc333cea
Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6878
diff
changeset
|
824 | .format(self.lexer.description(style, substyle)) |
57a2dc333cea
Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6878
diff
changeset
|
825 | ) |
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
|
826 | 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
|
827 | # 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
|
828 | self.lexer.loadDefaultSubStyles(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
|
829 | |
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
|
830 | # 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
|
831 | 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
|
832 | while parent.childCount() > 0: |
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
|
833 | itm = parent.takeChild(0) # __IGNORE_WARNING__ |
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
|
834 | del itm |
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
|
835 | |
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
|
836 | # 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
|
837 | 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
|
838 | 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
|
839 | 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
|
840 | 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
|
841 | self.__styleOneItem(itm, style, substyle) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
842 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
843 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
844 | def create(dlg): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
845 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
846 | Module function to create the configuration page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
847 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
848 | @param dlg reference to the configuration dialog |
2964
84b65fb9e780
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
849 | @return reference to the instantiated page (ConfigurationPageBase) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
850 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
851 | 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
|
852 | return page |