2015-10-17 23:49:24 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var Backbone = require('backbone'),
|
2015-10-25 10:44:19 +01:00
|
|
|
Launcher = require('../../comp/launcher'),
|
2015-10-25 20:26:33 +01:00
|
|
|
Updater = require('../../comp/updater'),
|
|
|
|
Format = require('../../util/format'),
|
2015-10-17 23:49:24 +02:00
|
|
|
AppSettingsModel = require('../../models/app-settings-model');
|
|
|
|
|
|
|
|
var SettingsGeneralView = Backbone.View.extend({
|
|
|
|
template: require('templates/settings/settings-general.html'),
|
|
|
|
|
|
|
|
events: {
|
2015-10-25 20:26:33 +01:00
|
|
|
'change #settings__general-theme': 'changeTheme',
|
|
|
|
'change #settings__general-auto-update': 'changeAutoUpdate',
|
2015-10-23 22:12:12 +02:00
|
|
|
'click .settings__general-dev-tools-link': 'openDevTools'
|
2015-10-17 23:49:24 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
allThemes: {
|
|
|
|
d: 'default',
|
|
|
|
fb: 'flat blue',
|
|
|
|
wh: 'white'
|
|
|
|
},
|
|
|
|
|
|
|
|
render: function() {
|
2015-10-25 20:26:33 +01:00
|
|
|
var lastUpdateCheck;
|
|
|
|
switch (Updater.status) {
|
|
|
|
case 'checking':
|
|
|
|
lastUpdateCheck = 'Checking...';
|
|
|
|
break;
|
|
|
|
case 'err':
|
|
|
|
lastUpdateCheck = 'Error checking';
|
|
|
|
break;
|
|
|
|
case 'ok':
|
|
|
|
lastUpdateCheck = Format.dtStr(Updater.lastCheckDate) + ': ' +
|
|
|
|
(Updater.needUpdate ? 'New version available: ' + Updater.lastVersion +
|
|
|
|
' (released ' + Format.dStr(Updater.lastVersionReleaseDate) + ')'
|
|
|
|
: 'You are using the latest version');
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
lastUpdateCheck = 'Never';
|
|
|
|
break;
|
|
|
|
}
|
2015-10-17 23:49:24 +02:00
|
|
|
this.renderTemplate({
|
|
|
|
themes: this.allThemes,
|
2015-10-25 20:26:33 +01:00
|
|
|
activeTheme: AppSettingsModel.instance.get('theme'),
|
|
|
|
autoUpdate: AppSettingsModel.instance.get('autoUpdate'),
|
|
|
|
canAutoUpdate: !!Launcher,
|
|
|
|
lastUpdateCheck: lastUpdateCheck,
|
2015-10-23 22:12:12 +02:00
|
|
|
devTools: Launcher && Launcher.devTools
|
2015-10-17 23:49:24 +02:00
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
changeTheme: function(e) {
|
|
|
|
var theme = e.target.value;
|
|
|
|
AppSettingsModel.instance.set('theme', theme);
|
2015-10-23 22:12:12 +02:00
|
|
|
},
|
|
|
|
|
2015-10-25 20:26:33 +01:00
|
|
|
changeAutoUpdate: function(e) {
|
|
|
|
var autoUpdate = e.target.checked;
|
|
|
|
AppSettingsModel.instance.set('autoUpdate', autoUpdate);
|
|
|
|
if (autoUpdate) {
|
|
|
|
Updater.check();
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2015-10-23 22:12:12 +02:00
|
|
|
openDevTools: function() {
|
|
|
|
if (Launcher) {
|
|
|
|
Launcher.openDevTools();
|
|
|
|
}
|
2015-10-17 23:49:24 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports = SettingsGeneralView;
|