diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-01-25 22:18:31 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-25 22:18:31 -0500 | 
| commit | 34fed22ccb34720a16097baebc25fe96278be93c (patch) | |
| tree | 3ec06b9fabf42b3bf4a1f29c823a4a0cec6d7b5e /ext | |
| parent | 981f73b5623249b4c4cead0261eab0e70f620d90 (diff) | |
Fix clipboard monitor not persisting (#1315)
* Add optionsUpdated event to Display
* Update this._clipboardMonitorEnabled
* Update settings to ensure no unexpected behaviour
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/bg/js/options.js | 2 | ||||
| -rw-r--r-- | ext/bg/js/search.js | 7 | ||||
| -rw-r--r-- | ext/mixed/js/display.js | 2 | 
3 files changed, 11 insertions, 0 deletions
| diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js index 1417c975..14b858aa 100644 --- a/ext/bg/js/options.js +++ b/ext/bg/js/options.js @@ -670,6 +670,7 @@ class OptionsUtil {          //  Updated global.useSettingsV2 to be true (opt-out).          //  Added audio.customSourceType.          //  Added general.autoSearchClipboardContent. +        //  Forced general.enableClipboardMonitor to false due to a bug which caused its value to not be read.          await this._addFieldTemplatesToOptions(options, '/bg/data/anki-field-templates-upgrade-v8.handlebars');          options.global.useSettingsV2 = true;          for (const profile of options.profiles) { @@ -730,6 +731,7 @@ class OptionsUtil {              };              profile.options.audio.customSourceType = 'audio';              profile.options.general.autoSearchClipboardContent = true; +            profile.options.general.enableClipboardMonitor = false;          }          return options;      } diff --git a/ext/bg/js/search.js b/ext/bg/js/search.js index 0fcbcd13..3b7e8299 100644 --- a/ext/bg/js/search.js +++ b/ext/bg/js/search.js @@ -54,6 +54,7 @@ class DisplaySearch extends Display {          await this.updateOptions();          yomichan.on('optionsUpdated', this._onOptionsUpdated.bind(this)); +        this.on('optionsUpdated', this._onDisplayOptionsUpdated.bind(this));          this.on('contentUpdating', this._onContentUpdating.bind(this));          this.on('modeChange', this._onModeChange.bind(this)); @@ -76,6 +77,7 @@ class DisplaySearch extends Display {          this.hotkeyHandler.on('keydownNonHotkey', this._onKeyDown.bind(this));          this._onModeChange(); +        this._onDisplayOptionsUpdated();          this.initializeState(); @@ -123,6 +125,11 @@ class DisplaySearch extends Display {          }      } +    _onDisplayOptionsUpdated({options}) { +        this._clipboardMonitorEnabled = options.general.enableClipboardMonitor; +        this._updateClipboardMonitorEnabled(); +    } +      _onContentUpdating({type, content, source}) {          let animate = false;          let valid = false; diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index fdb0af39..15724fe4 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -313,6 +313,8 @@ class Display extends EventDispatcher {          this._updateNestedFrontend(options);          this._updateDefinitionTextScanner(options); + +        this.trigger('optionsUpdated', {options});      }      clearAutoPlayTimer() { |