mirror of https://github.com/keeweb/keeweb.git
lock on computer sleep
This commit is contained in:
parent
bb8e3390a0
commit
65a47a8fe4
|
@ -13,15 +13,11 @@ const IdleTracker = {
|
||||||
Backbone.trigger('user-idle');
|
Backbone.trigger('user-idle');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
osLock: function() {
|
|
||||||
Backbone.trigger('user-idle');
|
|
||||||
},
|
|
||||||
regUserAction: function() {
|
regUserAction: function() {
|
||||||
this.actionTime = Date.now();
|
this.actionTime = Date.now();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Backbone.on('power-monitor-resume', IdleTracker.checkIdle, IdleTracker);
|
Backbone.on('power-monitor-resume', IdleTracker.checkIdle, IdleTracker);
|
||||||
Backbone.on('os-lock', IdleTracker.osLock, IdleTracker);
|
|
||||||
|
|
||||||
module.exports = IdleTracker;
|
module.exports = IdleTracker;
|
||||||
|
|
|
@ -343,7 +343,7 @@
|
||||||
"setGenNoRememberKeyFiles": "Don't remember",
|
"setGenNoRememberKeyFiles": "Don't remember",
|
||||||
"setGenRememberKeyFilesData": "Store in the internal app storage",
|
"setGenRememberKeyFilesData": "Store in the internal app storage",
|
||||||
"setGenRememberKeyFilesPath": "Remember only path to key files",
|
"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",
|
"setGenNoAutoLock": "Don't auto-lock",
|
||||||
"setGenLockMinutes": "In {} minutes",
|
"setGenLockMinutes": "In {} minutes",
|
||||||
"setGenLockHour": "In an hour",
|
"setGenLockHour": "In an hour",
|
||||||
|
@ -354,9 +354,11 @@
|
||||||
"setGenClearSeconds": "In {} seconds",
|
"setGenClearSeconds": "In {} seconds",
|
||||||
"setGenClearMinute": "In a minute",
|
"setGenClearMinute": "In a minute",
|
||||||
"setGenMinInstead": "Minimize app instead of close",
|
"setGenMinInstead": "Minimize app instead of close",
|
||||||
"setGenLockMinimize": "Auto-lock on minimize",
|
"setGenLock": "Auto lock",
|
||||||
"setGenLockCopy": "Auto-lock on password copy",
|
"setGenLockMinimize": "When the app is minimized",
|
||||||
"setGenLockAutoType": "Auto-lock on auto-type",
|
"setGenLockCopy": "On password copy",
|
||||||
|
"setGenLockAutoType": "On auto-type",
|
||||||
|
"setGenLockOsLock": "When the computer is locked or put to sleep",
|
||||||
"setGenStorage": "Storage",
|
"setGenStorage": "Storage",
|
||||||
"setGenShowAdvanced": "Show advanced settings",
|
"setGenShowAdvanced": "Show advanced settings",
|
||||||
"setGenDevTools": "Show dev tools",
|
"setGenDevTools": "Show dev tools",
|
||||||
|
|
|
@ -21,6 +21,7 @@ const AppSettingsModel = Backbone.Model.extend({
|
||||||
lockOnMinimize: true,
|
lockOnMinimize: true,
|
||||||
lockOnCopy: false,
|
lockOnCopy: false,
|
||||||
lockOnAutoType: false,
|
lockOnAutoType: false,
|
||||||
|
lockOnOsLock: false,
|
||||||
helpTipCopyShown: false,
|
helpTipCopyShown: false,
|
||||||
templateHelpShown: false,
|
templateHelpShown: false,
|
||||||
skipOpenLocalWarn: false,
|
skipOpenLocalWarn: false,
|
||||||
|
|
|
@ -78,6 +78,8 @@ const AppView = Backbone.View.extend({
|
||||||
this.listenTo(Backbone, 'edit-generator-presets', this.editGeneratorPresets);
|
this.listenTo(Backbone, 'edit-generator-presets', this.editGeneratorPresets);
|
||||||
this.listenTo(Backbone, 'launcher-open-file', this.launcherOpenFile);
|
this.listenTo(Backbone, 'launcher-open-file', this.launcherOpenFile);
|
||||||
this.listenTo(Backbone, 'user-idle', this.userIdle);
|
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, 'app-minimized', this.appMinimized);
|
||||||
this.listenTo(Backbone, 'show-context-menu', this.showContextMenu);
|
this.listenTo(Backbone, 'show-context-menu', this.showContextMenu);
|
||||||
this.listenTo(Backbone, 'second-instance', this.showSingleInstanceAlert);
|
this.listenTo(Backbone, 'second-instance', this.showSingleInstanceAlert);
|
||||||
|
@ -421,6 +423,12 @@ const AppView = Backbone.View.extend({
|
||||||
this.lockWorkspace(true);
|
this.lockWorkspace(true);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
osLocked: function() {
|
||||||
|
if (this.model.settings.get('lockOnOsLock')) {
|
||||||
|
this.lockWorkspace(true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
appMinimized: function() {
|
appMinimized: function() {
|
||||||
if (this.model.settings.get('lockOnMinimize')) {
|
if (this.model.settings.get('lockOnMinimize')) {
|
||||||
this.lockWorkspace(true);
|
this.lockWorkspace(true);
|
||||||
|
|
|
@ -33,6 +33,7 @@ const SettingsGeneralView = Backbone.View.extend({
|
||||||
'change .settings__general-lock-on-minimize': 'changeLockOnMinimize',
|
'change .settings__general-lock-on-minimize': 'changeLockOnMinimize',
|
||||||
'change .settings__general-lock-on-copy': 'changeLockOnCopy',
|
'change .settings__general-lock-on-copy': 'changeLockOnCopy',
|
||||||
'change .settings__general-lock-on-auto-type': 'changeLockOnAutoType',
|
'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-table-view': 'changeTableView',
|
||||||
'change .settings__general-colorful-icons': 'changeColorfulIcons',
|
'change .settings__general-colorful-icons': 'changeColorfulIcons',
|
||||||
'change .settings__general-titlebar-style': 'changeTitlebarStyle',
|
'change .settings__general-titlebar-style': 'changeTitlebarStyle',
|
||||||
|
@ -79,10 +80,12 @@ const SettingsGeneralView = Backbone.View.extend({
|
||||||
canAutoUpdate: Updater.enabled,
|
canAutoUpdate: Updater.enabled,
|
||||||
canMinimize: Launcher && Launcher.canMinimize(),
|
canMinimize: Launcher && Launcher.canMinimize(),
|
||||||
canDetectMinimize: !!Launcher,
|
canDetectMinimize: !!Launcher,
|
||||||
|
canDetectOsLock: !!Launcher,
|
||||||
canAutoType: AutoType.enabled,
|
canAutoType: AutoType.enabled,
|
||||||
lockOnMinimize: Launcher && AppSettingsModel.instance.get('lockOnMinimize'),
|
lockOnMinimize: Launcher && AppSettingsModel.instance.get('lockOnMinimize'),
|
||||||
lockOnCopy: AppSettingsModel.instance.get('lockOnCopy'),
|
lockOnCopy: AppSettingsModel.instance.get('lockOnCopy'),
|
||||||
lockOnAutoType: AppSettingsModel.instance.get('lockOnAutoType'),
|
lockOnAutoType: AppSettingsModel.instance.get('lockOnAutoType'),
|
||||||
|
lockOnOsLock: AppSettingsModel.instance.get('lockOnOsLock'),
|
||||||
tableView: AppSettingsModel.instance.get('tableView'),
|
tableView: AppSettingsModel.instance.get('tableView'),
|
||||||
canSetTableView: !FeatureDetector.isMobile,
|
canSetTableView: !FeatureDetector.isMobile,
|
||||||
autoUpdate: Updater.getAutoUpdateType(),
|
autoUpdate: Updater.getAutoUpdateType(),
|
||||||
|
@ -247,6 +250,11 @@ const SettingsGeneralView = Backbone.View.extend({
|
||||||
AppSettingsModel.instance.set('lockOnAutoType', lockOnAutoType);
|
AppSettingsModel.instance.set('lockOnAutoType', lockOnAutoType);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
changeLockOnOsLock: function(e) {
|
||||||
|
const lockOnOsLock = e.target.checked || false;
|
||||||
|
AppSettingsModel.instance.set('lockOnOsLock', lockOnOsLock);
|
||||||
|
},
|
||||||
|
|
||||||
changeTableView: function(e) {
|
changeTableView: function(e) {
|
||||||
const tableView = e.target.checked || false;
|
const tableView = e.target.checked || false;
|
||||||
AppSettingsModel.instance.set('tableView', tableView);
|
AppSettingsModel.instance.set('tableView', tableView);
|
||||||
|
|
|
@ -103,18 +103,6 @@
|
||||||
{{#if supportFiles}}<option value="path" {{#ifeq rememberKeyFiles 'path'}}selected{{/ifeq}}>{{res 'setGenRememberKeyFilesPath'}}</option>{{/if}}
|
{{#if supportFiles}}<option value="path" {{#ifeq rememberKeyFiles 'path'}}selected{{/ifeq}}>{{res 'setGenRememberKeyFilesPath'}}</option>{{/if}}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<label for="settings__general-idle-minutes">{{res 'setGenLockInactive'}}:</label>
|
|
||||||
<select class="settings__general-idle-minutes settings__select input-base" id="settings__general-idle-minutes">
|
|
||||||
<option value="0" {{#cmp idleMinutes 0 '<='}}selected{{/cmp}}>{{res 'setGenNoAutoLock'}}</option>
|
|
||||||
<option value="5" {{#ifeq idleMinutes 5}}selected{{/ifeq}}>{{#res 'setGenLockMinutes'}}5{{/res}}</option>
|
|
||||||
<option value="10" {{#ifeq idleMinutes 10}}selected{{/ifeq}}>{{#res 'setGenLockMinutes'}}10{{/res}}</option>
|
|
||||||
<option value="15" {{#ifeq idleMinutes 15}}selected{{/ifeq}}>{{#res 'setGenLockMinutes'}}15{{/res}}</option>
|
|
||||||
<option value="60" {{#ifeq idleMinutes 60}}selected{{/ifeq}}>{{res 'setGenLockHour'}}</option>
|
|
||||||
<option value="720" {{#ifeq idleMinutes 720}}selected{{/ifeq}}>{{#res 'setGenLockHours'}}12{{/res}}</option>
|
|
||||||
<option value="1440" {{#ifeq idleMinutes 1440}}selected{{/ifeq}}>{{res 'setGenLockDay'}}</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
{{#if canClearClipboard}}
|
{{#if canClearClipboard}}
|
||||||
<div>
|
<div>
|
||||||
<label for="settings__general-clipboard">{{res 'setGenClearClip'}}:</label>
|
<label for="settings__general-clipboard">{{res 'setGenClearClip'}}:</label>
|
||||||
|
@ -134,6 +122,20 @@
|
||||||
<label for="settings__general-minimize">{{res 'setGenMinInstead'}}</label>
|
<label for="settings__general-minimize">{{res 'setGenMinInstead'}}</label>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
<h2>{{res 'setGenLock'}}</h2>
|
||||||
|
<div>
|
||||||
|
<label for="settings__general-idle-minutes">{{res 'setGenLockInactive'}}:</label>
|
||||||
|
<select class="settings__general-idle-minutes settings__select input-base" id="settings__general-idle-minutes">
|
||||||
|
<option value="0" {{#cmp idleMinutes 0 '<='}}selected{{/cmp}}>{{res 'setGenNoAutoLock'}}</option>
|
||||||
|
<option value="5" {{#ifeq idleMinutes 5}}selected{{/ifeq}}>{{#res 'setGenLockMinutes'}}5{{/res}}</option>
|
||||||
|
<option value="10" {{#ifeq idleMinutes 10}}selected{{/ifeq}}>{{#res 'setGenLockMinutes'}}10{{/res}}</option>
|
||||||
|
<option value="15" {{#ifeq idleMinutes 15}}selected{{/ifeq}}>{{#res 'setGenLockMinutes'}}15{{/res}}</option>
|
||||||
|
<option value="60" {{#ifeq idleMinutes 60}}selected{{/ifeq}}>{{res 'setGenLockHour'}}</option>
|
||||||
|
<option value="720" {{#ifeq idleMinutes 720}}selected{{/ifeq}}>{{#res 'setGenLockHours'}}12{{/res}}</option>
|
||||||
|
<option value="1440" {{#ifeq idleMinutes 1440}}selected{{/ifeq}}>{{res 'setGenLockDay'}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
{{#if canDetectMinimize}}
|
{{#if canDetectMinimize}}
|
||||||
<div>
|
<div>
|
||||||
<input type="checkbox" class="settings__input input-base settings__general-lock-on-minimize" id="settings__general-lock-on-minimize"
|
<input type="checkbox" class="settings__input input-base settings__general-lock-on-minimize" id="settings__general-lock-on-minimize"
|
||||||
|
@ -153,6 +155,13 @@
|
||||||
<label for="settings__general-lock-on-auto-type">{{res 'setGenLockAutoType'}}</label>
|
<label for="settings__general-lock-on-auto-type">{{res 'setGenLockAutoType'}}</label>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{#if canDetectOsLock}}
|
||||||
|
<div>
|
||||||
|
<input type="checkbox" class="settings__input input-base settings__general-lock-on-os-lock" id="settings__general-lock-on-os-lock"
|
||||||
|
{{#if lockOnOsLock}}checked{{/if}} />
|
||||||
|
<label for="settings__general-lock-on-os-lock">{{res 'setGenLockOsLock'}}</label>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
<h2>{{res 'setGenStorage'}}</h2>
|
<h2>{{res 'setGenStorage'}}</h2>
|
||||||
{{#each storageProviders as |prv|}}
|
{{#each storageProviders as |prv|}}
|
||||||
<h4 class="settings__general-storage-header"><input
|
<h4 class="settings__general-storage-header"><input
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Release notes
|
Release notes
|
||||||
-------------
|
-------------
|
||||||
##### v1.6.0 (WIP)
|
##### v1.6.0 (WIP)
|
||||||
`+` auto-lock when Windows is locked
|
`+` auto-lock on computer lock
|
||||||
|
|
||||||
##### v1.5.3 (2017-05-29)
|
##### v1.5.3 (2017-05-29)
|
||||||
`-` fix #638: password generator drag issues
|
`-` fix #638: password generator drag issues
|
||||||
|
|
Loading…
Reference in New Issue