eric6/Preferences/ConfigurationPages/EditorLanguageTabIndentOverrideDialog.py

Tue, 02 Mar 2021 17:17:09 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 02 Mar 2021 17:17:09 +0100
changeset 8143
2c730d5fd177
parent 7923
91e843545d9a
child 8218
7c09585bd960
permissions
-rw-r--r--

Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.

7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7732
diff changeset
3 # Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
7290
e54a0765c82e EditorLanguageTabIndentOverrideDialog: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7278
diff changeset
4 #
e54a0765c82e EditorLanguageTabIndentOverrideDialog: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7278
diff changeset
5
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to set the tab and indentation width override for
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 a language.
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 """
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
11 from pygments.lexers import get_all_lexers
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
12
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt5.QtCore import pyqtSlot
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt5.QtWidgets import QDialog, QDialogButtonBox
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from .Ui_EditorLanguageTabIndentOverrideDialog import (
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 Ui_EditorLanguageTabIndentOverrideDialog
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 )
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 class EditorLanguageTabIndentOverrideDialog(
7290
e54a0765c82e EditorLanguageTabIndentOverrideDialog: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7278
diff changeset
22 QDialog, Ui_EditorLanguageTabIndentOverrideDialog
e54a0765c82e EditorLanguageTabIndentOverrideDialog: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7278
diff changeset
23 ):
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Class implementing a dialog to set the tab and indentation width override
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 for a language.
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
28 PygmentsMarker = "Pygments|"
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
29
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 def __init__(self, *, editMode=False, languages=None, tabWidth=0,
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 indentWidth=0, parent=None):
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 Constructor
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
7290
e54a0765c82e EditorLanguageTabIndentOverrideDialog: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7278
diff changeset
35 @keyparam editMode flag indicating the edit mode (Note: in edit mode
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 the language is fixed)
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @type bool
7732
4c9cf117acf6 Fixed some code style issues and one coding issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7731
diff changeset
38 @keyparam languages list of existing languages (if in add mode) or
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
39 a list containing the language to be edited
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 @type list of str
7732
4c9cf117acf6 Fixed some code style issues and one coding issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7731
diff changeset
41 @keyparam tabWidth tab width to be set
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 @type int
7732
4c9cf117acf6 Fixed some code style issues and one coding issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7731
diff changeset
43 @keyparam indentWidth indentation width to be set
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 @type int
7732
4c9cf117acf6 Fixed some code style issues and one coding issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7731
diff changeset
45 @keyparam parent reference to the parent widget
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 @type QWidget
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 super(EditorLanguageTabIndentOverrideDialog, self).__init__(parent)
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.setupUi(self)
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
51 self.__extras = ["-----------", self.tr("Alternative")]
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
52
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 if editMode:
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 self.languageComboBox.addItems(languages)
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 else:
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
56 self.__populateLanguages(languages)
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.tabWidthSpinBox.setValue(tabWidth)
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.indentWidthSpinBox.setValue(indentWidth)
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
60 def __populateLanguages(self, filterLanguages):
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
61 """
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
62 Private method to populate the language combo boxes.
7732
4c9cf117acf6 Fixed some code style issues and one coding issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7731
diff changeset
63
4c9cf117acf6 Fixed some code style issues and one coding issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7731
diff changeset
64 @param filterLanguages list of languages to be filtered out
4c9cf117acf6 Fixed some code style issues and one coding issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7731
diff changeset
65 @type list of str
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
66 """
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
67 import QScintilla.Lexers
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
68 languages = list(
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
69 QScintilla.Lexers.getSupportedLanguages().keys())
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
70 for lang in filterLanguages:
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
71 if lang in languages:
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
72 languages.remove(lang)
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
73 self.languageComboBox.addItems(
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
74 [""] + sorted(languages) + self.__extras)
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
75
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
76 pygmentsLanguages = [lex[0] for lex in get_all_lexers()]
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
77 for lang in filterLanguages:
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
78 if lang.startswith(self.PygmentsMarker):
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
79 lang = lang.replace(self.PygmentsMarker, "")
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
80 if lang in pygmentsLanguages:
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
81 pygmentsLanguages.remove(lang)
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
82 self.pygmentsLexerCombo.addItems([""] + sorted(pygmentsLanguages))
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
83
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 def getData(self):
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 """
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 Public method to get the entered data.
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 @return tuple containing the language, the tab width and the
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 indentation width
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 @rtype tuple of (str, int, int)
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 """
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
92 language = self.languageComboBox.currentText()
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
93 if language in self.__extras:
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
94 pygmentsLanguage = self.pygmentsLexerCombo.currentText()
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
95 language = self.PygmentsMarker + pygmentsLanguage
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 return (
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
97 language,
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 self.tabWidthSpinBox.value(),
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 self.indentWidthSpinBox.value(),
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 )
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
102 def __updateOkButton(self):
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
103 """
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
104 Private method to set the enabled status of the OK button.
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
105 """
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
106 lang = self.languageComboBox.currentText()
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
107 if lang in self.__extras:
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
108 self.buttonBox.button(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
109 QDialogButtonBox.StandardButton.Ok).setEnabled(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
110 bool(self.pygmentsLexerCombo.currentText()))
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
111 else:
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
112 self.buttonBox.button(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
113 QDialogButtonBox.StandardButton.Ok).setEnabled(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
114 bool(lang))
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
115
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
116 @pyqtSlot(int)
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
117 def on_languageComboBox_currentIndexChanged(self, index):
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 """
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 Private slot to handle the selection of a language.
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
121 @param index index of the current item
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
122 @type int
7278
1820a0344b62 Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 """
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
124 lang = self.languageComboBox.itemText(index)
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
125 if lang in self.__extras:
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
126 self.pygmentsLexerCombo.setEnabled(True)
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
127 self.pygmentsLabel.setEnabled(True)
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
128 else:
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
129 self.pygmentsLexerCombo.setEnabled(False)
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
130 self.pygmentsLabel.setEnabled(False)
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
131
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
132 self.__updateOkButton()
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
133
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
134 @pyqtSlot(int)
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
135 def on_pygmentsLexerCombo_currentIndexChanged(self, index):
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
136 """
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
137 Private slot to handle the selection of a language.
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
138
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
139 @param index index of the current item
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
140 @type int
7731
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
141 """
8ec83a027a21 Fixed an issue overriding tab and indent settings for Pygments based lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
142 self.__updateOkButton()

eric ide

mercurial