mirror of
https://github.com/monero-project/monero-gui.git
synced 2025-01-06 01:42:06 +02:00
Refactor wallet password dialog
This commit is contained in:
parent
ac509ed798
commit
cec206ec8d
146
main.qml
146
main.qml
@ -53,7 +53,7 @@ ApplicationWindow {
|
|||||||
property var currentWallet;
|
property var currentWallet;
|
||||||
property var transaction;
|
property var transaction;
|
||||||
property var transactionDescription;
|
property var transactionDescription;
|
||||||
property alias password : passwordDialog.password
|
property var walletPassword
|
||||||
property bool isNewWallet: false
|
property bool isNewWallet: false
|
||||||
property int restoreHeight:0
|
property int restoreHeight:0
|
||||||
property bool daemonSynced: false
|
property bool daemonSynced: false
|
||||||
@ -166,7 +166,7 @@ ApplicationWindow {
|
|||||||
persistentSettings.restore_height = 0
|
persistentSettings.restore_height = 0
|
||||||
restoreHeight = 0;
|
restoreHeight = 0;
|
||||||
persistentSettings.is_recovering = false
|
persistentSettings.is_recovering = false
|
||||||
appWindow.password = ""
|
walletPassword = ""
|
||||||
fileDialog.open();
|
fileDialog.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ ApplicationWindow {
|
|||||||
wallet_path = moneroAccountsDir + wallet_path;
|
wallet_path = moneroAccountsDir + wallet_path;
|
||||||
// console.log("opening wallet at: ", wallet_path, "with password: ", appWindow.password);
|
// console.log("opening wallet at: ", wallet_path, "with password: ", appWindow.password);
|
||||||
console.log("opening wallet at: ", wallet_path, ", testnet: ", persistentSettings.testnet);
|
console.log("opening wallet at: ", wallet_path, ", testnet: ", persistentSettings.testnet);
|
||||||
walletManager.openWalletAsync(wallet_path, appWindow.password,
|
walletManager.openWalletAsync(wallet_path, walletPassword,
|
||||||
persistentSettings.testnet);
|
persistentSettings.testnet);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -338,25 +338,25 @@ ApplicationWindow {
|
|||||||
walletName = usefulName(wallet.path)
|
walletName = usefulName(wallet.path)
|
||||||
console.log(">>> wallet opened: " + wallet)
|
console.log(">>> wallet opened: " + wallet)
|
||||||
if (wallet.status !== Wallet.Status_Ok) {
|
if (wallet.status !== Wallet.Status_Ok) {
|
||||||
if (appWindow.password === '') {
|
passwordDialog.onAcceptedCallback = function() {
|
||||||
console.error("Error opening wallet with empty password: ", wallet.errorString);
|
walletPassword = passwordDialog.password;
|
||||||
console.log("closing wallet async : " + wallet.address)
|
appWindow.initialize();
|
||||||
closeWallet();
|
}
|
||||||
// try to open wallet with password;
|
passwordDialog.onRejectedCallback = function() {
|
||||||
passwordDialog.open(walletName);
|
walletPassword = "";
|
||||||
} else {
|
//appWindow.enableUI(false)
|
||||||
// opening with password but password doesn't match
|
rootItem.state = "wizard";
|
||||||
console.error("Error opening wallet with password: ", wallet.errorString);
|
}
|
||||||
|
// opening with password but password doesn't match
|
||||||
informationPopup.title = qsTr("Error") + translationManager.emptyString;
|
console.error("Error opening wallet with password: ", wallet.errorString);
|
||||||
informationPopup.text = qsTr("Couldn't open wallet: ") + wallet.errorString;
|
informationPopup.title = qsTr("Error") + translationManager.emptyString;
|
||||||
informationPopup.icon = StandardIcon.Critical
|
informationPopup.text = qsTr("Couldn't open wallet: ") + wallet.errorString;
|
||||||
console.log("closing wallet async : " + wallet.address)
|
informationPopup.icon = StandardIcon.Critical
|
||||||
closeWallet();
|
console.log("closing wallet async : " + wallet.address)
|
||||||
informationPopup.open()
|
closeWallet();
|
||||||
informationPopup.onCloseCallback = function() {
|
informationPopup.open()
|
||||||
passwordDialog.open(walletName)
|
informationPopup.onCloseCallback = function() {
|
||||||
}
|
passwordDialog.open(walletName)
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -951,7 +951,14 @@ ApplicationWindow {
|
|||||||
rootItem.state = "wizard"
|
rootItem.state = "wizard"
|
||||||
} else {
|
} else {
|
||||||
rootItem.state = "normal"
|
rootItem.state = "normal"
|
||||||
|
passwordDialog.onAcceptedCallback = function() {
|
||||||
|
walletPassword = passwordDialog.password;
|
||||||
initialize(persistentSettings);
|
initialize(persistentSettings);
|
||||||
|
}
|
||||||
|
passwordDialog.onRejectedCallback = function() {
|
||||||
|
rootItem.state = "wizard"
|
||||||
|
}
|
||||||
|
passwordDialog.open(usefulName(walletPath()))
|
||||||
}
|
}
|
||||||
|
|
||||||
checkUpdates();
|
checkUpdates();
|
||||||
@ -1013,8 +1020,8 @@ ApplicationWindow {
|
|||||||
id: transactionConfirmationPopup
|
id: transactionConfirmationPopup
|
||||||
onAccepted: {
|
onAccepted: {
|
||||||
close();
|
close();
|
||||||
transactionConfirmationPasswordDialog.onAcceptedCallback = function() {
|
passwordDialog.onAcceptedCallback = function() {
|
||||||
if(appWindow.password === transactionConfirmationPasswordDialog.password){
|
if(walletPassword === passwordDialog.password){
|
||||||
// Save transaction to file if view only wallet
|
// Save transaction to file if view only wallet
|
||||||
if(viewOnly) {
|
if(viewOnly) {
|
||||||
saveTxDialog.open();
|
saveTxDialog.open();
|
||||||
@ -1026,15 +1033,12 @@ ApplicationWindow {
|
|||||||
informationPopup.text = qsTr("Wrong password");
|
informationPopup.text = qsTr("Wrong password");
|
||||||
informationPopup.open()
|
informationPopup.open()
|
||||||
informationPopup.onCloseCallback = function() {
|
informationPopup.onCloseCallback = function() {
|
||||||
transactionConfirmationPasswordDialog.open()
|
passwordDialog.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
transactionConfirmationPasswordDialog.password = ""
|
|
||||||
}
|
}
|
||||||
transactionConfirmationPasswordDialog.onRejectedCallback = function() {
|
passwordDialog.onRejectedCallback = null;
|
||||||
transactionConfirmationPasswordDialog.password = ""
|
passwordDialog.open()
|
||||||
}
|
|
||||||
transactionConfirmationPasswordDialog.open()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1072,7 +1076,15 @@ ApplicationWindow {
|
|||||||
console.log(moneroAccountsDir)
|
console.log(moneroAccountsDir)
|
||||||
console.log(fileDialog.fileUrl)
|
console.log(fileDialog.fileUrl)
|
||||||
console.log(persistentSettings.wallet_path)
|
console.log(persistentSettings.wallet_path)
|
||||||
initialize();
|
passwordDialog.onAcceptedCallback = function() {
|
||||||
|
walletPassword = passwordDialog.password;
|
||||||
|
initialize();
|
||||||
|
}
|
||||||
|
passwordDialog.onRejectedCallback = function() {
|
||||||
|
console.log("Canceled")
|
||||||
|
rootItem.state = "wizard";
|
||||||
|
}
|
||||||
|
passwordDialog.open(usefulName(walletPath()));
|
||||||
}
|
}
|
||||||
onRejected: {
|
onRejected: {
|
||||||
console.log("Canceled")
|
console.log("Canceled")
|
||||||
@ -1138,21 +1150,6 @@ ApplicationWindow {
|
|||||||
visible: false
|
visible: false
|
||||||
z: parent.z + 1
|
z: parent.z + 1
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
onAccepted: {
|
|
||||||
appWindow.initialize();
|
|
||||||
}
|
|
||||||
onRejected: {
|
|
||||||
//appWindow.enableUI(false)
|
|
||||||
rootItem.state = "wizard"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
PasswordDialog {
|
|
||||||
id: transactionConfirmationPasswordDialog
|
|
||||||
z: parent.z + 1
|
|
||||||
visible:false
|
|
||||||
anchors.fill: parent
|
|
||||||
property var onAcceptedCallback
|
property var onAcceptedCallback
|
||||||
property var onRejectedCallback
|
property var onRejectedCallback
|
||||||
onAccepted: {
|
onAccepted: {
|
||||||
@ -1165,37 +1162,6 @@ ApplicationWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PasswordDialog {
|
|
||||||
id: settingsPasswordDialog
|
|
||||||
z: parent.z + 1
|
|
||||||
visible:false
|
|
||||||
anchors.fill: parent
|
|
||||||
onAccepted: {
|
|
||||||
if(appWindow.password === settingsPasswordDialog.password){
|
|
||||||
if(currentWallet.seedLanguage == "") {
|
|
||||||
console.log("No seed language set. Using English as default");
|
|
||||||
currentWallet.setSeedLanguage("English");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Load keys page
|
|
||||||
middlePanel.state = "Keys"
|
|
||||||
|
|
||||||
} else {
|
|
||||||
informationPopup.title = qsTr("Error") + translationManager.emptyString;
|
|
||||||
informationPopup.text = qsTr("Wrong password");
|
|
||||||
informationPopup.open()
|
|
||||||
informationPopup.onCloseCallback = function() {
|
|
||||||
settingsPasswordDialog.open()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
settingsPasswordDialog.password = ""
|
|
||||||
}
|
|
||||||
onRejected: {
|
|
||||||
appWindow.showPageRequest("Settings");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
DaemonManagerDialog {
|
DaemonManagerDialog {
|
||||||
id: daemonManagerDialog
|
id: daemonManagerDialog
|
||||||
onRejected: {
|
onRejected: {
|
||||||
@ -1278,7 +1244,31 @@ ApplicationWindow {
|
|||||||
onMiningClicked: { middlePanel.state = "Mining"; if(isMobile) hideMenu(); updateBalance(); }
|
onMiningClicked: { middlePanel.state = "Mining"; if(isMobile) hideMenu(); updateBalance(); }
|
||||||
onSignClicked: { middlePanel.state = "Sign"; if(isMobile) hideMenu(); updateBalance(); }
|
onSignClicked: { middlePanel.state = "Sign"; if(isMobile) hideMenu(); updateBalance(); }
|
||||||
onSettingsClicked: { middlePanel.state = "Settings"; if(isMobile) hideMenu(); updateBalance(); }
|
onSettingsClicked: { middlePanel.state = "Settings"; if(isMobile) hideMenu(); updateBalance(); }
|
||||||
onKeysClicked: { settingsPasswordDialog.open(); if(isMobile) hideMenu(); updateBalance(); }
|
onKeysClicked: {
|
||||||
|
passwordDialog.onAcceptedCallback = function() {
|
||||||
|
if(walletPassword === passwordDialog.password){
|
||||||
|
if(currentWallet.seedLanguage == "") {
|
||||||
|
console.log("No seed language set. Using English as default");
|
||||||
|
currentWallet.setSeedLanguage("English");
|
||||||
|
}
|
||||||
|
// Load keys page
|
||||||
|
middlePanel.state = "Keys"
|
||||||
|
} else {
|
||||||
|
informationPopup.title = qsTr("Error") + translationManager.emptyString;
|
||||||
|
informationPopup.text = qsTr("Wrong password");
|
||||||
|
informationPopup.open()
|
||||||
|
informationPopup.onCloseCallback = function() {
|
||||||
|
passwordDialog.open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
passwordDialog.onRejectedCallback = function() {
|
||||||
|
appWindow.showPageRequest("Settings");
|
||||||
|
}
|
||||||
|
passwordDialog.open();
|
||||||
|
if(isMobile) hideMenu();
|
||||||
|
updateBalance();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RightPanel {
|
RightPanel {
|
||||||
|
@ -226,7 +226,7 @@ ColumnLayout {
|
|||||||
m_wallet.setPassword(settings.wallet_password);
|
m_wallet.setPassword(settings.wallet_password);
|
||||||
|
|
||||||
// Store password in session to be able to use password protected functions (e.g show seed)
|
// Store password in session to be able to use password protected functions (e.g show seed)
|
||||||
appWindow.password = settings.wallet_password
|
appWindow.walletPassword = settings.wallet_password
|
||||||
|
|
||||||
// saving wallet_filename;
|
// saving wallet_filename;
|
||||||
settings['wallet_filename'] = new_wallet_filename;
|
settings['wallet_filename'] = new_wallet_filename;
|
||||||
|
Loading…
Reference in New Issue
Block a user