Merge pull request #1989

fc68567 wizard: improve restore from device ui/ux (selsta)
pull/2/head
luigi1111 5 years ago
commit cd9e1bf0ea
No known key found for this signature in database
GPG Key ID: F4ACA0183641E010

@ -60,6 +60,7 @@ Rectangle {
wizardController.walletOptionsIsRecovering = false;
wizardController.walletOptionsIsRecoveringFromDevice = false;
wizardController.walletOptionsDeviceName = '';
wizardController.walletOptionsDeviceIsRestore = false;
wizardController.tmpWalletFilename = '';
wizardController.walletRestoreMode = 'seed'
wizardController.walletOptionsSubaddressLookahead = '';
@ -89,6 +90,7 @@ Rectangle {
property bool walletOptionsIsRecoveringFromDevice: false
property string walletOptionsSubaddressLookahead: ''
property string walletOptionsDeviceName: ''
property bool walletOptionsDeviceIsRestore: false
property string tmpWalletFilename: ''
property var remoteNodes: ''
@ -388,7 +390,10 @@ Rectangle {
wizardController.m_wallet = wallet;
wizardController.walletOptionsIsRecoveringFromDevice = true;
wizardController.tmpWalletFilename = tmp_wallet_filename;
wizardController.walletOptionsRestoreHeight = wizardController.m_wallet.walletCreationHeight;
if (!wizardController.walletOptionsDeviceIsRestore) {
// User creates a hardware wallet for the first time. Use a recent block height from API.
wizardController.walletOptionsRestoreHeight = wizardController.m_wallet.walletCreationHeight;
}
} else {
console.log(wallet.errorString)
appWindow.showStatusMessage(qsTr(wallet.errorString), 5);

@ -79,6 +79,38 @@ Rectangle {
id: walletInput
}
ColumnLayout {
spacing: 0
Layout.topMargin: 10 * scaleRatio
Layout.fillWidth: true
MoneroComponents.RadioButton {
id: newDeviceWallet
text: qsTr("Create a new wallet from device.") + translationManager.emptyString
fontSize: 16 * scaleRatio
checked: true
onClicked: {
checked = true;
restoreDeviceWallet.checked = false;
wizardController.walletOptionsDeviceIsRestore = false;
}
}
MoneroComponents.RadioButton {
id: restoreDeviceWallet
Layout.topMargin: 10 * scaleRatio
text: qsTr("Restore a wallet from device. Use this if you used your hardware wallet before.") + translationManager.emptyString
fontSize: 16 * scaleRatio
checked: false
onClicked: {
checked = true;
newDeviceWallet.checked = false;
wizardController.walletOptionsDeviceIsRestore = true;
}
}
}
GridLayout {
Layout.topMargin: 10 * scaleRatio
Layout.fillWidth: true
@ -88,6 +120,7 @@ Rectangle {
MoneroComponents.LineEdit {
id: restoreHeight
visible: !newDeviceWallet.checked
Layout.fillWidth: true
labelText: qsTr("Wallet creation date as `YYYY-MM-DD` or restore height") + translationManager.emptyString
labelFontSize: 14 * scaleRatio

@ -67,7 +67,13 @@ ColumnLayout {
Layout.fillWidth: true
header: qsTr("Restore height") + translationManager.emptyString
value: wizardController.walletOptionsRestoreHeight
visible: wizardController.walletOptionsRestoreHeight > 0
visible: {
if (walletOptionsIsRecoveringFromDevice && !wizardController.walletOptionsDeviceIsRestore) {
return false;
} else {
return (wizardController.walletOptionsRestoreHeight > 0);
}
}
}
WizardSummaryItem {