aboutsummaryrefslogtreecommitdiff
path: root/src/qt/qrimagewidget.h
diff options
context:
space:
mode:
authorLuke Dashjr <luke-jr+git@utopios.org>2019-05-01 05:18:54 +0000
committerLuke Dashjr <luke-jr+git@utopios.org>2019-05-02 12:18:18 +0000
commitfc929842c20ac81869a33edce765e389a46e6c0c (patch)
tree2f0fb72ba45df61593e4917e67188240ff8ea2e1 /src/qt/qrimagewidget.h
parent77851ab682bf94f78874a245919bcc4b79dc054e (diff)
downloadbitcoin-fc929842c20ac81869a33edce765e389a46e6c0c.tar.xz
GUI: Move QRImageWidget to its own file-pair
Diffstat (limited to 'src/qt/qrimagewidget.h')
-rw-r--r--src/qt/qrimagewidget.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/qt/qrimagewidget.h b/src/qt/qrimagewidget.h
new file mode 100644
index 0000000000..2a219ac101
--- /dev/null
+++ b/src/qt/qrimagewidget.h
@@ -0,0 +1,45 @@
+// Copyright (c) 2011-2018 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#ifndef BITCOIN_QT_QRIMAGEWIDGET_H
+#define BITCOIN_QT_QRIMAGEWIDGET_H
+
+#include <QImage>
+#include <QLabel>
+
+/* Maximum allowed URI length */
+static const int MAX_URI_LENGTH = 255;
+
+/* Size of exported QR Code image */
+static const int QR_IMAGE_SIZE = 300;
+
+QT_BEGIN_NAMESPACE
+class QMenu;
+QT_END_NAMESPACE
+
+/* Label widget for QR code. This image can be dragged, dropped, copied and saved
+ * to disk.
+ */
+class QRImageWidget : public QLabel
+{
+ Q_OBJECT
+
+public:
+ explicit QRImageWidget(QWidget *parent = nullptr);
+ bool setQR(const QString& data, const QString& text = "");
+ QImage exportImage();
+
+public Q_SLOTS:
+ void saveImage();
+ void copyImage();
+
+protected:
+ virtual void mousePressEvent(QMouseEvent *event);
+ virtual void contextMenuEvent(QContextMenuEvent *event);
+
+private:
+ QMenu *contextMenu;
+};
+
+#endif // BITCOIN_QT_QRIMAGEWIDGET_H