From 65a47a8fe41a07a854050aa5b823240e58653cc7 Mon Sep 17 00:00:00 2001 From: antelle Date: Fri, 2 Jun 2017 20:16:09 +0200 Subject: [PATCH] lock on computer sleep --- app/scripts/comp/idle-tracker.js | 4 --- app/scripts/locales/base.json | 10 +++--- app/scripts/models/app-settings-model.js | 1 + app/scripts/views/app-view.js | 8 +++++ .../views/settings/settings-general-view.js | 8 +++++ app/templates/settings/settings-general.hbs | 33 ++++++++++++------- release-notes.md | 2 +- 7 files changed, 45 insertions(+), 21 deletions(-) diff --git a/app/scripts/comp/idle-tracker.js b/app/scripts/comp/idle-tracker.js index d06a949d..818843fa 100644 --- a/app/scripts/comp/idle-tracker.js +++ b/app/scripts/comp/idle-tracker.js @@ -13,15 +13,11 @@ const IdleTracker = { Backbone.trigger('user-idle'); } }, - osLock: function() { - Backbone.trigger('user-idle'); - }, regUserAction: function() { this.actionTime = Date.now(); } }; Backbone.on('power-monitor-resume', IdleTracker.checkIdle, IdleTracker); -Backbone.on('os-lock', IdleTracker.osLock, IdleTracker); module.exports = IdleTracker; diff --git a/app/scripts/locales/base.json b/app/scripts/locales/base.json index 5a5cd569..6083dfcd 100644 --- a/app/scripts/locales/base.json +++ b/app/scripts/locales/base.json @@ -343,7 +343,7 @@ "setGenNoRememberKeyFiles": "Don't remember", "setGenRememberKeyFilesData": "Store in the internal app storage", "setGenRememberKeyFilesPath": "Remember only path to key files", - "setGenLockInactive": "Auto-lock if the app is inactive", + "setGenLockInactive": "If the app is inactive", "setGenNoAutoLock": "Don't auto-lock", "setGenLockMinutes": "In {} minutes", "setGenLockHour": "In an hour", @@ -354,9 +354,11 @@ "setGenClearSeconds": "In {} seconds", "setGenClearMinute": "In a minute", "setGenMinInstead": "Minimize app instead of close", - "setGenLockMinimize": "Auto-lock on minimize", - "setGenLockCopy": "Auto-lock on password copy", - "setGenLockAutoType": "Auto-lock on auto-type", + "setGenLock": "Auto lock", + "setGenLockMinimize": "When the app is minimized", + "setGenLockCopy": "On password copy", + "setGenLockAutoType": "On auto-type", + "setGenLockOsLock": "When the computer is locked or put to sleep", "setGenStorage": "Storage", "setGenShowAdvanced": "Show advanced settings", "setGenDevTools": "Show dev tools", diff --git a/app/scripts/models/app-settings-model.js b/app/scripts/models/app-settings-model.js index 8434b29c..54ac7070 100644 --- a/app/scripts/models/app-settings-model.js +++ b/app/scripts/models/app-settings-model.js @@ -21,6 +21,7 @@ const AppSettingsModel = Backbone.Model.extend({ lockOnMinimize: true, lockOnCopy: false, lockOnAutoType: false, + lockOnOsLock: false, helpTipCopyShown: false, templateHelpShown: false, skipOpenLocalWarn: false, diff --git a/app/scripts/views/app-view.js b/app/scripts/views/app-view.js index d1ebe31f..4f0dbb66 100644 --- a/app/scripts/views/app-view.js +++ b/app/scripts/views/app-view.js @@ -78,6 +78,8 @@ const AppView = Backbone.View.extend({ this.listenTo(Backbone, 'edit-generator-presets', this.editGeneratorPresets); this.listenTo(Backbone, 'launcher-open-file', this.launcherOpenFile); this.listenTo(Backbone, 'user-idle', this.userIdle); + this.listenTo(Backbone, 'os-lock', this.osLocked); + this.listenTo(Backbone, 'power-monitor-suspend', this.osLocked); this.listenTo(Backbone, 'app-minimized', this.appMinimized); this.listenTo(Backbone, 'show-context-menu', this.showContextMenu); this.listenTo(Backbone, 'second-instance', this.showSingleInstanceAlert); @@ -421,6 +423,12 @@ const AppView = Backbone.View.extend({ this.lockWorkspace(true); }, + osLocked: function() { + if (this.model.settings.get('lockOnOsLock')) { + this.lockWorkspace(true); + } + }, + appMinimized: function() { if (this.model.settings.get('lockOnMinimize')) { this.lockWorkspace(true); diff --git a/app/scripts/views/settings/settings-general-view.js b/app/scripts/views/settings/settings-general-view.js index eaa2133e..d383d238 100644 --- a/app/scripts/views/settings/settings-general-view.js +++ b/app/scripts/views/settings/settings-general-view.js @@ -33,6 +33,7 @@ const SettingsGeneralView = Backbone.View.extend({ 'change .settings__general-lock-on-minimize': 'changeLockOnMinimize', 'change .settings__general-lock-on-copy': 'changeLockOnCopy', 'change .settings__general-lock-on-auto-type': 'changeLockOnAutoType', + 'change .settings__general-lock-on-os-lock': 'changeLockOnOsLock', 'change .settings__general-table-view': 'changeTableView', 'change .settings__general-colorful-icons': 'changeColorfulIcons', 'change .settings__general-titlebar-style': 'changeTitlebarStyle', @@ -79,10 +80,12 @@ const SettingsGeneralView = Backbone.View.extend({ canAutoUpdate: Updater.enabled, canMinimize: Launcher && Launcher.canMinimize(), canDetectMinimize: !!Launcher, + canDetectOsLock: !!Launcher, canAutoType: AutoType.enabled, lockOnMinimize: Launcher && AppSettingsModel.instance.get('lockOnMinimize'), lockOnCopy: AppSettingsModel.instance.get('lockOnCopy'), lockOnAutoType: AppSettingsModel.instance.get('lockOnAutoType'), + lockOnOsLock: AppSettingsModel.instance.get('lockOnOsLock'), tableView: AppSettingsModel.instance.get('tableView'), canSetTableView: !FeatureDetector.isMobile, autoUpdate: Updater.getAutoUpdateType(), @@ -247,6 +250,11 @@ const SettingsGeneralView = Backbone.View.extend({ AppSettingsModel.instance.set('lockOnAutoType', lockOnAutoType); }, + changeLockOnOsLock: function(e) { + const lockOnOsLock = e.target.checked || false; + AppSettingsModel.instance.set('lockOnOsLock', lockOnOsLock); + }, + changeTableView: function(e) { const tableView = e.target.checked || false; AppSettingsModel.instance.set('tableView', tableView); diff --git a/app/templates/settings/settings-general.hbs b/app/templates/settings/settings-general.hbs index 13d22f71..131951e7 100644 --- a/app/templates/settings/settings-general.hbs +++ b/app/templates/settings/settings-general.hbs @@ -103,18 +103,6 @@ {{#if supportFiles}}{{/if}} -
- - -
{{#if canClearClipboard}}
@@ -134,6 +122,20 @@
{{/if}} + +

{{res 'setGenLock'}}

+
+ + +
{{#if canDetectMinimize}}
{{res 'setGenLockAutoType'}}
{{/if}} + {{#if canDetectOsLock}} +
+ + +
+ {{/if}}

{{res 'setGenStorage'}}

{{#each storageProviders as |prv|}}