From c5b44c0259387030f9e3d31ae1db8903a95b6b67 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Mon, 11 Dec 2017 12:25:49 +0100 Subject: always initialize ContextMenuBuilder but not spellchecker --- src/webview/plugin.js | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'src/webview/plugin.js') diff --git a/src/webview/plugin.js b/src/webview/plugin.js index c877132b1..610dffc8e 100644 --- a/src/webview/plugin.js +++ b/src/webview/plugin.js @@ -1,14 +1,14 @@ import { ipcRenderer } from 'electron'; +import { ContextMenuListener, ContextMenuBuilder } from 'electron-spellchecker'; import path from 'path'; +import { isDevMode } from '../environment'; import RecipeWebview from './lib/RecipeWebview'; import Spellchecker from './spellchecker.js'; import './notifications.js'; import './ime.js'; -const spellchecker = new Spellchecker(); - ipcRenderer.on('initializeRecipe', (e, data) => { const modulePath = path.join(data.recipe.path, 'webview.js'); // Delete module from cache @@ -21,20 +21,27 @@ ipcRenderer.on('initializeRecipe', (e, data) => { } }); +let contextMenuBuilder = new ContextMenuBuilder(null, null, isDevMode); +const spellchecker = new Spellchecker(); + +new ContextMenuListener((info) => { // eslint-disable-line + contextMenuBuilder.showPopupMenu(info); +}); + ipcRenderer.on('settings-update', (e, data) => { - if (data.enableSpellchecking) { - if (!spellchecker.isEnabled) { - spellchecker.enable(); - - // TODO: this does not work yet, needs more testing - // if (data.spellcheckingLanguage !== 'auto') { - // console.log('set spellchecking language to', data.spellcheckingLanguage); - // spellchecker.switchLanguage(data.spellcheckingLanguage); - // } - } + if (data.enableSpellchecking && !spellchecker.isInitialized) { + spellchecker.initialize(); + + contextMenuBuilder = new ContextMenuBuilder(spellchecker.handler, null, isDevMode); + + new ContextMenuListener((info) => { // eslint-disable-line + contextMenuBuilder.showPopupMenu(info); + }); } }); +// initSpellche + document.addEventListener('DOMContentLoaded', () => { ipcRenderer.sendToHost('hello'); }, false); -- cgit v1.2.3-70-g09d2