mirror of
https://github.com/keeweb/keeweb.git
synced 2024-06-27 07:45:08 +02:00
Merge branch 'release-1.7'
This commit is contained in:
commit
f2303f447d
23
app/scripts/comp/focus-detector.js
Normal file
23
app/scripts/comp/focus-detector.js
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
const FeatureDetector = require('../util/feature-detector');
|
||||||
|
const Launcher = require('../comp/launcher');
|
||||||
|
|
||||||
|
const FocusDetector = function () {
|
||||||
|
this.isFocused = true;
|
||||||
|
this.detectsFocusWithEvents = !FeatureDetector.isDesktop && !FeatureDetector.isMobile;
|
||||||
|
if (this.detectsFocusWithEvents) {
|
||||||
|
window.onblur = () => { this.isFocused = false; };
|
||||||
|
window.onfocus = () => { this.isFocused = true; };
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
FocusDetector.prototype.hasFocus = function () {
|
||||||
|
if (this.detectsFocusWithEvents) {
|
||||||
|
return this.isFocused;
|
||||||
|
} else if (Launcher) {
|
||||||
|
return Launcher.isAppFocused();
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = FocusDetector;
|
|
@ -7,7 +7,6 @@ const SecureInput = require('../comp/secure-input');
|
||||||
const DropboxChooser = require('../comp/dropbox-chooser');
|
const DropboxChooser = require('../comp/dropbox-chooser');
|
||||||
const KeyHandler = require('../comp/key-handler');
|
const KeyHandler = require('../comp/key-handler');
|
||||||
const StorageFileListView = require('../views/storage-file-list-view');
|
const StorageFileListView = require('../views/storage-file-list-view');
|
||||||
const FeatureDetector = require('../util/feature-detector');
|
|
||||||
const Logger = require('../util/logger');
|
const Logger = require('../util/logger');
|
||||||
const Locale = require('../util/locale');
|
const Locale = require('../util/locale');
|
||||||
const UrlUtil = require('../util/url-util');
|
const UrlUtil = require('../util/url-util');
|
||||||
|
@ -15,6 +14,7 @@ const InputFx = require('../util/input-fx');
|
||||||
const Comparators = require('../util/comparators');
|
const Comparators = require('../util/comparators');
|
||||||
const Storage = require('../storage');
|
const Storage = require('../storage');
|
||||||
const Launcher = require('../comp/launcher');
|
const Launcher = require('../comp/launcher');
|
||||||
|
const FocusDetector = require('../comp/focus-detector');
|
||||||
|
|
||||||
const logger = new Logger('open-view');
|
const logger = new Logger('open-view');
|
||||||
|
|
||||||
|
@ -69,6 +69,7 @@ const OpenView = Backbone.View.extend({
|
||||||
KeyHandler.onKey(Keys.DOM_VK_RETURN, this.enterKeyPress, this);
|
KeyHandler.onKey(Keys.DOM_VK_RETURN, this.enterKeyPress, this);
|
||||||
KeyHandler.onKey(Keys.DOM_VK_DOWN, this.moveOpenFileSelectionDown, this);
|
KeyHandler.onKey(Keys.DOM_VK_DOWN, this.moveOpenFileSelectionDown, this);
|
||||||
KeyHandler.onKey(Keys.DOM_VK_UP, this.moveOpenFileSelectionUp, this);
|
KeyHandler.onKey(Keys.DOM_VK_UP, this.moveOpenFileSelectionUp, this);
|
||||||
|
this.focusDetector = new FocusDetector();
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function () {
|
render: function () {
|
||||||
|
@ -106,7 +107,7 @@ const OpenView = Backbone.View.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
focusInput: function() {
|
focusInput: function() {
|
||||||
if (!FeatureDetector.isMobile) {
|
if (this.focusDetector.hasFocus()) {
|
||||||
this.inputEl.focus();
|
this.inputEl.focus();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
2
desktop/package-lock.json
generated
2
desktop/package-lock.json
generated
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "KeeWeb",
|
"name": "KeeWeb",
|
||||||
"version": "1.7.3",
|
"version": "1.7.4",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "KeeWeb",
|
"name": "KeeWeb",
|
||||||
"version": "1.7.3",
|
"version": "1.7.4",
|
||||||
"description": "Free cross-platform password manager compatible with KeePass",
|
"description": "Free cross-platform password manager compatible with KeePass",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"homepage": "https://keeweb.info",
|
"homepage": "https://keeweb.info",
|
||||||
|
|
2
package-lock.json
generated
2
package-lock.json
generated
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "keeweb",
|
"name": "keeweb",
|
||||||
"version": "1.7.3",
|
"version": "1.7.4",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "keeweb",
|
"name": "keeweb",
|
||||||
"version": "1.7.3",
|
"version": "1.7.4",
|
||||||
"description": "Free cross-platform password manager compatible with KeePass",
|
"description": "Free cross-platform password manager compatible with KeePass",
|
||||||
"main": "Gruntfile.js",
|
"main": "Gruntfile.js",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
Release notes
|
Release notes
|
||||||
-------------
|
-------------
|
||||||
|
##### v1.7.4 (2019-01-17)
|
||||||
|
`-` fix #423: input focus issues in desktop apps
|
||||||
|
|
||||||
##### v1.7.3 (2019-01-13)
|
##### v1.7.3 (2019-01-13)
|
||||||
`-` fixed window activation when KeeWeb is launched second time
|
`-` fixed window activation when KeeWeb is launched second time
|
||||||
`-` fix #1087: Windows AutoType helper is now using .NET Framework v4
|
`-` fix #1087: Windows AutoType helper is now using .NET Framework v4
|
||||||
|
|
Loading…
Reference in New Issue
Block a user