Add network configuration

This commit is contained in:
sigaloid 2022-07-19 16:01:27 -04:00
parent 82d71797a7
commit f3662d1048
3 changed files with 34 additions and 7 deletions

View File

@ -1,6 +1,7 @@
import BasicWidget from "../basic_widget.js";
import utils from "../../services/utils.js";
import UpdateAvailableWidget from "./update_available.js";
import options from "../../services/options.js";
const TPL = `
<div class="dropdown global-menu dropright">
@ -156,12 +157,14 @@ export default class GlobalMenuWidget extends BasicWidget {
}
async updateVersionStatus() {
const latestVersion = await this.fetchLatestVersion();
if (!options.get("checkForUpdates")) {
const latestVersion = await this.fetchLatestVersion();
this.updateAvailableWidget.updateVersionStatus(latestVersion);
this.updateAvailableWidget.updateVersionStatus(latestVersion);
this.$updateToLatestVersionButton.toggle(latestVersion > glob.triliumVersion);
this.$updateToLatestVersionButton.find(".version-text").text(`Version ${latestVersion} is available, click to download.`);
this.$updateToLatestVersionButton.toggle(latestVersion > glob.triliumVersion);
this.$updateToLatestVersionButton.find(".version-text").text(`Version ${latestVersion} is available, click to download.`);
}
}
async fetchLatestVersion() {

View File

@ -116,7 +116,17 @@ const TPL = `
<label for="auto-readonly-size-code">Automatic readonly size (code notes)</label>
<input class="form-control" id="auto-readonly-size-code" type="number" min="0">
</div>
</div>`;
</div>
<div>
<h4>Network connections</h4>
<div class="form-group">
<input id="check-for-updates" type="checkbox" name="check-for-updates">
<label for="check-for-updates">Check for updates automatically</label>
</div>
</div>
`;
export default class ProtectedSessionOptions {
constructor() {
@ -142,7 +152,7 @@ export default class ProtectedSessionOptions {
this.$availableLanguageCodes = $("#available-language-codes");
if (utils.isElectron()) {
const {webContents} = utils.dynamicRequire('@electron/remote').getCurrentWindow();
const { webContents } = utils.dynamicRequire('@electron/remote').getCurrentWindow();
this.$availableLanguageCodes.text(webContents.session.availableSpellCheckerLanguages.join(', '));
}
@ -250,6 +260,14 @@ export default class ProtectedSessionOptions {
this.setImageCompression(isChecked);
});
this.$checkForUpdates = $("#check-for-updates");
this.$checkForUpdates.on("change", () => {
const isChecked = this.$checkForUpdates.prop("checked");
const opts = { 'checkForUpdates': isChecked ? 'true' : 'false' };
server.put('options', opts).then(() => toastService.showMessage("Options changed have been saved."));
});
}
optionsLoaded(options) {
@ -272,5 +290,10 @@ export default class ProtectedSessionOptions {
const compressImages = options['compressImages'] === 'true';
this.$enableImageCompression.prop('checked', compressImages);
this.setImageCompression(compressImages);
const checkForUpdates = options['checkForUpdates'] === 'true';
this.$checkForUpdates.prop('checked', checkForUpdates);
}
}

View File

@ -57,7 +57,8 @@ const ALLOWED_OPTIONS = new Set([
'maxContentWidth',
'compressImages',
'downloadImagesAutomatically',
'minTocHeadings'
'minTocHeadings',
'checkForUpdates'
]);
function getOptions() {