diff --git a/pages/settings/SettingsInfo.qml b/pages/settings/SettingsInfo.qml
index e8f1b08a..4e98463a 100644
--- a/pages/settings/SettingsInfo.qml
+++ b/pages/settings/SettingsInfo.qml
@@ -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: ""
text: (currentWallet ? currentWallet.walletCreationHeight : "") + style + qsTr(" (Click to change)") + 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()