From 5db0d5d59ac794430a886a41eeb4ba18a9ee635a Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Thu, 7 Apr 2016 22:41:16 -0700 Subject: WIP --- ext/bg/js/options-form.js | 6 ++++-- ext/bg/js/options.js | 3 ++- ext/bg/options.html | 12 +++++++++--- 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 @@
- + +
+
+
+ +
+
+
+
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'; -- cgit v1.2.3