13 from .Ui_EditorSpellCheckingPage import Ui_EditorSpellCheckingPage |
13 from .Ui_EditorSpellCheckingPage import Ui_EditorSpellCheckingPage |
14 |
14 |
15 import Preferences |
15 import Preferences |
16 |
16 |
17 |
17 |
18 class EditorSpellCheckingPage(ConfigurationPageBase, |
18 class EditorSpellCheckingPage(ConfigurationPageBase, Ui_EditorSpellCheckingPage): |
19 Ui_EditorSpellCheckingPage): |
|
20 """ |
19 """ |
21 Class implementing the Editor Spellchecking configuration page. |
20 Class implementing the Editor Spellchecking configuration page. |
22 """ |
21 """ |
|
22 |
23 def __init__(self): |
23 def __init__(self): |
24 """ |
24 """ |
25 Constructor |
25 Constructor |
26 """ |
26 """ |
27 super().__init__() |
27 super().__init__() |
28 self.setupUi(self) |
28 self.setupUi(self) |
29 self.setObjectName("EditorSpellCheckingPage") |
29 self.setObjectName("EditorSpellCheckingPage") |
30 |
30 |
31 self.pwlPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
31 self.pwlPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
32 self.pwlPicker.setFilters(self.tr( |
32 self.pwlPicker.setFilters(self.tr("Dictionary File (*.dic);;All Files (*)")) |
33 "Dictionary File (*.dic);;All Files (*)")) |
33 |
34 |
|
35 self.pelPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
34 self.pelPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
36 self.pelPicker.setFilters(self.tr( |
35 self.pelPicker.setFilters(self.tr("Dictionary File (*.dic);;All Files (*)")) |
37 "Dictionary File (*.dic);;All Files (*)")) |
36 |
38 |
|
39 from QScintilla.SpellChecker import SpellChecker |
37 from QScintilla.SpellChecker import SpellChecker |
|
38 |
40 languages = sorted(SpellChecker.getAvailableLanguages()) |
39 languages = sorted(SpellChecker.getAvailableLanguages()) |
41 self.defaultLanguageCombo.addItems(languages) |
40 self.defaultLanguageCombo.addItems(languages) |
42 if languages: |
41 if languages: |
43 self.errorLabel.hide() |
42 self.errorLabel.hide() |
44 else: |
43 else: |
45 self.spellingFrame.setEnabled(False) |
44 self.spellingFrame.setEnabled(False) |
46 |
45 |
47 # set initial values |
46 # set initial values |
48 self.checkingEnabledCheckBox.setChecked( |
47 self.checkingEnabledCheckBox.setChecked( |
49 Preferences.getEditor("SpellCheckingEnabled")) |
48 Preferences.getEditor("SpellCheckingEnabled") |
50 |
49 ) |
|
50 |
51 self.defaultLanguageCombo.setCurrentIndex( |
51 self.defaultLanguageCombo.setCurrentIndex( |
52 self.defaultLanguageCombo.findText( |
52 self.defaultLanguageCombo.findText( |
53 Preferences.getEditor("SpellCheckingDefaultLanguage"))) |
53 Preferences.getEditor("SpellCheckingDefaultLanguage") |
54 |
54 ) |
|
55 ) |
|
56 |
55 self.stringsOnlyCheckBox.setChecked( |
57 self.stringsOnlyCheckBox.setChecked( |
56 Preferences.getEditor("SpellCheckStringsOnly")) |
58 Preferences.getEditor("SpellCheckStringsOnly") |
|
59 ) |
57 self.fullCheckUnknownCheckBox.setChecked( |
60 self.fullCheckUnknownCheckBox.setChecked( |
58 Preferences.getEditor("FullSpellCheckUnknown")) |
61 Preferences.getEditor("FullSpellCheckUnknown") |
|
62 ) |
59 self.minimumWordSizeSlider.setValue( |
63 self.minimumWordSizeSlider.setValue( |
60 Preferences.getEditor("SpellCheckingMinWordSize")) |
64 Preferences.getEditor("SpellCheckingMinWordSize") |
|
65 ) |
61 self.spellCheckTextFilesLineEdit.setText( |
66 self.spellCheckTextFilesLineEdit.setText( |
62 " ".join(Preferences.getEditor("FullSpellCheckExtensions"))) |
67 " ".join(Preferences.getEditor("FullSpellCheckExtensions")) |
63 |
68 ) |
|
69 |
64 self.initColour( |
70 self.initColour( |
65 "SpellingMarkers", self.spellingMarkerButton, |
71 "SpellingMarkers", |
66 Preferences.getEditorColour, hasAlpha=True) |
72 self.spellingMarkerButton, |
67 |
73 Preferences.getEditorColour, |
68 self.pwlPicker.setText( |
74 hasAlpha=True, |
69 Preferences.getEditor("SpellCheckingPersonalWordList")) |
75 ) |
|
76 |
|
77 self.pwlPicker.setText(Preferences.getEditor("SpellCheckingPersonalWordList")) |
70 self.pelPicker.setText( |
78 self.pelPicker.setText( |
71 Preferences.getEditor("SpellCheckingPersonalExcludeList")) |
79 Preferences.getEditor("SpellCheckingPersonalExcludeList") |
72 |
80 ) |
|
81 |
73 if self.spellingFrame.isEnabled(): |
82 if self.spellingFrame.isEnabled(): |
74 self.enabledCheckBox.setChecked( |
83 self.enabledCheckBox.setChecked( |
75 Preferences.getEditor("AutoSpellCheckingEnabled")) |
84 Preferences.getEditor("AutoSpellCheckingEnabled") |
|
85 ) |
76 else: |
86 else: |
77 self.enabledCheckBox.setChecked(False) # not available |
87 self.enabledCheckBox.setChecked(False) # not available |
78 self.chunkSizeSpinBox.setValue( |
88 self.chunkSizeSpinBox.setValue(Preferences.getEditor("AutoSpellCheckChunkSize")) |
79 Preferences.getEditor("AutoSpellCheckChunkSize")) |
89 |
80 |
|
81 def save(self): |
90 def save(self): |
82 """ |
91 """ |
83 Public slot to save the Editor Search configuration. |
92 Public slot to save the Editor Search configuration. |
84 """ |
93 """ |
85 Preferences.setEditor( |
94 Preferences.setEditor( |
86 "SpellCheckingEnabled", self.checkingEnabledCheckBox.isChecked()) |
95 "SpellCheckingEnabled", self.checkingEnabledCheckBox.isChecked() |
87 |
96 ) |
|
97 |
88 Preferences.setEditor( |
98 Preferences.setEditor( |
89 "SpellCheckingDefaultLanguage", |
99 "SpellCheckingDefaultLanguage", self.defaultLanguageCombo.currentText() |
90 self.defaultLanguageCombo.currentText()) |
100 ) |
91 |
101 |
92 Preferences.setEditor( |
102 Preferences.setEditor( |
93 "SpellCheckStringsOnly", self.stringsOnlyCheckBox.isChecked()) |
103 "SpellCheckStringsOnly", self.stringsOnlyCheckBox.isChecked() |
|
104 ) |
94 Preferences.setEditor( |
105 Preferences.setEditor( |
95 "FullSpellCheckUnknown", |
106 "FullSpellCheckUnknown", self.fullCheckUnknownCheckBox.isChecked() |
96 self.fullCheckUnknownCheckBox.isChecked()) |
107 ) |
97 Preferences.setEditor( |
108 Preferences.setEditor( |
98 "SpellCheckingMinWordSize", self.minimumWordSizeSlider.value()) |
109 "SpellCheckingMinWordSize", self.minimumWordSizeSlider.value() |
|
110 ) |
99 Preferences.setEditor( |
111 Preferences.setEditor( |
100 "FullSpellCheckExtensions", |
112 "FullSpellCheckExtensions", |
101 [ext.strip() for ext in |
113 [ext.strip() for ext in self.spellCheckTextFilesLineEdit.text().split()], |
102 self.spellCheckTextFilesLineEdit.text().split()]) |
114 ) |
103 |
115 |
104 self.saveColours(Preferences.setEditorColour) |
116 self.saveColours(Preferences.setEditorColour) |
105 |
117 |
|
118 Preferences.setEditor("SpellCheckingPersonalWordList", self.pwlPicker.text()) |
|
119 Preferences.setEditor("SpellCheckingPersonalExcludeList", self.pelPicker.text()) |
|
120 |
106 Preferences.setEditor( |
121 Preferences.setEditor( |
107 "SpellCheckingPersonalWordList", self.pwlPicker.text()) |
122 "AutoSpellCheckingEnabled", self.enabledCheckBox.isChecked() |
108 Preferences.setEditor( |
123 ) |
109 "SpellCheckingPersonalExcludeList", self.pelPicker.text()) |
124 Preferences.setEditor("AutoSpellCheckChunkSize", self.chunkSizeSpinBox.value()) |
110 |
|
111 Preferences.setEditor( |
|
112 "AutoSpellCheckingEnabled", self.enabledCheckBox.isChecked()) |
|
113 Preferences.setEditor( |
|
114 "AutoSpellCheckChunkSize", self.chunkSizeSpinBox.value()) |
|
115 |
125 |
116 |
126 |
117 def create(dlg): |
127 def create(dlg): |
118 """ |
128 """ |
119 Module function to create the configuration page. |
129 Module function to create the configuration page. |
120 |
130 |
121 @param dlg reference to the configuration dialog |
131 @param dlg reference to the configuration dialog |
122 @return reference to the instantiated page (ConfigurationPageBase) |
132 @return reference to the instantiated page (ConfigurationPageBase) |
123 """ |
133 """ |
124 page = EditorSpellCheckingPage() |
134 page = EditorSpellCheckingPage() |
125 return page |
135 return page |