keeweb/app/scripts/models/app-settings-model.js

57 lines
1.4 KiB
JavaScript
Raw Normal View History

2015-10-17 23:49:24 +02:00
'use strict';
var Backbone = require('backbone'),
2015-12-05 14:57:43 +01:00
SettingsStore = require('../comp/settings-store');
2015-10-17 23:49:24 +02:00
var AppSettingsModel = Backbone.Model.extend({
defaults: {
2015-12-05 14:57:43 +01:00
theme: 'fb',
2015-11-11 19:58:29 +01:00
expandGroups: true,
listViewWidth: null,
menuViewWidth: null,
2015-11-14 19:18:34 +01:00
tagsViewHeight: null,
autoUpdate: 'install',
2015-11-17 21:57:32 +01:00
clipboardSeconds: 0,
2015-11-21 07:49:39 +01:00
autoSave: true,
2016-02-14 12:20:21 +01:00
rememberKeyFiles: false,
2015-11-21 08:29:49 +01:00
idleMinutes: 15,
2015-11-21 15:55:42 +01:00
minimizeOnClose: false,
2015-12-02 22:12:14 +01:00
tableView: false,
colorfulIcons: false,
2016-01-13 18:46:43 +01:00
lockOnMinimize: true,
lockOnCopy: false,
2016-02-23 07:08:57 +01:00
helpTipCopyShown: false,
2016-03-05 09:35:22 +01:00
skipOpenLocalWarn: false,
hideEmptyFields: false,
2016-03-13 10:54:16 +01:00
skipHttpsWarning: false,
2016-03-13 17:45:55 +01:00
demoOpened: false,
fontSize: 0,
2016-07-27 00:01:32 +02:00
tableViewColumns: null,
2016-08-13 22:19:15 +02:00
generatorPresets: null,
dropbox: true,
webdav: true,
2016-03-26 23:05:59 +01:00
gdrive: true,
2016-03-27 13:54:35 +02:00
onedrive: true
2015-10-17 23:49:24 +02:00
},
initialize: function() {
2015-10-24 21:06:44 +02:00
this.listenTo(this, 'change', this.save);
2015-10-17 23:49:24 +02:00
},
load: function() {
2015-12-05 14:57:43 +01:00
var data = SettingsStore.load('app-settings');
if (data) {
this.set(data, {silent: true});
2015-10-17 23:49:24 +02:00
}
},
save: function() {
2015-12-05 14:57:43 +01:00
SettingsStore.save('app-settings', this.attributes);
2015-10-17 23:49:24 +02:00
}
});
AppSettingsModel.instance = new AppSettingsModel();
AppSettingsModel.instance.load();
module.exports = AppSettingsModel;