diff options
Diffstat (limited to 'ext/bg/js')
-rw-r--r-- | ext/bg/js/backend.js | 4 | ||||
-rw-r--r-- | ext/bg/js/options.js | 13 | ||||
-rw-r--r-- | ext/bg/js/search.js | 4 |
3 files changed, 21 insertions, 0 deletions
diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index b731fc6c..fb11ba2e 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -240,6 +240,10 @@ class Backend { // Event handlers async _onClipboardTextChange({text}) { + const {general: {maximumClipboardSearchLength}} = this.getOptions({current: true}); + if (text.length > maximumClipboardSearchLength) { + text = text.substring(0, maximumClipboardSearchLength); + } try { const {tab, created} = await this._getOrCreateSearchPopup(); await this._focusTab(tab); diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js index 5fb10516..876079dc 100644 --- a/ext/bg/js/options.js +++ b/ext/bg/js/options.js @@ -481,6 +481,10 @@ class OptionsUtil { { async: true, update: this._updateVersion6.bind(this) + }, + { + async: false, + update: this._updateVersion7.bind(this) } ]; } @@ -654,4 +658,13 @@ class OptionsUtil { templates = templates.replace(/\bcompactGlossaries=((?:\.*\/)*)compactGlossaries\b/g, (g0, g1) => `${g0} data=${g1}.`); return templates; } + + _updateVersion7(options) { + // Version 7 changes: + // Added general.maximumClipboardSearchLength. + for (const profile of options.profiles) { + profile.options.general.maximumClipboardSearchLength = 1000; + } + return options; + } } diff --git a/ext/bg/js/search.js b/ext/bg/js/search.js index d99e76e0..85efc7a0 100644 --- a/ext/bg/js/search.js +++ b/ext/bg/js/search.js @@ -197,6 +197,10 @@ class DisplaySearch extends Display { } _onExternalSearchUpdate({text, animate=true}) { + const {general: {maximumClipboardSearchLength}} = this.getOptions(); + if (text.length > maximumClipboardSearchLength) { + text = text.substring(0, maximumClipboardSearchLength); + } this._queryInput.value = text; this._search(animate, false); } |