diff options
Diffstat (limited to 'src/webview/contextMenu.js')
-rw-r--r-- | src/webview/contextMenu.js | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/webview/contextMenu.js b/src/webview/contextMenu.js index f9afa1913..0349a5d6c 100644 --- a/src/webview/contextMenu.js +++ b/src/webview/contextMenu.js | |||
@@ -22,7 +22,7 @@ function delUnusedElements(menuTpl) { | |||
22 | }); | 22 | }); |
23 | } | 23 | } |
24 | 24 | ||
25 | const buildMenuTpl = (props, suggestions, defaultSpellcheckerLanguage, spellcheckerLanguage) => { | 25 | const buildMenuTpl = (props, suggestions, isSpellcheckEnabled, defaultSpellcheckerLanguage, spellcheckerLanguage) => { |
26 | const { editFlags } = props; | 26 | const { editFlags } = props; |
27 | const textSelection = props.selectionText.trim(); | 27 | const textSelection = props.selectionText.trim(); |
28 | const hasText = textSelection.length > 0; | 28 | const hasText = textSelection.length > 0; |
@@ -205,11 +205,14 @@ const buildMenuTpl = (props, suggestions, defaultSpellcheckerLanguage, spellchec | |||
205 | }); | 205 | }); |
206 | }); | 206 | }); |
207 | 207 | ||
208 | console.log('isSpellcheckEnabled', isSpellcheckEnabled); | ||
209 | |||
208 | menuTpl.push({ | 210 | menuTpl.push({ |
209 | type: 'separator', | 211 | type: 'separator', |
210 | }, { | 212 | }, { |
211 | id: 'spellchecker', | 213 | id: 'spellchecker', |
212 | label: 'Spellchecker', | 214 | label: 'Spell Checking', |
215 | visible: isSpellcheckEnabled, | ||
213 | submenu: [ | 216 | submenu: [ |
214 | { | 217 | { |
215 | id: 'spellchecker', | 218 | id: 'spellchecker', |
@@ -222,6 +225,7 @@ const buildMenuTpl = (props, suggestions, defaultSpellcheckerLanguage, spellchec | |||
222 | id: 'resetToDefault', | 225 | id: 'resetToDefault', |
223 | label: `Reset to system default (${SPELLCHECKER_LOCALES[defaultSpellcheckerLanguage]})`, | 226 | label: `Reset to system default (${SPELLCHECKER_LOCALES[defaultSpellcheckerLanguage]})`, |
224 | type: 'radio', | 227 | type: 'radio', |
228 | visible: defaultSpellcheckerLanguage !== spellcheckerLanguage, | ||
225 | click() { | 229 | click() { |
226 | debug('Resetting service spellchecker to system default'); | 230 | debug('Resetting service spellchecker to system default'); |
227 | ipcRenderer.sendToHost('set-service-spellchecker-language', 'reset'); | 231 | ipcRenderer.sendToHost('set-service-spellchecker-language', 'reset'); |
@@ -229,6 +233,7 @@ const buildMenuTpl = (props, suggestions, defaultSpellcheckerLanguage, spellchec | |||
229 | }, | 233 | }, |
230 | { | 234 | { |
231 | type: 'separator', | 235 | type: 'separator', |
236 | visible: defaultSpellcheckerLanguage !== spellcheckerLanguage, | ||
232 | }, | 237 | }, |
233 | ...spellcheckingLanguages], | 238 | ...spellcheckingLanguages], |
234 | }); | 239 | }); |
@@ -249,7 +254,7 @@ const buildMenuTpl = (props, suggestions, defaultSpellcheckerLanguage, spellchec | |||
249 | return delUnusedElements(menuTpl); | 254 | return delUnusedElements(menuTpl); |
250 | }; | 255 | }; |
251 | 256 | ||
252 | export default function contextMenu(spellcheckProvider, getDefaultSpellcheckerLanguage, getSpellcheckerLanguage) { | 257 | export default function contextMenu(spellcheckProvider, isSpellcheckEnabled, getDefaultSpellcheckerLanguage, getSpellcheckerLanguage) { |
253 | webContents.on('context-menu', (e, props) => { | 258 | webContents.on('context-menu', (e, props) => { |
254 | e.preventDefault(); | 259 | e.preventDefault(); |
255 | 260 | ||
@@ -264,6 +269,7 @@ export default function contextMenu(spellcheckProvider, getDefaultSpellcheckerLa | |||
264 | buildMenuTpl( | 269 | buildMenuTpl( |
265 | props, | 270 | props, |
266 | suggestions.slice(0, 5), | 271 | suggestions.slice(0, 5), |
272 | isSpellcheckEnabled(), | ||
267 | getDefaultSpellcheckerLanguage(), | 273 | getDefaultSpellcheckerLanguage(), |
268 | getSpellcheckerLanguage(), | 274 | getSpellcheckerLanguage(), |
269 | ), | 275 | ), |