eric6/Preferences/ConfigurationPages/EditorSpellCheckingPage.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
diff -r f99d60d6b59b -r 2602857055c5 eric6/Preferences/ConfigurationPages/EditorSpellCheckingPage.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Preferences/ConfigurationPages/EditorSpellCheckingPage.py	Sun Apr 14 15:09:21 2019 +0200
@@ -0,0 +1,116 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2008 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the Editor Spellchecking configuration page.
+"""
+
+from __future__ import unicode_literals
+
+from E5Gui.E5PathPicker import E5PathPickerModes
+
+from .ConfigurationPageBase import ConfigurationPageBase
+from .Ui_EditorSpellCheckingPage import Ui_EditorSpellCheckingPage
+
+import Preferences
+
+
+class EditorSpellCheckingPage(ConfigurationPageBase,
+                              Ui_EditorSpellCheckingPage):
+    """
+    Class implementing the Editor Spellchecking configuration page.
+    """
+    def __init__(self):
+        """
+        Constructor
+        """
+        super(EditorSpellCheckingPage, self).__init__()
+        self.setupUi(self)
+        self.setObjectName("EditorSpellCheckingPage")
+        
+        self.pwlPicker.setMode(E5PathPickerModes.OpenFileMode)
+        self.pwlPicker.setFilters(self.tr(
+            "Dictionary File (*.dic);;All Files (*)"))
+        
+        self.pelPicker.setMode(E5PathPickerModes.OpenFileMode)
+        self.pelPicker.setFilters(self.tr(
+            "Dictionary File (*.dic);;All Files (*)"))
+        
+        from QScintilla.SpellChecker import SpellChecker
+        languages = sorted(SpellChecker.getAvailableLanguages())
+        self.defaultLanguageCombo.addItems(languages)
+        if languages:
+            self.errorLabel.hide()
+        else:
+            self.spellingFrame.setEnabled(False)
+        
+        # set initial values
+        self.checkingEnabledCheckBox.setChecked(
+            Preferences.getEditor("SpellCheckingEnabled"))
+        
+        self.defaultLanguageCombo.setCurrentIndex(
+            self.defaultLanguageCombo.findText(
+                Preferences.getEditor("SpellCheckingDefaultLanguage")))
+        
+        self.stringsOnlyCheckBox.setChecked(
+            Preferences.getEditor("SpellCheckStringsOnly"))
+        self.minimumWordSizeSlider.setValue(
+            Preferences.getEditor("SpellCheckingMinWordSize"))
+        
+        self.initColour(
+            "SpellingMarkers", self.spellingMarkerButton,
+            Preferences.getEditorColour, hasAlpha=True)
+        
+        self.pwlPicker.setText(
+            Preferences.getEditor("SpellCheckingPersonalWordList"))
+        self.pelPicker.setText(
+            Preferences.getEditor("SpellCheckingPersonalExcludeList"))
+        
+        if self.spellingFrame.isEnabled():
+            self.enabledCheckBox.setChecked(
+                Preferences.getEditor("AutoSpellCheckingEnabled"))
+        else:
+            self.enabledCheckBox.setChecked(False)  # not available
+        self.chunkSizeSpinBox.setValue(
+            Preferences.getEditor("AutoSpellCheckChunkSize"))
+        
+    def save(self):
+        """
+        Public slot to save the Editor Search configuration.
+        """
+        Preferences.setEditor(
+            "SpellCheckingEnabled", self.checkingEnabledCheckBox.isChecked())
+        
+        Preferences.setEditor(
+            "SpellCheckingDefaultLanguage",
+            self.defaultLanguageCombo.currentText())
+        
+        Preferences.setEditor(
+            "SpellCheckStringsOnly", self.stringsOnlyCheckBox.isChecked())
+        Preferences.setEditor(
+            "SpellCheckingMinWordSize", self.minimumWordSizeSlider.value())
+        
+        self.saveColours(Preferences.setEditorColour)
+        
+        Preferences.setEditor(
+            "SpellCheckingPersonalWordList", self.pwlPicker.text())
+        Preferences.setEditor(
+            "SpellCheckingPersonalExcludeList", self.pelPicker.text())
+        
+        Preferences.setEditor(
+            "AutoSpellCheckingEnabled", self.enabledCheckBox.isChecked())
+        Preferences.setEditor(
+            "AutoSpellCheckChunkSize", self.chunkSizeSpinBox.value())
+
+
+def create(dlg):
+    """
+    Module function to create the configuration page.
+    
+    @param dlg reference to the configuration dialog
+    @return reference to the instantiated page (ConfigurationPageBase)
+    """
+    page = EditorSpellCheckingPage()
+    return page

eric ide

mercurial