aboutsummaryrefslogtreecommitdiff
path: root/src/QR-Code-scanner/QrCodeScanner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/QR-Code-scanner/QrCodeScanner.cpp')
-rw-r--r--src/QR-Code-scanner/QrCodeScanner.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/QR-Code-scanner/QrCodeScanner.cpp b/src/QR-Code-scanner/QrCodeScanner.cpp
index 1129e986..62c639f9 100644
--- a/src/QR-Code-scanner/QrCodeScanner.cpp
+++ b/src/QR-Code-scanner/QrCodeScanner.cpp
@@ -61,15 +61,23 @@ void QrCodeScanner::processCode(int type, const QString &data)
emit notifyError(error);
return;
}
+ QVariantMap parsed_unknown_parameters;
if(unknown_parameters.size() > 0)
{
qDebug() << "unknown parameters " << unknown_parameters;
+ foreach(const QString &item, unknown_parameters )
+ {
+ QStringList parsed_item = item.split("=");
+ if(parsed_item.size() == 2) {
+ parsed_unknown_parameters.insert(parsed_item[0], parsed_item[1]);
+ }
+ }
emit notifyError(error, true);
}
qDebug() << "Parsed URI : " << address << " " << payment_id << " " << amount << " " << tx_description << " " << recipient_name << " " << error;
QString s_amount = WalletManager::instance()->displayAmount(amount);
qDebug() << "Amount passed " << s_amount ;
- emit decoded(address, payment_id, s_amount, tx_description, recipient_name);
+ emit decoded(address, payment_id, s_amount, tx_description, recipient_name, parsed_unknown_parameters);
}
void QrCodeScanner::processFrame(QVideoFrame frame)
{
@@ -102,3 +110,15 @@ void QrCodeScanner::timerEvent(QTimerEvent *event)
}
}
+QrCodeScanner::~QrCodeScanner()
+{
+ m_thread->stop();
+ m_thread->quit();
+ if(!m_thread->wait(5000))
+ {
+ m_thread->terminate();
+ m_thread->wait();
+ }
+
+}
+