git / moonbite-core / src/qt/qrimagewidget.h · raw

// Copyright (c) 2011-2019 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 constexpr int QR_IMAGE_SIZE = 300;static constexpr int QR_IMAGE_TEXT_MARGIN = 10;static constexpr int QR_IMAGE_MARGIN = 2 * QR_IMAGE_TEXT_MARGIN;QT_BEGIN_NAMESPACEclass 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_OBJECTpublic:    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) override;    virtual void contextMenuEvent(QContextMenuEvent *event) override;private:    QMenu *contextMenu;};#endif // BITCOIN_QT_QRIMAGEWIDGET_H