diff options
-rw-r--r-- | ext/bg/js/options-form.js | 6 | ||||
-rw-r--r-- | ext/bg/js/options.js | 3 | ||||
-rw-r--r-- | ext/bg/options.html | 12 | ||||
-rw-r--r-- | ext/fg/js/client.js | 14 |
4 files changed, 24 insertions, 11 deletions
diff --git a/ext/bg/js/options-form.js b/ext/bg/js/options-form.js index a495813d..7504f74e 100644 --- a/ext/bg/js/options-form.js +++ b/ext/bg/js/options-form.js @@ -20,12 +20,14 @@ function optionsToForm(opts) { $('#scanLength').val(opts.scanLength); $('#loadOnStartup').prop('checked', opts.loadOnStartup); + $('#highlightText').prop('checked', opts.highlightText); } function formToOptions() { return sanitizeOptions({ - scanLength: $('#scanLength').val(), - loadOnStartup: $('#loadOnStartup').prop('checked') + scanLength: $('#scanLength').val(), + loadOnStartup: $('#loadOnStartup').prop('checked'), + highlightText: $('#highlightText').prop('checked') }); } diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js index 0ab33612..0fedfe19 100644 --- a/ext/bg/js/options.js +++ b/ext/bg/js/options.js @@ -20,7 +20,8 @@ function sanitizeOptions(options) { const defaults = { scanLength: 20, - loadOnStartup: false + loadOnStartup: false, + highlightText: true }; for (const key in defaults) { diff --git a/ext/bg/options.html b/ext/bg/options.html index fb908d04..25831b38 100644 --- a/ext/bg/options.html +++ b/ext/bg/options.html @@ -21,9 +21,15 @@ <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <div class="checkbox"> - <label> - <input type="checkbox" id="loadOnStartup"> Load on startup - </label> + <label><input type="checkbox" id="loadOnStartup"> Load on startup</label> + </div> + </div> + </div> + + <div class="form-group"> + <div class="col-sm-offset-2 col-sm-10"> + <div class="checkbox"> + <label><input type="checkbox" id="highlightText" checked> Highlight text</label> </div> </div> </div> diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js index 56d43c3e..6b618bde 100644 --- a/ext/fg/js/client.js +++ b/ext/fg/js/client.js @@ -113,9 +113,11 @@ class Client { } showPopup(range) { - const selection = window.getSelection(); - selection.removeAllRanges(); - selection.addRange(range); + if (this.options.highlightText) { + const selection = window.getSelection(); + selection.removeAllRanges(); + selection.addRange(range); + } const pos = getPopupPositionForRange(this.popup, range, this.popupOffset); @@ -130,8 +132,10 @@ class Client { return; } - const selection = window.getSelection(); - selection.removeAllRanges(); + if (this.options.highlightText) { + const selection = window.getSelection(); + selection.removeAllRanges(); + } this.popupText = ''; this.popup.style.visibility = 'hidden'; |