SettingsInfo: allow a date for restore height

pull/2/head
selsta 5 years ago
parent 42103432b7
commit dc5028f019
Signed by untrusted user: selsta
GPG Key ID: 2EA0A99A8B07AE5E

@ -31,6 +31,7 @@ import QtQuick.Layouts 1.1
import QtQuick.Controls 2.0
import QtQuick.Dialogs 1.2
import "../../js/Wizard.js" as Wizard
import "../../version.js" as Version
import "../../components" as MoneroComponents
@ -172,10 +173,19 @@ Rectangle {
property var style: "<style type='text/css'>a {cursor:pointer;text-decoration: none; color: #FF6C3C}</style>"
text: (currentWallet ? currentWallet.walletCreationHeight : "") + style + qsTr(" <a href='#'> (Click to change)</a>") + translationManager.emptyString
onLinkActivated: {
inputDialog.labelText = qsTr("Set a new restore height:") + translationManager.emptyString;
inputDialog.labelText = qsTr("Set a new restore height.\nYou can enter a block height or a date (YYYY-MM-DD):") + translationManager.emptyString;
inputDialog.inputText = currentWallet ? currentWallet.walletCreationHeight : "0";
inputDialog.onAcceptedCallback = function() {
var _restoreHeight = parseInt(inputDialog.inputText);
var _restoreHeight;
if (inputDialog.inputText) {
var restoreHeightText = inputDialog.inputText;
// Parse date string or restore height as integer
if(restoreHeightText.indexOf('-') === 4 && restoreHeightText.length === 10) {
_restoreHeight = Wizard.getApproximateBlockchainHeight(restoreHeightText);
} else {
_restoreHeight = parseInt(restoreHeightText)
}
}
if (!isNaN(_restoreHeight)) {
if(_restoreHeight >= 0) {
currentWallet.walletCreationHeight = _restoreHeight
@ -206,7 +216,7 @@ Rectangle {
}
}
appWindow.showStatusMessage(qsTr("Invalid restore height specified. Must be a number."),3);
appWindow.showStatusMessage(qsTr("Invalid restore height specified. Must be a number or a date formatted YYYY-MM-DD"),3);
}
inputDialog.onRejectedCallback = null;
inputDialog.open()