Update extension shortcuts (#1246)

* Update commands

* Add command to open the popup window
This commit is contained in:
toasted-nutbread 2021-01-16 11:33:34 -05:00 committed by GitHub
parent 8766744aa4
commit f7c3b0010c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 43 additions and 20 deletions

View File

@ -86,17 +86,26 @@
"clipboardRead" "clipboardRead"
], ],
"commands": { "commands": {
"toggle": { "toggleTextScanning": {
"suggested_key": { "suggested_key": {
"default": "Alt+Delete" "default": "Alt+Delete"
}, },
"description": "Toggle text scanning" "description": "Toggle text scanning on/off"
}, },
"search": { "openHelpPage": {
"description": "Open the help page"
},
"openSettingsPage": {
"description": "Open the settings page"
},
"openSearchPage": {
"suggested_key": { "suggested_key": {
"default": "Alt+Insert" "default": "Alt+Insert"
}, },
"description": "Open search window" "description": "Open the search page"
},
"openPopupWindow": {
"description": "Open the popup window"
} }
}, },
"web_accessible_resources": [ "web_accessible_resources": [

View File

@ -131,10 +131,11 @@ class Backend {
]); ]);
this._commandHandlers = new Map([ this._commandHandlers = new Map([
['search', this._onCommandSearch.bind(this)], ['toggleTextScanning', this._onCommandToggleTextScanning.bind(this)],
['help', this._onCommandHelp.bind(this)], ['openHelpPage', this._onCommandOpenHelpPage.bind(this)],
['options', this._onCommandOptions.bind(this)], ['openSettingsPage', this._onCommandOpenSettingsPage.bind(this)],
['toggle', this._onCommandToggle.bind(this)] ['openSearchPage', this._onCommandOpenSearchPage.bind(this)],
['openPopupWindow', this._onCommandOpenPopupWindow.bind(this)]
]); ]);
} }
@ -727,7 +728,7 @@ class Backend {
// Command handlers // Command handlers
async _onCommandSearch(params) { async _onCommandOpenSearchPage(params) {
const {mode='existingOrNewTab', query} = params || {}; const {mode='existingOrNewTab', query} = params || {};
const baseUrl = chrome.runtime.getURL('/bg/search.html'); const baseUrl = chrome.runtime.getURL('/bg/search.html');
@ -773,22 +774,26 @@ class Backend {
} }
} }
async _onCommandHelp() { async _onCommandOpenHelpPage() {
await this._openInfoPage(); await this._openInfoPage();
} }
async _onCommandOptions(params) { async _onCommandOpenSettingsPage(params) {
const {mode='existingOrNewTab'} = params || {}; const {mode='existingOrNewTab'} = params || {};
await this._openSettingsPage(mode); await this._openSettingsPage(mode);
} }
async _onCommandToggle() { async _onCommandToggleTextScanning() {
const source = 'popup'; const source = 'popup';
const options = this.getOptions({current: true}); const options = this.getOptions({current: true});
options.general.enable = !options.general.enable; options.general.enable = !options.general.enable;
await this._saveOptions(source); await this._saveOptions(source);
} }
async _onCommandOpenPopupWindow() {
await this._onApiGetOrCreateSearchPopup({focus: true});
}
// Utilities // Utilities
_getOrCreateSearchPopup() { _getOrCreateSearchPopup() {

View File

@ -29,14 +29,14 @@ class DisplayController {
this._showExtensionInfo(manifest); this._showExtensionInfo(manifest);
this._setupEnvironment(); this._setupEnvironment();
this._setupButtonEvents('.action-open-search', 'search', chrome.runtime.getURL('/bg/search.html')); this._setupButtonEvents('.action-open-search', 'openSearchPage', chrome.runtime.getURL('/bg/search.html'));
this._setupButtonEvents('.action-open-help', 'help', chrome.runtime.getURL('/bg/info.html')); this._setupButtonEvents('.action-open-help', 'openHelpPage', chrome.runtime.getURL('/bg/info.html'));
const optionsFull = await api.optionsGetFull(); const optionsFull = await api.optionsGetFull();
this._optionsFull = optionsFull; this._optionsFull = optionsFull;
const optionsPageUrl = optionsFull.global.useSettingsV2 ? '/bg/settings2.html' : manifest.options_ui.page; const optionsPageUrl = optionsFull.global.useSettingsV2 ? '/bg/settings2.html' : manifest.options_ui.page;
this._setupButtonEvents('.action-open-options', 'options', chrome.runtime.getURL(optionsPageUrl)); this._setupButtonEvents('.action-open-options', 'openSettingsPage', chrome.runtime.getURL(optionsPageUrl));
const {profiles, profileCurrent} = optionsFull; const {profiles, profileCurrent} = optionsFull;
const primaryProfile = (profileCurrent >= 0 && profileCurrent < profiles.length) ? profiles[profileCurrent] : null; const primaryProfile = (profileCurrent >= 0 && profileCurrent < profiles.length) ? profiles[profileCurrent] : null;
@ -92,7 +92,7 @@ class DisplayController {
_setupOptions({options}) { _setupOptions({options}) {
const extensionEnabled = options.general.enable; const extensionEnabled = options.general.enable;
const onToggleChanged = () => api.commandExec('toggle'); const onToggleChanged = () => api.commandExec('toggleTextScanning');
for (const toggle of document.querySelectorAll('#enable-search,#enable-search2')) { for (const toggle of document.querySelectorAll('#enable-search,#enable-search2')) {
toggle.checked = extensionEnabled; toggle.checked = extensionEnabled;
toggle.addEventListener('change', onToggleChanged, false); toggle.addEventListener('change', onToggleChanged, false);

View File

@ -85,17 +85,26 @@
"clipboardRead" "clipboardRead"
], ],
"commands": { "commands": {
"toggle": { "toggleTextScanning": {
"suggested_key": { "suggested_key": {
"default": "Alt+Delete" "default": "Alt+Delete"
}, },
"description": "Toggle text scanning" "description": "Toggle text scanning on/off"
}, },
"search": { "openHelpPage": {
"description": "Open the help page"
},
"openSettingsPage": {
"description": "Open the settings page"
},
"openSearchPage": {
"suggested_key": { "suggested_key": {
"default": "Alt+Insert" "default": "Alt+Insert"
}, },
"description": "Open search window" "description": "Open the search page"
},
"openPopupWindow": {
"description": "Open the popup window"
} }
}, },
"web_accessible_resources": [ "web_accessible_resources": [