eric7/Preferences/ConfigurationPages/EditorSpellCheckingPage.py

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

eric ide

mercurial