summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/bg/js/options.js2
-rw-r--r--ext/bg/js/settings/main.js4
-rw-r--r--ext/bg/settings.html16
-rw-r--r--ext/fg/js/frontend.js4
4 files changed, 25 insertions, 1 deletions
diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js
index 8021672b..cf9af240 100644
--- a/ext/bg/js/options.js
+++ b/ext/bg/js/options.js
@@ -279,6 +279,8 @@ function profileOptionsCreateDefaults() {
popupVerticalOffset2: 0,
popupHorizontalTextPosition: 'below',
popupVerticalTextPosition: 'before',
+ popupScalingFactor: 1,
+ popupScaleRelativeToPageZoom: false,
showGuide: true,
compactTags: false,
compactGlossaries: false,
diff --git a/ext/bg/js/settings/main.js b/ext/bg/js/settings/main.js
index 56828a15..a5407b75 100644
--- a/ext/bg/js/settings/main.js
+++ b/ext/bg/js/settings/main.js
@@ -44,6 +44,8 @@ async function formRead(options) {
options.general.popupVerticalOffset = parseInt($('#popup-vertical-offset').val(), 10);
options.general.popupHorizontalOffset2 = parseInt($('#popup-horizontal-offset2').val(), 0);
options.general.popupVerticalOffset2 = parseInt($('#popup-vertical-offset2').val(), 10);
+ options.general.popupScalingFactor = parseInt($('#popup-scaling-factor').val(), 10);
+ options.general.popupScaleRelativeToPageZoom = $('#popup-scale-relative-to-page-zoom').val() === 'true';
options.general.popupTheme = $('#popup-theme').val();
options.general.popupOuterTheme = $('#popup-outer-theme').val();
options.general.customPopupCss = $('#custom-popup-css').val();
@@ -109,6 +111,8 @@ async function formWrite(options) {
$('#popup-vertical-offset').val(options.general.popupVerticalOffset);
$('#popup-horizontal-offset2').val(options.general.popupHorizontalOffset2);
$('#popup-vertical-offset2').val(options.general.popupVerticalOffset2);
+ $('#popup-scaling-factor').val(options.general.popupScalingFactor);
+ $('#popup-scale-relative-to-page-zoom').val(options.general.popupScaleRelativeToPageZoom ? 'true' : 'false');
$('#popup-theme').val(options.general.popupTheme);
$('#popup-outer-theme').val(options.general.popupOuterTheme);
$('#custom-popup-css').val(options.general.customPopupCss);
diff --git a/ext/bg/settings.html b/ext/bg/settings.html
index 4c973674..37ee20aa 100644
--- a/ext/bg/settings.html
+++ b/ext/bg/settings.html
@@ -237,6 +237,22 @@
</div>
</div>
+ <div class="form-group options-advanced">
+ <div class="row">
+ <div class="col-xs-6">
+ <label for="popup-scaling-factor">Popup size multiplier</label>
+ <input type="number" min="0" id="popup-scaling-factor" class="form-control">
+ </div>
+ <div class="col-xs-6">
+ <label for="popup-scale-relative-to-page-zoom">Popup size mode</label>
+ <select class="form-control" id="popup-scale-relative-to-page-zoom">
+ <option value="false">Absolute</option>
+ <option value="true">Relative to zoom level</option>
+ </select>
+ </div>
+ </div>
+ </div>
+
<div class="form-group">
<div class="row">
<div class="col-xs-6">
diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js
index 52e3a5bc..d2fe9e76 100644
--- a/ext/fg/js/frontend.js
+++ b/ext/fg/js/frontend.js
@@ -196,7 +196,9 @@ class Frontend extends TextScanner {
}
_updateContentScale() {
- const contentScale = 1.0 / this._pageZoomFactor; // TODO : Use options
+ const {popupScalingFactor, popupScaleRelativeToPageZoom} = this.options.general;
+ let contentScale = popupScalingFactor;
+ if (popupScaleRelativeToPageZoom) { contentScale /= this._pageZoomFactor; }
if (contentScale === this._contentScale) { return; }
this._contentScale = contentScale;