diff --git a/wizard/WizardMain.qml b/wizard/WizardMain.qml index 43200304..543ee14d 100644 --- a/wizard/WizardMain.qml +++ b/wizard/WizardMain.qml @@ -111,10 +111,16 @@ Rectangle { console.log("Here we apply the settings"); // here we need to actually move wallet to the new location + // Remove trailing slash - (default on windows and mac) + if (settings.wallet_path.substring(settings.wallet_path.length -1) === "/"){ + settings.wallet_path = settings.wallet_path.substring(0,settings.wallet_path.length -1) + } + var new_wallet_filename = settings.wallet_path + "/" + settings.account_name + "/" + settings.account_name; + console.log("saving to wizard: "+ new_wallet_filename) // moving wallet files to the new destination, if user changed it if (new_wallet_filename !== settings.wallet_filename) { // using previously saved wallet; diff --git a/wizard/WizardOpenWallet.qml b/wizard/WizardOpenWallet.qml new file mode 100644 index 00000000..b6109f26 --- /dev/null +++ b/wizard/WizardOpenWallet.qml @@ -0,0 +1,147 @@ +// Copyright (c) 2014-2015, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import QtQuick 2.2 +import moneroComponents.WalletManager 1.0 +import moneroComponents.Wallet 1.0 + +import QtQuick.Dialogs 1.2 +import 'utils.js' as Utils + +Item { + opacity: 0 + visible: true + +// Behavior on opacity { +// NumberAnimation { duration: 100; easing.type: Easing.InQuad } +// } + + + // onOpacityChanged: visible = opacity !== 0 + + //! function called each time we display this page + + function onPageOpened(settingsObject) { + checkNextButton() + + fileDialog.open(); + + } + + function onPageClosed(settingsObject) { + settingsObject['account_name'] = "opened wallet"//uiItem.accountNameText + // settingsObject['words'] = uiItem.wordsTexttext + settingsObject['wallet_filename'] = fileDialog.fileUrl + return true; + } + + function checkNextButton() { + // var wordsArray = Utils.lineBreaksToSpaces(uiItem.wordsTextItem.memoText).split(" "); + // wizard.nextButton.enabled = wordsArray.length === 25; + } + + //! function called each time we hide this page + // + + + function createWallet(settingsObject) { + // TODO: create wallet in temporary filename and a) move it to the path specified by user after the final + // page submitted or b) delete it when program closed before reaching final page + + var wallet_filename = oshelper.temporaryFilename(); + if (typeof settingsObject.wallet === 'undefined') { + //var wallet = walletManager.createWallet(wallet_filename, "", settingsObject.language) + var testnet = appWindow.persistentSettings.testnet; + var wallet = walletManager.createWallet(wallet_filename, "", settingsObject.wallet_language, + testnet) + uiItem.wordsTextItem.memoText = wallet.seed + // saving wallet in "global" settings object + // TODO: wallet should have a property pointing to the file where it stored or loaded from + settingsObject.wallet = wallet + } else { + print("wallet already created. we just stepping back"); + } + settingsObject.wallet_filename = wallet_filename + } + + function openWallet(settingsObject){ + + } + + +Rectangle { + border.width: 4 + anchors.fill: parent + clip: true + anchors.top: parent.top + anchors.right: parent.right + anchors.topMargin: 85 + + Text { + visible: true + id: welcomeText + height: 32 + anchors.left: parent.left + anchors.right: parent.right + font.family: "Arial" + font.pixelSize: 28 + //renderType: Text.NativeRendering + color: "#3F3F3F" + wrapMode: Text.Wrap + // hack to implement dynamic translation + // https://wiki.qt.io/How_to_do_dynamic_translation_in_QML + text: qsTr("Welcome") + + } + + FileDialog { + id: fileDialog + title: "Please choose a file" + folder: shortcuts.home + onAccepted: { + console.log("You chose: " + fileDialog.fileUrls) + } + onRejected: { + console.log("Canceled") + Qt.quit() + } + // Component.onCompleted: visible = false + } + } + + +// WizardManageWalletUI { +// id: uiItem +// titleText: qsTr("A new wallet has been created for you") + translationManager.emptyString +// wordsTextTitle: qsTr("This is the 25 word mnemonic for your wallet") + translationManager.emptyString +// wordsTextItem.clipboardButtonVisible: true +// wordsTextItem.tipTextVisible: true +// wordsTextItem.memoTextReadOnly: true +// restoreHeightVisible:false +// } +}