Bitcoin Core  0.18.99
P2P Digital Currency
qrimagewidget.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2018 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_QT_QRIMAGEWIDGET_H
6 #define BITCOIN_QT_QRIMAGEWIDGET_H
7 
8 #include <QImage>
9 #include <QLabel>
10 
11 /* Maximum allowed URI length */
12 static const int MAX_URI_LENGTH = 255;
13 
14 /* Size of exported QR Code image */
15 static const int QR_IMAGE_SIZE = 300;
16 
17 QT_BEGIN_NAMESPACE
18 class QMenu;
19 QT_END_NAMESPACE
20 
21 /* Label widget for QR code. This image can be dragged, dropped, copied and saved
22  * to disk.
23  */
24 class QRImageWidget : public QLabel
25 {
26  Q_OBJECT
27 
28 public:
29  explicit QRImageWidget(QWidget *parent = nullptr);
30  bool setQR(const QString& data, const QString& text = "");
31  QImage exportImage();
32 
33 public Q_SLOTS:
34  void saveImage();
35  void copyImage();
36 
37 protected:
38  virtual void mousePressEvent(QMouseEvent *event);
39  virtual void contextMenuEvent(QContextMenuEvent *event);
40 
41 private:
42  QMenu *contextMenu;
43 };
44 
45 #endif // BITCOIN_QT_QRIMAGEWIDGET_H
QRImageWidget(QWidget *parent=nullptr)
static const int QR_IMAGE_SIZE
Definition: qrimagewidget.h:15
static const int MAX_URI_LENGTH
Definition: qrimagewidget.h:12
QMenu * contextMenu
Definition: qrimagewidget.h:42
virtual void contextMenuEvent(QContextMenuEvent *event)
virtual void mousePressEvent(QMouseEvent *event)
bool setQR(const QString &data, const QString &text="")
QImage exportImage()