aboutsummaryrefslogtreecommitdiffstats
path: root/src/webview
diff options
context:
space:
mode:
authorLibravatar Amine Mouafik <amine@mouafik.fr>2020-03-02 03:06:30 +0100
committerLibravatar Amine Mouafik <amine@mouafik.fr>2020-03-02 03:06:30 +0100
commitb18ff4240e398ee338ad0aaf7dc639b962534c72 (patch)
treecb10868736921293c93c5628b8912e8c6f78b60f /src/webview
parentKeep separation of concern between context menu / spellchecker (diff)
downloadferdium-app-b18ff4240e398ee338ad0aaf7dc639b962534c72.tar.gz
ferdium-app-b18ff4240e398ee338ad0aaf7dc639b962534c72.tar.zst
ferdium-app-b18ff4240e398ee338ad0aaf7dc639b962534c72.zip
Add paste as plain text to context menu
Via https://github.com/electron-userland/electron-spellchecker/issues/125
Diffstat (limited to 'src/webview')
-rw-r--r--src/webview/contextMenu.js28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/webview/contextMenu.js b/src/webview/contextMenu.js
index f02dd1a01..7ab60d251 100644
--- a/src/webview/contextMenu.js
+++ b/src/webview/contextMenu.js
@@ -1,7 +1,33 @@
1import { remote } from "electron";
1import { ContextMenuBuilder, ContextMenuListener } from "electron-spellchecker"; 2import { ContextMenuBuilder, ContextMenuListener } from "electron-spellchecker";
2 3
4const webContents = remote.getCurrentWebContents();
5
3export default async function setupContextMenu(handler) { 6export default async function setupContextMenu(handler) {
4 let contextMenuBuilder = new ContextMenuBuilder(handler); 7 const processMenu = (menu, menuInfo) => {
8 if (
9 menuInfo.editFlags.canPaste &&
10 !menuInfo.linkText &&
11 !menuInfo.hasImageContents
12 ) {
13 menu.insert(
14 3,
15 new remote.MenuItem({
16 label: "Paste as plain text",
17 accelerator: "CommandOrControl+Shift+V",
18 click: () => webContents.pasteAndMatchStyle()
19 })
20 );
21 }
22 return menu;
23 };
24
25 const contextMenuBuilder = new ContextMenuBuilder(
26 handler,
27 null,
28 true,
29 processMenu
30 );
5 // eslint-disable-next-line no-new 31 // eslint-disable-next-line no-new
6 new ContextMenuListener(info => { 32 new ContextMenuListener(info => {
7 contextMenuBuilder.showPopupMenu(info); 33 contextMenuBuilder.showPopupMenu(info);