Preferences/ConfigurationPages/EditorKeywordsPage.py

changeset 6879
a862f60853f9
parent 6874
5a3a39442711
child 6880
51f8a56f0b42
--- a/Preferences/ConfigurationPages/EditorKeywordsPage.py	Mon Mar 18 19:15:57 2019 +0100
+++ b/Preferences/ConfigurationPages/EditorKeywordsPage.py	Mon Mar 18 19:44:37 2019 +0100
@@ -18,6 +18,8 @@
 
 
 # TODO: add set to Default button to load the default kw set
+#       "Default" loads default values for current keyword set
+#       "All to Default" loads default values for all keyword sets
 class EditorKeywordsPage(ConfigurationPageBase, Ui_EditorKeywordsPage):
     """
     Class implementing the editor highlighter keywords configuration page.
@@ -52,7 +54,15 @@
                 if isinstance(lex, LexerContainer):
                     continue
                 keywords = Preferences.getEditorKeywords(lang)[:]
-                if not keywords:
+                if keywords:
+                    # set empty entries to default values
+                    for kwSet in range(1, self.MaxKeywordSets + 1):
+                        if not keywords[kwSet]:
+                            kw = lex.defaultKeywords(kwSet)
+                            if kw is None:
+                                kw = ""
+                            keywords[kwSet] = kw
+                else:
                     keywords = [""]
                     descriptions = [""]
                     for kwSet in range(1, self.MaxKeywordSets + 1):
@@ -93,7 +103,8 @@
         """
         Private slot to fill the keywords edit.
         
-        @param language selected language (string)
+        @param language selected language
+        @type str
         """
         if self.currentLanguage == language:
             return
@@ -127,7 +138,8 @@
         """
         Private slot to fill the keywords edit.
         
-        @param kwSet number of the selected keyword set (integer)
+        @param kwSet number of the selected keyword set
+        @type int
         """
         language = self.languageCombo.currentText()
         if self.currentLanguage == language and self.currentSet == kwSet:
@@ -138,8 +150,8 @@
         
         self.currentLanguage = language
         self.currentSet = kwSet
-        self.setDescriptionLabel.setText(
-            self.__keywords[language]["Descriptions"][kwSet])
+        self.setDescriptionLabel.setText("<b>{0}</b>".format(
+            self.__keywords[language]["Descriptions"][kwSet]))
         self.keywordsEdit.setPlainText(
             self.__keywords[language]["Sets"][kwSet])
 
@@ -149,7 +161,9 @@
     Module function to create the configuration page.
     
     @param dlg reference to the configuration dialog
-    @return reference to the instantiated page (ConfigurationPageBase)
+    @type ConfigurationWidget
+    @return reference to the instantiated page
+    @rtype ConfigurationPageBase
     """
     page = EditorKeywordsPage()
     return page

eric ide

mercurial