password dialog: show error in place

pull/2/head
xiphon 6 years ago
parent 3aa6da058a
commit 39855241fc

@ -42,15 +42,17 @@ Item {
property alias password: passwordInput.text
property string walletName
property string errorText
// same signals as Dialog has
signal accepted()
signal rejected()
signal closeCallback()
function open(walletName) {
function open(walletName, errorText) {
inactiveOverlay.visible = true // draw appwindow inactive
root.walletName = walletName ? walletName : ""
root.errorText = errorText ? errorText : "";
leftPanel.enabled = false
middlePanel.enabled = false
titleBar.enabled = false
@ -60,6 +62,10 @@ Item {
passwordInput.text = ""
}
function showError(errorText) {
open(root.walletName, errorText);
}
function close() {
inactiveOverlay.visible = false
leftPanel.enabled = true
@ -93,6 +99,18 @@ Item {
color: MoneroComponents.Style.defaultFontColor
}
Label {
text: root.errorText
visible: root.errorText
anchors.left: parent.left
color: MoneroComponents.Style.errorColor
font.pixelSize: 16 * scaleRatio
font.family: MoneroComponents.Style.fontLight.name
Layout.fillWidth: true
wrapMode: Text.Wrap
}
TextField {
id : passwordInput
Layout.topMargin: 6

@ -12,6 +12,7 @@ QtObject {
property string defaultFontColor: "white"
property string dimmedFontColor: "#BBBBBB"
property string errorColor: "#FA6800"
property string inputBoxBackground: "black"
property string inputBoxBackgroundError: "#FFDDDD"
property string inputBoxColor: "white"

@ -39,12 +39,7 @@ function showSeedPage() {
// Load keys page
appWindow.showPageRequest("Keys");
} else {
informationPopup.title = qsTr("Error") + translationManager.emptyString;
informationPopup.text = qsTr("Wrong password");
informationPopup.open()
informationPopup.onCloseCallback = function() {
passwordDialog.open()
}
passwordDialog.showError(qsTr("Wrong password"));
}
}
passwordDialog.onRejectedCallback = function() {

@ -397,15 +397,9 @@ ApplicationWindow {
}
// opening with password but password doesn't match
console.error("Error opening wallet with password: ", wallet.errorString);
informationPopup.title = qsTr("Error") + translationManager.emptyString;
informationPopup.text = qsTr("Couldn't open wallet: ") + wallet.errorString;
informationPopup.icon = StandardIcon.Critical
passwordDialog.showError(qsTr("Couldn't open wallet: ") + wallet.errorString);
console.log("closing wallet async : " + wallet.address)
closeWallet();
informationPopup.open()
informationPopup.onCloseCallback = function() {
passwordDialog.open(walletName)
}
return;
}
@ -1064,12 +1058,7 @@ ApplicationWindow {
handleTransactionConfirmed()
}
} else {
informationPopup.title = qsTr("Error") + translationManager.emptyString;
informationPopup.text = qsTr("Wrong password");
informationPopup.open()
informationPopup.onCloseCallback = function() {
passwordDialog.open()
}
passwordDialog.showError(qsTr("Wrong password"));
}
}
passwordDialog.onRejectedCallback = null;