qml: pin lock after inactivity
This commit is contained in:
@@ -275,7 +275,7 @@ ApplicationWindow
|
||||
}
|
||||
|
||||
function handleAuthRequired(qtobject, method) {
|
||||
console.log('AUTHENTICATING USING METHOD ' + method)
|
||||
console.log('auth using method ' + method)
|
||||
if (method == 'wallet') {
|
||||
if (Daemon.currentWallet.verify_password('')) {
|
||||
// wallet has no password
|
||||
@@ -309,6 +309,34 @@ ApplicationWindow
|
||||
})
|
||||
dialog.open()
|
||||
}
|
||||
} else {
|
||||
console.log('unknown auth method ' + method)
|
||||
qtobject.authCancel()
|
||||
}
|
||||
}
|
||||
|
||||
property var _lastActive: 0 // record time of last activity
|
||||
property int _maxInactive: 30 // seconds
|
||||
property bool _lockDialogShown: false
|
||||
|
||||
onActiveChanged: {
|
||||
console.log('active='+active)
|
||||
if (!active) {
|
||||
// deactivated
|
||||
_lastActive = Date.now()
|
||||
} else {
|
||||
// activated
|
||||
if (_lastActive != 0 && Date.now() - _lastActive > _maxInactive * 1000) {
|
||||
if (_lockDialogShown || Config.pinCode == '')
|
||||
return
|
||||
var dialog = app.pinDialog.createObject(app, {mode: 'check', canCancel: false, pincode: Config.pinCode})
|
||||
dialog.accepted.connect(function() {
|
||||
dialog.close()
|
||||
_lockDialogShown = false
|
||||
})
|
||||
dialog.open()
|
||||
_lockDialogShown = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user