--- a/src/eric7/Preferences/ConfigurationPages/EditorKeywordsPage.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/Preferences/ConfigurationPages/EditorKeywordsPage.py Wed Jul 13 14:55:47 2022 +0200 @@ -21,8 +21,9 @@ """ Class implementing the editor highlighter keywords configuration page. """ - MaxKeywordSets = 8 # max. 8 sets are allowed - + + MaxKeywordSets = 8 # max. 8 sets are allowed + def __init__(self): """ Constructor @@ -30,11 +31,11 @@ super().__init__() self.setupUi(self) self.setObjectName("EditorKeywordsPage") - + # set initial values import QScintilla.Lexers from QScintilla.Lexers.LexerContainer import LexerContainer - + self.__keywords = { "": { "Sets": [""] * (self.MaxKeywordSets + 1), @@ -42,9 +43,10 @@ "MaxSets": 0, } } - + languages = sorted( - [''] + list(QScintilla.Lexers.getSupportedLanguages().keys())) + [""] + list(QScintilla.Lexers.getSupportedLanguages().keys()) + ) for lang in languages: if lang: lex = QScintilla.Lexers.getLexer(lang) @@ -84,13 +86,13 @@ "MaxSets": lex.maximumKeywordSet(), } self.languageCombo.addItem( - QScintilla.Lexers.getLanguageIcon(lang, False), - lang) - - self.currentLanguage = '' + QScintilla.Lexers.getLanguageIcon(lang, False), lang + ) + + self.currentLanguage = "" self.currentSet = 1 self.on_languageCombo_activated(0) - + def save(self): """ Public slot to save the editor highlighter keywords configuration. @@ -98,26 +100,26 @@ lang = self.languageCombo.currentText() kwSet = self.setSpinBox.value() self.__keywords[lang]["Sets"][kwSet] = self.keywordsEdit.toPlainText() - + for lang, keywords in self.__keywords.items(): Preferences.setEditorKeywords(lang, keywords["Sets"]) - + @pyqtSlot(int) def on_languageCombo_activated(self, index): """ Private slot to fill the keywords edit. - + @param index index of the selected entry @type int """ language = self.languageCombo.itemText(index) - + self.defaultButton.setEnabled(bool(language)) self.allDefaultButton.setEnabled(bool(language)) - + if self.currentLanguage == language: return - + if self.setSpinBox.value() == 1: self.on_setSpinBox_valueChanged(1) if self.__keywords[language]["MaxSets"]: @@ -129,10 +131,8 @@ if self.__keywords[language]["Descriptions"][kwSet] != "": first = min(first, kwSet) last = max(last, kwSet) - self.setSpinBox.setEnabled(language != "" and - first <= self.MaxKeywordSets) - self.keywordsEdit.setEnabled(language != "" and - first <= self.MaxKeywordSets) + self.setSpinBox.setEnabled(language != "" and first <= self.MaxKeywordSets) + self.keywordsEdit.setEnabled(language != "" and first <= self.MaxKeywordSets) if first <= self.MaxKeywordSets: self.setSpinBox.setMinimum(first) self.setSpinBox.setMaximum(last) @@ -141,30 +141,30 @@ self.setSpinBox.setMinimum(0) self.setSpinBox.setMaximum(0) self.setSpinBox.setValue(0) - + @pyqtSlot(int) def on_setSpinBox_valueChanged(self, kwSet): """ Private slot to fill the keywords edit. - + @param kwSet number of the selected keyword set @type int """ language = self.languageCombo.currentText() if self.currentLanguage == language and self.currentSet == kwSet: return - - self.__keywords[self.currentLanguage]["Sets"][self.currentSet] = ( - self.keywordsEdit.toPlainText() - ) - + + self.__keywords[self.currentLanguage]["Sets"][ + self.currentSet + ] = self.keywordsEdit.toPlainText() + self.currentLanguage = language self.currentSet = kwSet - self.setDescriptionLabel.setText("<b>{0}</b>".format( - self.__keywords[language]["Descriptions"][kwSet])) - self.keywordsEdit.setPlainText( - self.__keywords[language]["Sets"][kwSet]) - + self.setDescriptionLabel.setText( + "<b>{0}</b>".format(self.__keywords[language]["Descriptions"][kwSet]) + ) + self.keywordsEdit.setPlainText(self.__keywords[language]["Sets"][kwSet]) + @pyqtSlot() def on_defaultButton_clicked(self): """ @@ -174,20 +174,22 @@ EricMessageBox.yesNo( self, self.tr("Reset to Default"), - self.tr("Shall the current keyword set really be reset to" - " default values?")) - if bool(self.keywordsEdit.toPlainText()) else - True + self.tr( + "Shall the current keyword set really be reset to" + " default values?" + ), + ) + if bool(self.keywordsEdit.toPlainText()) + else True ) if ok: language = self.languageCombo.currentText() kwSet = self.setSpinBox.value() - self.__keywords[language]["Sets"][kwSet] = ( - self.__keywords[language]["DefaultSets"][kwSet] - ) - self.keywordsEdit.setPlainText( - self.__keywords[language]["Sets"][kwSet]) - + self.__keywords[language]["Sets"][kwSet] = self.__keywords[language][ + "DefaultSets" + ][kwSet] + self.keywordsEdit.setPlainText(self.__keywords[language]["Sets"][kwSet]) + @pyqtSlot() def on_allDefaultButton_clicked(self): """ @@ -197,22 +199,24 @@ ok = EricMessageBox.yesNo( self, self.tr("Reset All to Default"), - self.tr("Shall all keyword sets of the current language really be" - " reset to default values?")) + self.tr( + "Shall all keyword sets of the current language really be" + " reset to default values?" + ), + ) if ok: language = self.languageCombo.currentText() kwSet = self.setSpinBox.value() - self.__keywords[language]["Sets"] = ( - self.__keywords[language]["DefaultSets"][:] - ) - self.keywordsEdit.setPlainText( - self.__keywords[language]["Sets"][kwSet]) + self.__keywords[language]["Sets"] = self.__keywords[language][ + "DefaultSets" + ][:] + self.keywordsEdit.setPlainText(self.__keywords[language]["Sets"][kwSet]) def create(dlg): """ Module function to create the configuration page. - + @param dlg reference to the configuration dialog @type ConfigurationWidget @return reference to the instantiated page