mirror of
https://github.com/zadam/trilium.git
synced 2024-11-18 05:35:56 +08:00
51 lines
No EOL
1.2 KiB
JavaScript
51 lines
No EOL
1.2 KiB
JavaScript
import server from "./server.js";
|
|
import utils from "./utils.js";
|
|
import optionsInitService from "./options_init.js";
|
|
|
|
const MIN_ZOOM = 0.5;
|
|
const MAX_ZOOM = 2.0;
|
|
|
|
async function decreaseZoomFactor() {
|
|
await setZoomFactorAndSave(getCurrentZoom() - 0.1);
|
|
}
|
|
|
|
async function increaseZoomFactor() {
|
|
await setZoomFactorAndSave(getCurrentZoom() + 0.1);
|
|
}
|
|
|
|
function setZoomFactor(zoomFactor) {
|
|
zoomFactor = parseFloat(zoomFactor);
|
|
|
|
const webFrame = require('electron').webFrame;
|
|
webFrame.setZoomFactor(zoomFactor);
|
|
}
|
|
|
|
async function setZoomFactorAndSave(zoomFactor) {
|
|
if (!utils.isElectron()) {
|
|
return;
|
|
}
|
|
|
|
if (zoomFactor >= MIN_ZOOM && zoomFactor <= MAX_ZOOM) {
|
|
setZoomFactor(zoomFactor);
|
|
|
|
await server.put('options/zoomFactor/' + zoomFactor);
|
|
}
|
|
else {
|
|
console.log(`Zoom factor ${zoomFactor} outside of the range, ignored.`);
|
|
}
|
|
}
|
|
|
|
function getCurrentZoom() {
|
|
return require('electron').webFrame.getZoomFactor();
|
|
}
|
|
|
|
if (utils.isElectron()) {
|
|
optionsInitService.optionsReady.then(options => setZoomFactor(options.zoomFactor))
|
|
}
|
|
|
|
export default {
|
|
decreaseZoomFactor,
|
|
increaseZoomFactor,
|
|
setZoomFactor,
|
|
setZoomFactorAndSave
|
|
} |