src/eric7/Preferences/ConfigurationPages/EditorSpellCheckingPage.py

branch
eric7
changeset 9209
b99e7fd55fd3
parent 8881
54e42bc2437a
child 9221
bf71ee032bb4
equal deleted inserted replaced
9208:3fc8dfeb6ebe 9209:b99e7fd55fd3
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the Editor Spellchecking configuration page.
8 """
9
10 from EricWidgets.EricPathPicker import EricPathPickerModes
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(EricPathPickerModes.OPEN_FILE_MODE)
32 self.pwlPicker.setFilters(self.tr(
33 "Dictionary File (*.dic);;All Files (*)"))
34
35 self.pelPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
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