From 107efba6f308c181f46d2d1902cb2feea8311fad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Sun, 29 Nov 2020 20:50:57 +0100 Subject: [PATCH 1/7] Added getAvailableSpellCheckLanguages case --- src/electron-main.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/electron-main.js b/src/electron-main.js index 95d3a8f..dca7be1 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -430,6 +430,11 @@ ipcMain.on('ipcCall', async function(ev, payload) { } break; } + + case 'getAvailableSpellCheckLanguages': + ret = mainWindow.webContents.session.availableSpellCheckerLanguages; + break; + case 'startSSOFlow': recordSSOSession(args[0]); break; From e373c03b2a102087fb092c0aea1267d39935005a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Tue, 1 Dec 2020 20:19:12 +0100 Subject: [PATCH 2/7] Cleanup --- src/electron-main.js | 47 ++++++-------------------------------------- 1 file changed, 6 insertions(+), 41 deletions(-) diff --git a/src/electron-main.js b/src/electron-main.js index dca7be1..3fd4846 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -386,50 +386,15 @@ ipcMain.on('ipcCall', async function(ev, payload) { mainWindow.webContents.goForward(); } break; - case 'setLanguage': { - // work around `setSpellCheckerLanguages` being case-sensitive by converting to expected case - const caseMap = {}; - const availableLanguages = mainWindow.webContents.session.availableSpellCheckerLanguages; - availableLanguages.forEach(lang => { - caseMap[lang.toLowerCase()] = lang; - }); - - if (!caseMap["en"]) { - // default special-case for `en` as in Riot is actually implies `en-GB`. `en-US` is distinct. - // this way if `en` is requested and not available and `en-GB` is available it'll be used. - caseMap["en"] = caseMap["en-gb"]; + case 'setSpellCheckLanguages': + if (args[0] && args[0] != []) + { + mainWindow.webContents.session.setSpellCheckerLanguages(args[0]); } - - const languages = new Set(); - args[0].forEach(lang => { - const lcLang = lang.toLowerCase(); - if (caseMap[lcLang]) { - languages.add(caseMap[lcLang]); - return; - } - - // as a fallback if the language is unknown check if the language group is known, e.g en for en-AU - const langGroup = lcLang.split("-")[0]; - if (caseMap[langGroup]) { - languages.add(caseMap[langGroup]); - return; - } - - // as a further fallback, pick all other matching variants from the same language group - // this means that if we cannot find `ar-dz` or `ar` for example, we will pick `ar-*` to - // offer a spellcheck which is least likely to wrongly red underline something. - availableLanguages.forEach(availableLang => { - if (availableLang.startsWith(langGroup)) { - languages.add(availableLang); - } - }); - }); - - if (languages.size > 0) { - mainWindow.webContents.session.setSpellCheckerLanguages([...languages]); + else { + mainWindow.webContents.session.spellcheck = false; } break; - } case 'getAvailableSpellCheckLanguages': ret = mainWindow.webContents.session.availableSpellCheckerLanguages; From 2ef3c8c1ab14401db0684a88ddc362a167341cfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Tue, 1 Dec 2020 20:22:51 +0100 Subject: [PATCH 3/7] Fix formatting --- src/electron-main.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/electron-main.js b/src/electron-main.js index 3fd4846..25d5621 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -387,8 +387,7 @@ ipcMain.on('ipcCall', async function(ev, payload) { } break; case 'setSpellCheckLanguages': - if (args[0] && args[0] != []) - { + if (args[0] && args[0] != []) { mainWindow.webContents.session.setSpellCheckerLanguages(args[0]); } else { From 0d00f3ea6ce89c4c8ba3126fd13887fc61627669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Tue, 1 Dec 2020 20:27:09 +0100 Subject: [PATCH 4/7] Fix more formatting --- src/electron-main.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/electron-main.js b/src/electron-main.js index 25d5621..495c3b9 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -389,8 +389,7 @@ ipcMain.on('ipcCall', async function(ev, payload) { case 'setSpellCheckLanguages': if (args[0] && args[0] != []) { mainWindow.webContents.session.setSpellCheckerLanguages(args[0]); - } - else { + } else { mainWindow.webContents.session.spellcheck = false; } break; From f51acb78e042edaca371b52824039eefaf997edd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Thu, 18 Feb 2021 18:05:37 +0100 Subject: [PATCH 5/7] Update src/electron-main.js Co-authored-by: J. Ryan Stinnett --- src/electron-main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/electron-main.js b/src/electron-main.js index 495c3b9..b40b34b 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -387,7 +387,7 @@ ipcMain.on('ipcCall', async function(ev, payload) { } break; case 'setSpellCheckLanguages': - if (args[0] && args[0] != []) { + if (args[0] && args[0].length > 0) { mainWindow.webContents.session.setSpellCheckerLanguages(args[0]); } else { mainWindow.webContents.session.spellcheck = false; From dce524f5bc8a062db9f17659087cf9fc2a0d58fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Thu, 18 Feb 2021 18:39:51 +0100 Subject: [PATCH 6/7] Use try-catch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- src/electron-main.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/electron-main.js b/src/electron-main.js index 6a16be8..1baeeba 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -387,7 +387,11 @@ ipcMain.on('ipcCall', async function(ev, payload) { break; case 'setSpellCheckLanguages': if (args[0] && args[0].length > 0) { - mainWindow.webContents.session.setSpellCheckerLanguages(args[0]); + try { + mainWindow.webContents.session.setSpellCheckerLanguages(args[0]); + } catch (er) { + console.log("There were problems setting the spellcheck languages", er); + } } else { mainWindow.webContents.session.spellcheck = false; } From 9ca19d7de6f5cd50119c71df95ffd799c9925998 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Thu, 18 Feb 2021 20:12:47 +0100 Subject: [PATCH 7/7] Use getSpellCheckLanguages() instead of a setting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- src/electron-main.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/electron-main.js b/src/electron-main.js index 1baeeba..f350815 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -396,7 +396,9 @@ ipcMain.on('ipcCall', async function(ev, payload) { mainWindow.webContents.session.spellcheck = false; } break; - + case 'getSpellCheckLanguages': + ret = mainWindow.webContents.session.getSpellCheckerLanguages(); + break; case 'getAvailableSpellCheckLanguages': ret = mainWindow.webContents.session.availableSpellCheckerLanguages; break;