From 64071db3351ab50fc6f457c38a425a52847eed4d Mon Sep 17 00:00:00 2001 From: Bennett Date: Mon, 9 Mar 2020 19:29:44 +0100 Subject: Add "Find in Page" feature (#446) * Add "Find in Page" feature * Add custom theme to overlay * Fix lint --- src/lib/Menu.js | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) (limited to 'src/lib/Menu.js') diff --git a/src/lib/Menu.js b/src/lib/Menu.js index 957621f94..4547e84f9 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js @@ -51,6 +51,10 @@ const menuItems = defineMessages({ id: 'menu.edit.selectAll', defaultMessage: '!!!Select All', }, + findInPage: { + id: 'menu.edit.findInPage', + defaultMessage: '!!!Find in Page', + }, speech: { id: 'menu.edit.speech', defaultMessage: '!!!Speech', @@ -375,6 +379,27 @@ const _templateFactory = (intl, locked) => [ { type: 'separator', }, + { + label: intl.formatMessage(menuItems.findInPage), + accelerator: 'CmdOrCtrl+F', + click() { + // Check if there is a service active + if (!window.ferdi.stores.services.active) return; + + // Focus webview so find in page popup gets focused + window.ferdi.stores.services.active.webview.focus(); + + const currentService = window.ferdi.stores.services.active.id; + window.ferdi.actions.service.sendIPCMessage({ + serviceId: currentService, + channel: 'find-in-page', + args: {}, + }); + }, + }, + { + type: 'separator', + }, { label: intl.formatMessage(menuItems.back), accelerator: 'CmdOrCtrl+Left', @@ -583,6 +608,27 @@ const _titleBarTemplateFactory = (intl, locked) => [ { type: 'separator', }, + { + label: intl.formatMessage(menuItems.findInPage), + accelerator: 'CmdOrCtrl+F', + click() { + // Check if there is a service active + if (!window.ferdi.stores.services.active) return; + + // Focus webview so find in page popup gets focused + window.ferdi.stores.services.active.webview.focus(); + + const currentService = window.ferdi.stores.services.active.id; + window.ferdi.actions.service.sendIPCMessage({ + serviceId: currentService, + channel: 'find-in-page', + args: {}, + }); + }, + }, + { + type: 'separator', + }, { label: intl.formatMessage(menuItems.back), accelerator: 'CmdOrCtrl+Left', @@ -861,7 +907,7 @@ export default class FranzMenu { }, }, { type: 'separator', - visible: touchIdEnabled + visible: touchIdEnabled, }); } -- cgit v1.2.3-54-g00ecf