eric6/Preferences/ConfigurationPages/EditorSpellCheckingPage.py

branch
maintenance
changeset 6989
8b8cadf8d7e9
parent 6942
2602857055c5
child 7229
53054eb5b15a
equal deleted inserted replaced
6938:7926553b7509 6989:8b8cadf8d7e9
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2008 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the Editor Spellchecking configuration page.
8 """
9
10 from __future__ import unicode_literals
11
12 from E5Gui.E5PathPicker import E5PathPickerModes
13
14 from .ConfigurationPageBase import ConfigurationPageBase
15 from .Ui_EditorSpellCheckingPage import Ui_EditorSpellCheckingPage
16
17 import Preferences
18
19
20 class EditorSpellCheckingPage(ConfigurationPageBase,
21 Ui_EditorSpellCheckingPage):
22 """
23 Class implementing the Editor Spellchecking configuration page.
24 """
25 def __init__(self):
26 """
27 Constructor
28 """
29 super(EditorSpellCheckingPage, self).__init__()
30 self.setupUi(self)
31 self.setObjectName("EditorSpellCheckingPage")
32
33 self.pwlPicker.setMode(E5PathPickerModes.OpenFileMode)
34 self.pwlPicker.setFilters(self.tr(
35 "Dictionary File (*.dic);;All Files (*)"))
36
37 self.pelPicker.setMode(E5PathPickerModes.OpenFileMode)
38 self.pelPicker.setFilters(self.tr(
39 "Dictionary File (*.dic);;All Files (*)"))
40
41 from QScintilla.SpellChecker import SpellChecker
42 languages = sorted(SpellChecker.getAvailableLanguages())
43 self.defaultLanguageCombo.addItems(languages)
44 if languages:
45 self.errorLabel.hide()
46 else:
47 self.spellingFrame.setEnabled(False)
48
49 # set initial values
50 self.checkingEnabledCheckBox.setChecked(
51 Preferences.getEditor("SpellCheckingEnabled"))
52
53 self.defaultLanguageCombo.setCurrentIndex(
54 self.defaultLanguageCombo.findText(
55 Preferences.getEditor("SpellCheckingDefaultLanguage")))
56
57 self.stringsOnlyCheckBox.setChecked(
58 Preferences.getEditor("SpellCheckStringsOnly"))
59 self.minimumWordSizeSlider.setValue(
60 Preferences.getEditor("SpellCheckingMinWordSize"))
61
62 self.initColour(
63 "SpellingMarkers", self.spellingMarkerButton,
64 Preferences.getEditorColour, hasAlpha=True)
65
66 self.pwlPicker.setText(
67 Preferences.getEditor("SpellCheckingPersonalWordList"))
68 self.pelPicker.setText(
69 Preferences.getEditor("SpellCheckingPersonalExcludeList"))
70
71 if self.spellingFrame.isEnabled():
72 self.enabledCheckBox.setChecked(
73 Preferences.getEditor("AutoSpellCheckingEnabled"))
74 else:
75 self.enabledCheckBox.setChecked(False) # not available
76 self.chunkSizeSpinBox.setValue(
77 Preferences.getEditor("AutoSpellCheckChunkSize"))
78
79 def save(self):
80 """
81 Public slot to save the Editor Search configuration.
82 """
83 Preferences.setEditor(
84 "SpellCheckingEnabled", self.checkingEnabledCheckBox.isChecked())
85
86 Preferences.setEditor(
87 "SpellCheckingDefaultLanguage",
88 self.defaultLanguageCombo.currentText())
89
90 Preferences.setEditor(
91 "SpellCheckStringsOnly", self.stringsOnlyCheckBox.isChecked())
92 Preferences.setEditor(
93 "SpellCheckingMinWordSize", self.minimumWordSizeSlider.value())
94
95 self.saveColours(Preferences.setEditorColour)
96
97 Preferences.setEditor(
98 "SpellCheckingPersonalWordList", self.pwlPicker.text())
99 Preferences.setEditor(
100 "SpellCheckingPersonalExcludeList", self.pelPicker.text())
101
102 Preferences.setEditor(
103 "AutoSpellCheckingEnabled", self.enabledCheckBox.isChecked())
104 Preferences.setEditor(
105 "AutoSpellCheckChunkSize", self.chunkSizeSpinBox.value())
106
107
108 def create(dlg):
109 """
110 Module function to create the configuration page.
111
112 @param dlg reference to the configuration dialog
113 @return reference to the instantiated page (ConfigurationPageBase)
114 """
115 page = EditorSpellCheckingPage()
116 return page

eric ide

mercurial