diff options
author | Stefan Malzner <stefan@adlk.io> | 2018-01-11 10:41:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-11 10:41:34 +0100 |
commit | a4b665ef5f218313e524f0582d08cde6aa5d7049 (patch) | |
tree | 64f2a8046b544d98fe9125ea499c040f67482e01 /src/webview/plugin.js | |
parent | Fix link to service request form (diff) | |
parent | Merge branch 'develop' of github.com:meetfranz/franz into develop (diff) | |
download | ferdium-app-a4b665ef5f218313e524f0582d08cde6aa5d7049.tar.gz ferdium-app-a4b665ef5f218313e524f0582d08cde6aa5d7049.tar.zst ferdium-app-a4b665ef5f218313e524f0582d08cde6aa5d7049.zip |
Merge pull request #561 from meetfranz/developv5.0.0-beta.15
Franz Beta 15
Diffstat (limited to 'src/webview/plugin.js')
-rw-r--r-- | src/webview/plugin.js | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/src/webview/plugin.js b/src/webview/plugin.js index c877132b1..d9e021e6d 100644 --- a/src/webview/plugin.js +++ b/src/webview/plugin.js | |||
@@ -1,13 +1,12 @@ | |||
1 | import { ipcRenderer } from 'electron'; | 1 | import { ipcRenderer } from 'electron'; |
2 | import { ContextMenuListener, ContextMenuBuilder } from 'electron-spellchecker'; | ||
2 | import path from 'path'; | 3 | import path from 'path'; |
3 | 4 | ||
5 | import { isDevMode } from '../environment'; | ||
4 | import RecipeWebview from './lib/RecipeWebview'; | 6 | import RecipeWebview from './lib/RecipeWebview'; |
5 | 7 | ||
6 | import Spellchecker from './spellchecker.js'; | 8 | import Spellchecker from './spellchecker'; |
7 | import './notifications.js'; | 9 | import './notifications'; |
8 | import './ime.js'; | ||
9 | |||
10 | const spellchecker = new Spellchecker(); | ||
11 | 10 | ||
12 | ipcRenderer.on('initializeRecipe', (e, data) => { | 11 | ipcRenderer.on('initializeRecipe', (e, data) => { |
13 | const modulePath = path.join(data.recipe.path, 'webview.js'); | 12 | const modulePath = path.join(data.recipe.path, 'webview.js'); |
@@ -21,20 +20,34 @@ ipcRenderer.on('initializeRecipe', (e, data) => { | |||
21 | } | 20 | } |
22 | }); | 21 | }); |
23 | 22 | ||
23 | const spellchecker = new Spellchecker(); | ||
24 | spellchecker.initialize(); | ||
25 | |||
26 | const contextMenuBuilder = new ContextMenuBuilder(spellchecker.handler, null, isDevMode); | ||
27 | |||
28 | new ContextMenuListener((info) => { // eslint-disable-line | ||
29 | contextMenuBuilder.showPopupMenu(info); | ||
30 | }); | ||
31 | |||
24 | ipcRenderer.on('settings-update', (e, data) => { | 32 | ipcRenderer.on('settings-update', (e, data) => { |
25 | if (data.enableSpellchecking) { | 33 | console.log('settings-update', data); |
26 | if (!spellchecker.isEnabled) { | 34 | spellchecker.toggleSpellchecker(data.enableSpellchecking); |
27 | spellchecker.enable(); | ||
28 | |||
29 | // TODO: this does not work yet, needs more testing | ||
30 | // if (data.spellcheckingLanguage !== 'auto') { | ||
31 | // console.log('set spellchecking language to', data.spellcheckingLanguage); | ||
32 | // spellchecker.switchLanguage(data.spellcheckingLanguage); | ||
33 | // } | ||
34 | } | ||
35 | } | ||
36 | }); | 35 | }); |
37 | 36 | ||
37 | // initSpellche | ||
38 | |||
38 | document.addEventListener('DOMContentLoaded', () => { | 39 | document.addEventListener('DOMContentLoaded', () => { |
39 | ipcRenderer.sendToHost('hello'); | 40 | ipcRenderer.sendToHost('hello'); |
40 | }, false); | 41 | }, false); |
42 | |||
43 | // Patching window.open | ||
44 | const originalWindowOpen = window.open; | ||
45 | |||
46 | window.open = (url, frameName, features) => { | ||
47 | // We need to differentiate if the link should be opened in a popup or in the systems default browser | ||
48 | if (!frameName && !features) { | ||
49 | return ipcRenderer.sendToHost('new-window', url); | ||
50 | } | ||
51 | |||
52 | return originalWindowOpen(url, frameName, features); | ||
53 | }; | ||