aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt/WalletManager.cpp
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2018-11-30 03:51:03 +0000
committerxiphon <xiphon@protonmail.com>2018-11-30 03:51:03 +0000
commit02134c4fc664334be07036d7511c89382376e480 (patch)
treee32421bcf3eed94a4c7f1e28e5fb09fbafb7236e /src/libwalletqt/WalletManager.cpp
parent45781ab4a173fe0a747ed72140e10d18765b007e (diff)
downloadmonzero-gui-02134c4fc664334be07036d7511c89382376e480.tar.gz
monzero-gui-02134c4fc664334be07036d7511c89382376e480.tar.xz
monzero-gui-02134c4fc664334be07036d7511c89382376e480.zip
transfer: paste Payment URL to fill the payment form fields
Diffstat (limited to 'src/libwalletqt/WalletManager.cpp')
-rw-r--r--src/libwalletqt/WalletManager.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp
index 355527ad..777cdef7 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);