diff options
| author | Riccardo Spagni <ric@spagni.net> | 2017-01-23 08:05:22 -0500 |
|---|---|---|
| committer | Riccardo Spagni <ric@spagni.net> | 2017-01-23 08:05:22 -0500 |
| commit | d4a40499ac85bc0d2c25823c1695030bff6898a8 (patch) | |
| tree | 6e4e545010f271e13c6a773b08b080d336b8d468 /src | |
| parent | ecd6c7a0ae171f0f87a612aca4fca5fc89eac8e4 (diff) | |
| parent | 1d7a1f6d53ffebf7b24b7e58860461db0a64f95d (diff) | |
| download | monzero-gui-d4a40499ac85bc0d2c25823c1695030bff6898a8.tar.gz monzero-gui-d4a40499ac85bc0d2c25823c1695030bff6898a8.tar.xz monzero-gui-d4a40499ac85bc0d2c25823c1695030bff6898a8.zip | |
Merge pull request #427
1d7a1f6 save qrcode to file (MoroccanMalinois)
Diffstat (limited to 'src')
| -rw-r--r-- | src/libwalletqt/QRCodeImageProvider.cpp | 7 | ||||
| -rw-r--r-- | src/libwalletqt/QRCodeImageProvider.h | 1 | ||||
| -rw-r--r-- | src/libwalletqt/WalletManager.cpp | 8 | ||||
| -rw-r--r-- | src/libwalletqt/WalletManager.h | 1 |
4 files changed, 16 insertions, 1 deletions
diff --git a/src/libwalletqt/QRCodeImageProvider.cpp b/src/libwalletqt/QRCodeImageProvider.cpp index ad07897f..6d99b35c 100644 --- a/src/libwalletqt/QRCodeImageProvider.cpp +++ b/src/libwalletqt/QRCodeImageProvider.cpp @@ -2,7 +2,7 @@ #include "QRCodeImageProvider.h" -QImage QRCodeImageProvider::requestImage(const QString &id, QSize *size, const QSize &requestedSize) +QImage QRCodeImageProvider::genQrImage(const QString &id, QSize *size) { using namespace qrcodegen; @@ -15,3 +15,8 @@ QImage QRCodeImageProvider::requestImage(const QString &id, QSize *size, const Q *size = QSize(qrcode.size, qrcode.size); return img; } + +QImage QRCodeImageProvider::requestImage(const QString &id, QSize *size, const QSize &/* requestedSize */) +{ + return genQrImage(id, size); +} diff --git a/src/libwalletqt/QRCodeImageProvider.h b/src/libwalletqt/QRCodeImageProvider.h index 930b731a..b040bfe0 100644 --- a/src/libwalletqt/QRCodeImageProvider.h +++ b/src/libwalletqt/QRCodeImageProvider.h @@ -7,5 +7,6 @@ public: QRCodeImageProvider(): QQuickImageProvider(QQuickImageProvider::Image) {} QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize); + static QImage genQrImage(const QString &id, QSize *size); }; diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index fa06edd3..45aff22e 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -2,6 +2,7 @@ #include "Wallet.h" #include "wallet/wallet2_api.h" #include "zxcvbn-c/zxcvbn.h" +#include "QRCodeImageProvider.h" #include <QFile> #include <QFileInfo> #include <QDir> @@ -291,6 +292,13 @@ double WalletManager::getPasswordStrength(const QString &password) const return e; } +bool WalletManager::saveQrCode(const QString &code, const QString &path) const +{ + QSize size; + // 240 <=> mainLayout.qrCodeSize (Receive.qml) + return QRCodeImageProvider::genQrImage(code, &size).scaled(size.expandedTo(QSize(240, 240)), Qt::KeepAspectRatio).save(path, "PNG", 100); +} + WalletManager::WalletManager(QObject *parent) : QObject(parent) { m_pimpl = Monero::WalletManagerFactory::getWalletManager(); diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h index 5b8adf5a..20d2bec7 100644 --- a/src/libwalletqt/WalletManager.h +++ b/src/libwalletqt/WalletManager.h @@ -123,6 +123,7 @@ public: 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 saveQrCode(const QString &, const QString &) const; signals: |
