mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-11-17 08:17:59 +00:00
ask user for the password if wallet is password-protected
This commit is contained in:
parent
fc7a7ddf25
commit
6f1343aaa0
5 changed files with 49 additions and 41 deletions
5
components/PasswordDialog.qml
Normal file
5
components/PasswordDialog.qml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
import QtQuick 2.0
|
||||||
|
|
||||||
|
Item {
|
||||||
|
|
||||||
|
}
|
40
main.qml
40
main.qml
|
@ -139,19 +139,18 @@ ApplicationWindow {
|
||||||
if (typeof wizard.settings['wallet'] !== 'undefined') {
|
if (typeof wizard.settings['wallet'] !== 'undefined') {
|
||||||
wallet = wizard.settings['wallet'];
|
wallet = wizard.settings['wallet'];
|
||||||
} else {
|
} else {
|
||||||
var wallet_path = persistentSettings.wallet_path + "/" + persistentSettings.account_name + "/"
|
var wallet_path = walletPath();
|
||||||
+ persistentSettings.account_name;
|
|
||||||
console.log("opening wallet at: ", wallet_path);
|
console.log("opening wallet at: ", wallet_path);
|
||||||
// TODO: wallet password dialog
|
// TODO: wallet password dialog
|
||||||
wallet = walletManager.openWallet(wallet_path, "", persistentSettings.testnet);
|
wallet = walletManager.openWallet(wallet_path, "", persistentSettings.testnet);
|
||||||
|
|
||||||
|
|
||||||
if (wallet.status !== Wallet.Status_Ok) {
|
if (wallet.status !== Wallet.Status_Ok) {
|
||||||
console.log("Error opening wallet: ", wallet.errorString);
|
console.error("Error opening wallet with empty password: ", wallet.errorString);
|
||||||
informationPopup.title = qsTr("Error") + translationManager.emptyString;
|
|
||||||
informationPopup.text = qsTr("Couldn't open wallet: ") + wallet.errorString;
|
// try to open wallet with password;
|
||||||
informationPopup.icon = StandardIcon.Critical
|
passwordDialog.open();
|
||||||
informationPopup.open()
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("Wallet opened successfully: ", wallet.errorString);
|
console.log("Wallet opened successfully: ", wallet.errorString);
|
||||||
|
@ -165,6 +164,13 @@ ApplicationWindow {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function walletPath() {
|
||||||
|
var wallet_path = persistentSettings.wallet_path + "/" + persistentSettings.account_name + "/"
|
||||||
|
+ persistentSettings.account_name;
|
||||||
|
return wallet_path;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function onWalletUpdate() {
|
function onWalletUpdate() {
|
||||||
console.log(">>> wallet updated")
|
console.log(">>> wallet updated")
|
||||||
basicPanel.unlockedBalanceText = leftPanel.unlockedBalanceText = walletManager.displayAmount(wallet.unlockedBalance);
|
basicPanel.unlockedBalanceText = leftPanel.unlockedBalanceText = walletManager.displayAmount(wallet.unlockedBalance);
|
||||||
|
@ -291,6 +297,7 @@ ApplicationWindow {
|
||||||
// Information dialog
|
// Information dialog
|
||||||
MessageDialog {
|
MessageDialog {
|
||||||
id: informationPopup
|
id: informationPopup
|
||||||
|
|
||||||
standardButtons: StandardButton.Ok
|
standardButtons: StandardButton.Ok
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -303,6 +310,25 @@ ApplicationWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PasswordDialog {
|
||||||
|
id: passwordDialog
|
||||||
|
standardButtons: StandardButton.Ok + StandardButton.Cancel
|
||||||
|
onAccepted: {
|
||||||
|
|
||||||
|
var wallet_path = walletPath();
|
||||||
|
console.log("opening wallet with password: ", wallet_path);
|
||||||
|
wallet = walletManager.openWallet(wallet_path, password, persistentSettings.testnet);
|
||||||
|
if (wallet.status !== Wallet.Status_Ok) {
|
||||||
|
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
|
||||||
|
informationPopup.open()
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Window {
|
Window {
|
||||||
id: walletInitializationSplash
|
id: walletInitializationSplash
|
||||||
modality: Qt.ApplicationModal
|
modality: Qt.ApplicationModal
|
||||||
|
|
|
@ -155,6 +155,8 @@ langrel.CONFIG += no_link
|
||||||
|
|
||||||
QMAKE_EXTRA_TARGETS += langupd deploy deploy_win
|
QMAKE_EXTRA_TARGETS += langupd deploy deploy_win
|
||||||
QMAKE_EXTRA_COMPILERS += langrel
|
QMAKE_EXTRA_COMPILERS += langrel
|
||||||
|
|
||||||
|
|
||||||
PRE_TARGETDEPS += langupd compiler_langrel_make_all
|
PRE_TARGETDEPS += langupd compiler_langrel_make_all
|
||||||
|
|
||||||
RESOURCES += qml.qrc
|
RESOURCES += qml.qrc
|
||||||
|
@ -180,7 +182,8 @@ OTHER_FILES += \
|
||||||
$$TRANSLATIONS
|
$$TRANSLATIONS
|
||||||
|
|
||||||
DISTFILES += \
|
DISTFILES += \
|
||||||
notes.txt
|
notes.txt \
|
||||||
|
components/PasswordDialog.qml
|
||||||
|
|
||||||
# windows application icon
|
# windows application icon
|
||||||
RC_FILE = monero-core.rc
|
RC_FILE = monero-core.rc
|
||||||
|
|
1
qml.qrc
1
qml.qrc
|
@ -114,5 +114,6 @@
|
||||||
<file>pages/Receive.qml</file>
|
<file>pages/Receive.qml</file>
|
||||||
<file>components/IconButton.qml</file>
|
<file>components/IconButton.qml</file>
|
||||||
<file>lang/flags/italy.png</file>
|
<file>lang/flags/italy.png</file>
|
||||||
|
<file>components/PasswordDialog.qml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
@ -78,24 +78,6 @@ Rectangle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: remove it
|
|
||||||
function handlePageChanged() {
|
|
||||||
|
|
||||||
// switch (pages[currentPage]) {
|
|
||||||
//// case finishPage:
|
|
||||||
//// // display settings summary
|
|
||||||
//// finishPage.updateSettingsSummary();
|
|
||||||
//// nextButton.visible = false;
|
|
||||||
//// break;
|
|
||||||
// case recoveryWalletPage:
|
|
||||||
// // disable "next button" until 25 words private key entered
|
|
||||||
// nextButton.enabled = false
|
|
||||||
// break
|
|
||||||
// default:
|
|
||||||
// nextButton.enabled = true
|
|
||||||
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function openCreateWalletPage() {
|
function openCreateWalletPage() {
|
||||||
|
@ -126,10 +108,9 @@ Rectangle {
|
||||||
|
|
||||||
//! actually writes the wallet
|
//! actually writes the wallet
|
||||||
function applySettings() {
|
function applySettings() {
|
||||||
print ("Here we apply the settings");
|
console.log("Here we apply the settings");
|
||||||
// here we need to actually move wallet to the new location
|
// here we need to actually move wallet to the new location
|
||||||
// put wallet files to the subdirectory with the same name as
|
|
||||||
// wallet name
|
|
||||||
var new_wallet_filename = settings.wallet_path + "/"
|
var new_wallet_filename = settings.wallet_path + "/"
|
||||||
+ settings.account_name + "/"
|
+ settings.account_name + "/"
|
||||||
+ settings.account_name;
|
+ settings.account_name;
|
||||||
|
@ -138,9 +119,12 @@ Rectangle {
|
||||||
if (new_wallet_filename !== settings.wallet_filename) {
|
if (new_wallet_filename !== settings.wallet_filename) {
|
||||||
// using previously saved wallet;
|
// using previously saved wallet;
|
||||||
settings.wallet.store(new_wallet_filename);
|
settings.wallet.store(new_wallet_filename);
|
||||||
//walletManager.moveWallet(settingsObject.wallet_filename, new_wallet_filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// protecting wallet with password
|
||||||
|
console.log("Protecting wallet with password: " + settings.wallet_password)
|
||||||
|
settings.wallet.setPassword(settings.wallet_password);
|
||||||
|
|
||||||
// saving wallet_filename;
|
// saving wallet_filename;
|
||||||
settings['wallet_filename'] = new_wallet_filename;
|
settings['wallet_filename'] = new_wallet_filename;
|
||||||
|
|
||||||
|
@ -163,17 +147,6 @@ Rectangle {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Settings {
|
|
||||||
// id: persistentSettings
|
|
||||||
|
|
||||||
// property string language
|
|
||||||
// property string account_name
|
|
||||||
// property string wallet_path
|
|
||||||
// property bool auto_donations_enabled : true
|
|
||||||
// property int auto_donations_amount : 50
|
|
||||||
// property bool allow_background_mining : true
|
|
||||||
// }
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: nextButton
|
id: nextButton
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
|
Loading…
Reference in a new issue