aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2018-12-01 14:03:51 -0600
committerluigi1111 <luigi1111w@gmail.com>2018-12-01 14:03:51 -0600
commit72808de1ad3b8b8e9fd5a397e2b615e49af4b202 (patch)
tree7963b2ab51c76de68674fdc6ad48b60959f6ef07 /src
parent6182d85f7ea2d36c8b6b29cf88465b8387671a91 (diff)
parent02134c4fc664334be07036d7511c89382376e480 (diff)
downloadmonzero-gui-72808de1ad3b8b8e9fd5a397e2b615e49af4b202.tar.gz
monzero-gui-72808de1ad3b8b8e9fd5a397e2b615e49af4b202.tar.xz
monzero-gui-72808de1ad3b8b8e9fd5a397e2b615e49af4b202.zip
Merge pull request #1768
02134c4 transfer: paste Payment URL to fill the payment form fields (xiphon)
Diffstat (limited to 'src')
-rw-r--r--src/libwalletqt/WalletManager.cpp26
-rw-r--r--src/libwalletqt/WalletManager.h4
2 files changed, 28 insertions, 2 deletions
diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp
index eddc70ae..f5f0121f 100644
--- a/src/libwalletqt/WalletManager.cpp
+++ b/src/libwalletqt/WalletManager.cpp
@@ -296,13 +296,37 @@ QString WalletManager::resolveOpenAlias(const QString &address) const
res = std::string(dnssec_valid ? "true" : "false") + "|" + res;
return QString::fromStdString(res);
}
-bool WalletManager::parse_uri(const QString &uri, QString &address, QString &payment_id, uint64_t &amount, QString &tx_description, QString &recipient_name, QVector<QString> &unknown_parameters, QString &error)
+bool WalletManager::parse_uri(const QString &uri, QString &address, QString &payment_id, uint64_t &amount, QString &tx_description, QString &recipient_name, QVector<QString> &unknown_parameters, QString &error) const
{
if (m_currentWallet)
return m_currentWallet->parse_uri(uri, address, payment_id, amount, tx_description, recipient_name, unknown_parameters, error);
return false;
}
+QVariantMap WalletManager::parse_uri_to_object(const QString &uri) const
+{
+ QString address;
+ QString payment_id;
+ uint64_t amount;
+ QString tx_description;
+ QString recipient_name;
+ QVector<QString> unknown_parameters;
+ QString error;
+
+ QVariantMap result;
+ if (this->parse_uri(uri, address, payment_id, amount, tx_description, recipient_name, unknown_parameters, error)) {
+ result.insert("address", address);
+ result.insert("payment_id", payment_id);
+ result.insert("amount", this->displayAmount(amount));
+ result.insert("tx_description", tx_description);
+ result.insert("recipient_name", recipient_name);
+ } else {
+ result.insert("error", error);
+ }
+
+ return result;
+}
+
void WalletManager::setLogLevel(int logLevel)
{
Monero::WalletManagerFactory::setLogLevel(logLevel);
diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h
index c16fd095..5cefde41 100644
--- a/src/libwalletqt/WalletManager.h
+++ b/src/libwalletqt/WalletManager.h
@@ -1,6 +1,7 @@
#ifndef WALLETMANAGER_H
#define WALLETMANAGER_H
+#include <QVariant>
#include <QObject>
#include <QUrl>
#include <wallet/api/wallet2_api.h>
@@ -142,7 +143,8 @@ public:
#endif
Q_INVOKABLE QString resolveOpenAlias(const QString &address) const;
- Q_INVOKABLE bool parse_uri(const QString &uri, QString &address, QString &payment_id, uint64_t &amount, QString &tx_description, QString &recipient_name, QVector<QString> &unknown_parameters, QString &error);
+ Q_INVOKABLE bool parse_uri(const QString &uri, QString &address, QString &payment_id, uint64_t &amount, QString &tx_description, QString &recipient_name, QVector<QString> &unknown_parameters, QString &error) const;
+ Q_INVOKABLE QVariantMap parse_uri_to_object(const QString &uri) const;
Q_INVOKABLE bool saveQrCode(const QString &, const QString &) const;
Q_INVOKABLE void checkUpdatesAsync(const QString &software, const QString &subdir) const;
Q_INVOKABLE QString checkUpdates(const QString &software, const QString &subdir) const;