From b2e638bb1a234775f3ffbd2863de008124f8f1a9 Mon Sep 17 00:00:00 2001 From: Antelle Date: Wed, 18 Nov 2015 21:33:04 +0300 Subject: [PATCH] fix #37: auto-lock by timer --- TODO.md | 2 +- app/scripts/comp/alerts.js | 4 ++++ app/scripts/views/app-view.js | 5 ++++- app/scripts/views/settings/settings-general-view.js | 7 +++++++ app/templates/settings/settings-general.html | 10 ++++++++++ release-notes.md | 3 ++- 6 files changed, 28 insertions(+), 3 deletions(-) diff --git a/TODO.md b/TODO.md index 0678e3dd..bfd8ee7e 100644 --- a/TODO.md +++ b/TODO.md @@ -3,7 +3,7 @@ ## v0.4 Nov - [x] desktop dropbox -- [ ] lock flow, auto-lock +- [x] lock flow, auto-lock - [ ] minimize to tray - [ ] trim history by rules - [ ] custom icons, favicons diff --git a/app/scripts/comp/alerts.js b/app/scripts/comp/alerts.js index 73caa5a0..bdd74dfb 100644 --- a/app/scripts/comp/alerts.js +++ b/app/scripts/comp/alerts.js @@ -3,6 +3,8 @@ var ModalView = require('../views/modal-view'); var Alerts = { + alertDisplayed: false, + buttons: { ok: {result: 'yes', title: 'OK'}, yes: {result: 'yes', title: 'Yes'}, @@ -10,9 +12,11 @@ var Alerts = { }, alert: function(config) { + Alerts.alertDisplayed = true; var view = new ModalView({ model: config }); view.render(); view.on('result', function(res, check) { + Alerts.alertDisplayed = false; if (res && config.success) { config.success(res, check); } diff --git a/app/scripts/views/app-view.js b/app/scripts/views/app-view.js index d949814f..714ebb2f 100644 --- a/app/scripts/views/app-view.js +++ b/app/scripts/views/app-view.js @@ -259,7 +259,9 @@ var AppView = Backbone.View.extend({ lockWorkspace: function(autoInit) { var that = this; - // TODO: check if visual lock or any alert is displayed and stop, if any + if (Alerts.alertDisplayed) { // TODO: check visual lock as well + return; + } if (this.model.files.hasUnsavedFiles()) { if (this.model.settings.get('autoSave')) { this.saveAndLock(autoInit); @@ -300,6 +302,7 @@ var AppView = Backbone.View.extend({ }, saveAndLock: function(autoInit) { + // TODO: move to file manager var pendingCallbacks = 0, errorFiles = [], that = this; diff --git a/app/scripts/views/settings/settings-general-view.js b/app/scripts/views/settings/settings-general-view.js index c2f85606..a264a961 100644 --- a/app/scripts/views/settings/settings-general-view.js +++ b/app/scripts/views/settings/settings-general-view.js @@ -16,6 +16,7 @@ var SettingsGeneralView = Backbone.View.extend({ 'change .settings__general-theme': 'changeTheme', 'change .settings__general-expand': 'changeExpandGroups', 'change .settings__general-auto-update': 'changeAutoUpdate', + 'change .settings__general-idle-minutes': 'changeIdleMinutes', 'change .settings__general-clipboard': 'changeClipboard', 'change .settings__general-auto-save': 'changeAutoSave', 'click .settings__general-update-btn': 'checkUpdate', @@ -44,6 +45,7 @@ var SettingsGeneralView = Backbone.View.extend({ canClearClipboard: !!Launcher, clipboardSeconds: AppSettingsModel.instance.get('clipboardSeconds'), autoSave: AppSettingsModel.instance.get('autoSave'), + idleMinutes: AppSettingsModel.instance.get('idleMinutes'), devTools: Launcher && Launcher.devTools, canAutoUpdate: !!Launcher, autoUpdate: Updater.getAutoUpdateType(), @@ -102,6 +104,11 @@ var SettingsGeneralView = Backbone.View.extend({ AppSettingsModel.instance.set('clipboardSeconds', clipboardSeconds); }, + changeIdleMinutes: function(e) { + var idleMinutes = +e.target.value; + AppSettingsModel.instance.set('idleMinutes', idleMinutes); + }, + changeAutoUpdate: function(e) { var autoUpdate = e.target.value || false; AppSettingsModel.instance.set('autoUpdate', autoUpdate); diff --git a/app/templates/settings/settings-general.html b/app/templates/settings/settings-general.html index c02f6e57..778b60c5 100644 --- a/app/templates/settings/settings-general.html +++ b/app/templates/settings/settings-general.html @@ -69,6 +69,16 @@ <%- autoSave ? 'checked' : '' %> /> +
+ + +
<% if (devTools) { %>

Advanced

diff --git a/release-notes.md b/release-notes.md index 79dd993b..f46f6ceb 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,7 +1,8 @@ Release notes ------------- ##### vNext -Bugfixes +Locking, better Dropbox, security enhancements, bugfixes +`+` lock flow, auto-lock `-` fixed tag list scrolling `+` desktop Dropbox `+` Dropbox notification in self-hosted apps