Browse Source

qml: PIN enable/disable/change more in line with other preferences items

master
Sander van Grieken 3 years ago
parent
commit
41f0f73bed
  1. 49
      electrum/gui/qml/components/Preferences.qml

49
electrum/gui/qml/components/Preferences.qml

@ -180,28 +180,43 @@ Pane {
text: qsTr('Wallet behavior')
}
Label {
text: qsTr('PIN')
}
RowLayout {
Label {
text: Config.pinCode == '' ? qsTr('Off'): qsTr('On')
color: Material.accentColor
Layout.rightMargin: constants.paddingMedium
}
Button {
text: qsTr('Enable')
visible: Config.pinCode == ''
onClicked: {
Layout.fillWidth: true
Layout.leftMargin: -constants.paddingSmall
spacing: 0
Switch {
id: usePin
checked: Config.pinCode
onCheckedChanged: {
if (activeFocus) {
console.log('PIN active ' + checked)
if (checked) {
var dialog = pinSetup.createObject(preferences, {mode: 'enter'})
dialog.accepted.connect(function() {
Config.pinCode = dialog.pincode
dialog.close()
})
dialog.rejected.connect(function() {
checked = false
})
dialog.open()
} else {
focus = false
Config.pinCode = ''
// re-add binding, pincode still set if auth failed
checked = Qt.binding(function () { return Config.pinCode })
}
}
}
}
Label {
Layout.fillWidth: true
text: qsTr('PIN')
wrapMode: Text.Wrap
}
}
Button {
text: qsTr('Modify')
visible: Config.pinCode != ''
@ -214,14 +229,6 @@ Pane {
dialog.open()
}
}
Button {
text: qsTr('Remove')
visible: Config.pinCode != ''
onClicked: {
Config.pinCode = ''
}
}
}
RowLayout {
Layout.columnSpan: 2

Loading…
Cancel
Save