aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/PasswordDialog.qml15
-rw-r--r--main.qml4
-rw-r--r--src/libwalletqt/Wallet.cpp5
-rw-r--r--src/libwalletqt/Wallet.h4
4 files changed, 23 insertions, 5 deletions
diff --git a/components/PasswordDialog.qml b/components/PasswordDialog.qml
index 7d1a5bd6..325bf2b3 100644
--- a/components/PasswordDialog.qml
+++ b/components/PasswordDialog.qml
@@ -40,19 +40,28 @@ Window {
modality: Qt.ApplicationModal
flags: Qt.Window | Qt.FramelessWindowHint
property alias password: passwordInput.text
+ property string walletName
// same signals as Dialog has
signal accepted()
signal rejected()
- function open() {
+ function open(walletName) {
+ root.walletName = walletName ? walletName : ""
show()
}
+ function usefulName(path) {
+ // arbitrary "short enough" limit
+ if (path.length < 32)
+ return path
+ return path.replace(/.*[\/\\]/, '').replace(/\.keys$/, '')
+ }
+
// TODO: implement without hardcoding sizes
width: 480
- height: 200
+ height: walletName ? 240 : 200
ColumnLayout {
id: mainLayout
@@ -65,7 +74,7 @@ Window {
Layout.alignment: Qt.AlignHCenter
Label {
- text: qsTr("Please enter wallet password")
+ text: root.walletName.length > 0 ? qsTr("Please enter wallet password for:<br>") + usefulName(root.walletName) : qsTr("Please enter wallet password")
Layout.alignment: Qt.AlignHCenter
Layout.columnSpan: 2
Layout.fillWidth: true
diff --git a/main.qml b/main.qml
index 5f28e415..031a4b4a 100644
--- a/main.qml
+++ b/main.qml
@@ -240,7 +240,7 @@ ApplicationWindow {
console.log("closing wallet async : " + wallet.address)
walletManager.closeWalletAsync(wallet)
// try to open wallet with password;
- passwordDialog.open();
+ passwordDialog.open(wallet.path);
} else {
// opening with password but password doesn't match
console.error("Error opening wallet with password: ", wallet.errorString);
@@ -252,7 +252,7 @@ ApplicationWindow {
walletManager.closeWalletAsync(wallet);
informationPopup.open()
informationPopup.onCloseCallback = function() {
- passwordDialog.open()
+ passwordDialog.open(wallet.path)
}
}
return;
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index 9170073d..9d814d82 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -112,6 +112,11 @@ QString Wallet::address() const
return QString::fromStdString(m_walletImpl->address());
}
+QString Wallet::path() const
+{
+ return QString::fromStdString(m_walletImpl->path());
+}
+
bool Wallet::store(const QString &path)
{
return m_walletImpl->store(path.toStdString());
diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h
index 14308ce5..492080d4 100644
--- a/src/libwalletqt/Wallet.h
+++ b/src/libwalletqt/Wallet.h
@@ -31,6 +31,7 @@ class Wallet : public QObject
Q_PROPERTY(TransactionHistory * history READ history)
Q_PROPERTY(QString paymentId READ paymentId WRITE setPaymentId)
Q_PROPERTY(TransactionHistorySortFilterModel * historyModel READ historyModel NOTIFY historyModelChanged)
+ Q_PROPERTY(QString path READ path)
public:
@@ -78,6 +79,9 @@ public:
//! returns wallet's public address
QString address() const;
+ //! returns wallet file's path
+ QString path() const;
+
//! saves wallet to the file by given path
//! empty path stores in current location
Q_INVOKABLE bool store(const QString &path = "");