summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/bg/js/options-form.js6
-rw-r--r--ext/bg/js/options.js3
-rw-r--r--ext/bg/options.html12
-rw-r--r--ext/fg/js/client.js14
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';