From 55dffc8c5269cd6c3ebcaff0212cba291d3bd1ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Fri, 2 Apr 2021 12:07:33 +0200 Subject: [PATCH] Fix disabling spellchecker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is quite ugly. We have to use the store here to get this working since spellCheckerEnabled isn't persistent Signed-off-by: Šimon Brandner --- src/electron-main.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/electron-main.js b/src/electron-main.js index dfbc6dd..8cb2b35 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -411,17 +411,25 @@ ipcMain.on('ipcCall', async function(ev, payload) { break; case 'setSpellCheckLanguages': if (args[0] && args[0].length > 0) { + mainWindow.webContents.session.setSpellCheckerEnabled(true); + store.set("spellCheckerEnabled", true); + try { mainWindow.webContents.session.setSpellCheckerLanguages(args[0]); } catch (er) { console.log("There were problems setting the spellcheck languages", er); } } else { - mainWindow.webContents.session.setSpellCheckerLanguages([]); + mainWindow.webContents.session.setSpellCheckerEnabled(false); + store.set("spellCheckerEnabled", false); } break; case 'getSpellCheckLanguages': - ret = mainWindow.webContents.session.getSpellCheckerLanguages(); + if (store.get("spellCheckerEnabled", true)) { + ret = mainWindow.webContents.session.getSpellCheckerLanguages(); + } else { + ret = []; + } break; case 'getAvailableSpellCheckLanguages': ret = mainWindow.webContents.session.availableSpellCheckerLanguages; @@ -921,12 +929,15 @@ app.on('ready', async () => { enableRemoteModule: false, contextIsolation: true, webgl: false, - spellcheck: true, }, }); mainWindow.loadURL('vector://vector/webapp/'); Menu.setApplicationMenu(vectorMenu); + // Handle spellchecker + // For some reason spellCheckerEnabled isn't persisted so we have to use the store here + mainWindow.webContents.session.setSpellCheckerEnabled(store.get("spellCheckerEnabled", true)); + // Create trayIcon icon if (store.get('minimizeToTray', true)) tray.create(trayConfig);