eric6/Preferences/ConfigurationPages/EditorSpellCheckingPage.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
equal deleted inserted replaced
6941:f99d60d6b59b 6942:2602857055c5
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