Line data Source code
1 : // SPDX-FileCopyrightText: 2016 Anne Jan Brouwer
2 : // SPDX-License-Identifier: GPL-3.0-or-later
3 : #include "qpushbuttonasqrcode.h"
4 : #include <QTimer>
5 : #include <utility>
6 :
7 : /**
8 : * @brief QPushButtonAsQRCode::QPushButtonAsQRCode
9 : * basic constructor
10 : * @param textToCopy
11 : * the text to display as qrcode
12 : * @param parent
13 : * the parent window
14 : */
15 0 : QPushButtonAsQRCode::QPushButtonAsQRCode(QString textToCopy, QWidget *parent)
16 : : QPushButton(parent), textToCopy(std::move(textToCopy)),
17 0 : iconEdit(QIcon::fromTheme("qrcode", QIcon(":/icons/qrcode.svg"))) {
18 0 : setIcon(iconEdit);
19 0 : connect(this, &QPushButton::clicked, this,
20 0 : &QPushButtonAsQRCode::buttonClicked);
21 0 : }
22 :
23 : /**
24 : * @brief QPushButtonAsQRCode::getTextToCopy returns the text of
25 : * associated text field
26 : * @return QString textToCopy
27 : */
28 0 : auto QPushButtonAsQRCode::getTextToCopy() const -> QString {
29 0 : return textToCopy;
30 : }
31 :
32 : /**
33 : * @brief QPushButtonAsQRCode::setTextToCopy sets text from associated
34 : * text field
35 : * @param value QString text to be copied
36 : */
37 0 : void QPushButtonAsQRCode::setTextToCopy(const QString &value) {
38 0 : textToCopy = value;
39 0 : }
40 :
41 : /**
42 : * @brief QPushButtonAsQRCode::buttonClicked handles clicked event by
43 : * emitting clicked(QString) with string provided to constructor
44 : */
45 0 : void QPushButtonAsQRCode::buttonClicked(bool /*unused*/) {
46 0 : emit clicked(textToCopy);
47 0 : }
48 :
49 : /**
50 : * @brief QPushButtonAsQRCode::changeIconDefault change the icon back to
51 : * the default copy icon
52 : */
53 0 : void QPushButtonAsQRCode::changeIconDefault() { this->setIcon(iconEdit); }
|