From e5b53bb238e59b1cd6371c0379d6171a3e1e68fa Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sun, 3 Apr 2022 22:52:53 -0400 Subject: Hide popup on cursor exit (#2109) * Update phrasing * Add new options * Add settings * Implement --- ext/js/app/frontend.js | 4 ++++ ext/js/data/options-util.js | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'ext/js') diff --git a/ext/js/app/frontend.js b/ext/js/app/frontend.js index 0dd58735..102cd299 100644 --- a/ext/js/app/frontend.js +++ b/ext/js/app/frontend.js @@ -343,6 +343,10 @@ class Frontend { _onPopupFramePointerOut() { this._isPointerOverPopup = false; + const scanningOptions = this._options.scanning; + if (scanningOptions.hidePopupOnCursorExit) { + this._clearSelectionDelayed(scanningOptions.hidePopupOnCursorExitDelay, false); + } } _clearSelection(passive) { diff --git a/ext/js/data/options-util.js b/ext/js/data/options-util.js index 3422b773..593fed29 100644 --- a/ext/js/data/options-util.js +++ b/ext/js/data/options-util.js @@ -931,6 +931,8 @@ class OptionsUtil { // general.popupTheme's 'default' value changed to 'light' // general.popupOuterTheme's 'default' value changed to 'light' // general.popupOuterTheme's 'auto' value changed to 'site' + // Added scanning.hidePopupOnCursorExit. + // Added scanning.hidePopupOnCursorExitDelay. for (const profile of options.profiles) { const {general} = profile.options; if (general.popupTheme === 'default') { @@ -940,6 +942,8 @@ class OptionsUtil { case 'default': general.popupOuterTheme = 'light'; break; case 'auto': general.popupOuterTheme = 'site'; break; } + profile.options.scanning.hidePopupOnCursorExit = false; + profile.options.scanning.hidePopupOnCursorExitDelay = profile.options.scanning.hideDelay; } return options; } -- cgit v1.2.3