aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2019-12-19 19:30:32 -0500
committerluigi1111 <luigi1111w@gmail.com>2019-12-19 19:30:32 -0500
commit05a0d21f4c72122af2b7c52e01a7bd5679d4bb91 (patch)
tree9f8751aaf710f0531a04cc9cb4f4b3d82dabb2e0
parentd0c2740a519e29e9e3e31b0f2e19e6a41ba45dc1 (diff)
parentcc86795fa34635dd49caeaf83a6b8535820e4ef3 (diff)
downloadmonzero-gui-05a0d21f4c72122af2b7c52e01a7bd5679d4bb91.tar.gz
monzero-gui-05a0d21f4c72122af2b7c52e01a7bd5679d4bb91.tar.xz
monzero-gui-05a0d21f4c72122af2b7c52e01a7bd5679d4bb91.zip
Merge pull request #2590
cc86795 WizardController: always close and re-open newly created wallet (xiphon)
-rw-r--r--main.qml83
-rw-r--r--wizard/WizardController.qml18
2 files changed, 29 insertions, 72 deletions
diff --git a/main.qml b/main.qml
index 7e28a4c6..7b1978a2 100644
--- a/main.qml
+++ b/main.qml
@@ -57,7 +57,6 @@ ApplicationWindow {
property var transaction;
property var transactionDescription;
property var walletPassword
- property bool isNewWallet: false
property int restoreHeight:0
property bool daemonSynced: false
property bool walletSynced: false
@@ -201,8 +200,20 @@ ApplicationWindow {
leftPanel.selectItem(page);
}
+ function openWallet(prevState) {
+ passwordDialog.onAcceptedCallback = function() {
+ walletPassword = passwordDialog.password;
+ initialize();
+ }
+ passwordDialog.onRejectedCallback = function() {
+ if (prevState) {
+ appWindow.viewState = prevState;
+ }
+ };
+ passwordDialog.open(usefulName(walletPath()));
+ }
+
function initialize() {
- appWindow.viewState = "normal";
console.log("initializing..")
// Use stored log level
@@ -238,30 +249,18 @@ ApplicationWindow {
simpleModeConnectionTimer.running = true;
// wallet already opened with wizard, we just need to initialize it
- if (typeof wizard.m_wallet !== 'undefined') {
- console.log("using wizard wallet")
- //Set restoreHeight
- if(persistentSettings.restore_height > 0){
- // We store restore height in own variable for performance reasons.
- restoreHeight = persistentSettings.restore_height
- }
-
- connectWallet(wizard.m_wallet)
+ var wallet_path = walletPath();
+ if(isIOS)
+ wallet_path = moneroAccountsDir + wallet_path;
+ // console.log("opening wallet at: ", wallet_path, "with password: ", appWindow.walletPassword);
+ console.log("opening wallet at: ", wallet_path, ", network type: ", persistentSettings.nettype == NetworkType.MAINNET ? "mainnet" : persistentSettings.nettype == NetworkType.TESTNET ? "testnet" : "stagenet");
- isNewWallet = true
- // We don't need the wizard wallet any more - delete to avoid conflict with daemon adress change
- delete wizard.m_wallet
- } else {
- var wallet_path = walletPath();
- if(isIOS)
- wallet_path = moneroAccountsDir + wallet_path;
- // console.log("opening wallet at: ", wallet_path, "with password: ", appWindow.walletPassword);
- console.log("opening wallet at: ", wallet_path, ", network type: ", persistentSettings.nettype == NetworkType.MAINNET ? "mainnet" : persistentSettings.nettype == NetworkType.TESTNET ? "testnet" : "stagenet");
-
- this.onWalletOpening();
- walletManager.openWalletAsync(wallet_path, walletPassword,
- persistentSettings.nettype, persistentSettings.kdfRounds);
- }
+ this.onWalletOpening();
+ walletManager.openWalletAsync(
+ wallet_path,
+ walletPassword,
+ persistentSettings.nettype,
+ persistentSettings.kdfRounds);
// Hide titlebar based on persistentSettings.customDecorations
titleBar.visible = persistentSettings.customDecorations;
@@ -517,16 +516,6 @@ ApplicationWindow {
walletName = usefulName(wallet.path)
console.log(">>> wallet opened: " + wallet)
if (wallet.status !== Wallet.Status_Ok) {
- passwordDialog.onAcceptedCallback = function() {
- walletPassword = passwordDialog.password;
- appWindow.initialize();
- }
- passwordDialog.onRejectedCallback = function() {
- walletPassword = "";
- //appWindow.enableUI(false)
- wizard.wizardState = "wizardHome";
- rootItem.state = "wizard";
- }
// try to resolve common wallet cache errors automatically
switch (wallet.errorString) {
case "basic_string::_M_replace_aux":
@@ -649,17 +638,6 @@ ApplicationWindow {
// Refresh is succesfull if blockchain height > 1
if (bcHeight > 1){
- // Save new wallet after first refresh
- // Wallet is nomrmally saved to disk on app exit. This prevents rescan from block 0 after app crash
- if(isNewWallet){
- console.log("Saving wallet after first refresh");
- currentWallet.store()
- isNewWallet = false
-
- // Update History
- currentWallet.history.refresh(currentWallet.currentSubaddressAccount);
- }
-
// recovering from seed is finished after first refresh
if(persistentSettings.is_recovering) {
persistentSettings.is_recovering = false
@@ -1329,19 +1307,12 @@ ApplicationWindow {
}
} else console.log("qrScannerEnabled disabled");
+ wizard.wizardState = "wizardHome";
if(!walletsFound()) {
rootItem.state = "wizard"
} else {
rootItem.state = "normal"
- passwordDialog.onAcceptedCallback = function() {
- walletPassword = passwordDialog.password;
- initialize(persistentSettings);
- }
- passwordDialog.onRejectedCallback = function() {
- wizard.wizardState = "wizardHome";
- rootItem.state = "wizard"
- }
- passwordDialog.open(usefulName(walletPath()))
+ openWallet("wizard");
}
checkUpdates();
@@ -1704,7 +1675,7 @@ ApplicationWindow {
anchors.fill: parent
onUseMoneroClicked: {
rootItem.state = "normal";
- appWindow.initialize();
+ appWindow.openWallet("wizard");
}
}
diff --git a/wizard/WizardController.qml b/wizard/WizardController.qml
index 235d0f1f..86364f72 100644
--- a/wizard/WizardController.qml
+++ b/wizard/WizardController.qml
@@ -375,8 +375,7 @@ Rectangle {
// protecting wallet with password
wizardController.m_wallet.setPassword(wizardController.walletOptionsPassword);
- // Store password in session to be able to use password protected functions (e.g show seed)
- appWindow.walletPassword = walletOptionsPassword
+ restart();
// save to persistent settings
persistentSettings.language = wizardController.language_language
@@ -540,20 +539,7 @@ Rectangle {
if(isIOS)
persistentSettings.wallet_path = persistentSettings.wallet_path.replace(moneroAccountsDir, "");
- console.log(moneroAccountsDir);
- console.log(fn);
- console.log(persistentSettings.wallet_path);
-
- passwordDialog.onAcceptedCallback = function() {
- walletPassword = passwordDialog.password;
- appWindow.initialize();
- }
- passwordDialog.onRejectedCallback = function() {
- console.log("Canceled");
- appWindow.viewState = "wizard";
- }
-
- passwordDialog.open(appWindow.usefulName(appWindow.walletPath()));
+ appWindow.openWallet();
}
Component.onCompleted: {