From 9582acc6eb946ef49659e03a2166d52163e8aeab Mon Sep 17 00:00:00 2001 From: Amine Mouafik Date: Mon, 2 Mar 2020 03:00:11 +0100 Subject: Keep separation of concern between context menu / spellchecker --- src/webview/contextMenu.js | 9 +++++++++ src/webview/spellchecker.js | 12 +++--------- 2 files changed, 12 insertions(+), 9 deletions(-) create mode 100644 src/webview/contextMenu.js diff --git a/src/webview/contextMenu.js b/src/webview/contextMenu.js new file mode 100644 index 000000000..f02dd1a01 --- /dev/null +++ b/src/webview/contextMenu.js @@ -0,0 +1,9 @@ +import { ContextMenuBuilder, ContextMenuListener } from "electron-spellchecker"; + +export default async function setupContextMenu(handler) { + let contextMenuBuilder = new ContextMenuBuilder(handler); + // eslint-disable-next-line no-new + new ContextMenuListener(info => { + contextMenuBuilder.showPopupMenu(info); + }); +} diff --git a/src/webview/spellchecker.js b/src/webview/spellchecker.js index 8a1c8782b..a33a506b2 100644 --- a/src/webview/spellchecker.js +++ b/src/webview/spellchecker.js @@ -1,13 +1,12 @@ import { webFrame } from 'electron'; -import { SpellCheckHandler, ContextMenuListener, ContextMenuBuilder } from 'electron-spellchecker'; - +import { SpellCheckHandler } from 'electron-spellchecker'; import { SPELLCHECKER_LOCALES } from '../i18n/languages'; +import setupContextMenu from './contextMenu'; const debug = require('debug')('Franz:spellchecker'); let handler; let currentDict; -let contextMenuBuilder; let _isEnabled = false; export async function switchDict(locale) { @@ -46,12 +45,7 @@ export default async function initialize(languageCode = 'en-us') { debug('Init spellchecker'); switchDict(locale); - - contextMenuBuilder = new ContextMenuBuilder(handler); - // eslint-disable-next-line no-new - new ContextMenuListener((info) => { - contextMenuBuilder.showPopupMenu(info); - }); + setupContextMenu(handler); return handler; } catch (err) { -- cgit v1.2.3-54-g00ecf