QtPass
2.0.0
Developer documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
qpushbuttonwithclipboard.cpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2016 Anne Jan Brouwer
2
// SPDX-License-Identifier: GPL-3.0-or-later
8
#include "
qpushbuttonwithclipboard.h
"
9
#include <QTimer>
10
#include <utility>
11
12
QPushButtonWithClipboard::QPushButtonWithClipboard
(QString
textToCopy
,
13
QWidget *parent)
14
: QPushButton(parent),
textToCopy
(std::move(
textToCopy
)),
15
iconEdit
(QIcon::fromTheme(
"edit-copy"
, QIcon(
":/icons/edit-copy.svg"
))),
16
iconEditPushed
(
17
QIcon::fromTheme(
"document-new"
, QIcon(
":/icons/document-new.svg"
))) {
18
setIcon(
iconEdit
);
19
// Icon-only: give screen readers and hovering users a name.
20
setToolTip(tr(
"Copy to clipboard"
));
21
setAccessibleName(tr(
"Copy to clipboard"
));
22
setForegroundRole(QPalette::ButtonText);
23
connect(
this
, &QPushButton::clicked,
this
,
24
&
QPushButtonWithClipboard::buttonClicked
);
25
}
26
27
auto
QPushButtonWithClipboard::getTextToCopy
() const -> QString {
28
return
textToCopy
;
29
}
30
31
void
QPushButtonWithClipboard::setTextToCopy
(
const
QString &value) {
32
textToCopy
= value;
33
}
34
35
void
QPushButtonWithClipboard::buttonClicked
(
bool
/*unused*/
) {
36
setIcon(
iconEditPushed
);
37
QTimer::singleShot(500,
this
, &
QPushButtonWithClipboard::changeIconDefault
);
38
emit
clicked
(
textToCopy
);
39
}
40
41
void
QPushButtonWithClipboard::changeIconDefault
() { setIcon(
iconEdit
); }
QPushButtonWithClipboard::clicked
void clicked(const QString &text)
Emitted when the button is activated with the stored text.
QPushButtonWithClipboard::setTextToCopy
void setTextToCopy(const QString &value)
Update the stored text used for copying.
Definition
qpushbuttonwithclipboard.cpp:31
QPushButtonWithClipboard::changeIconDefault
void changeIconDefault()
Restores the default copy icon; fired by a single-shot timer 500 ms after a click.
Definition
qpushbuttonwithclipboard.cpp:41
QPushButtonWithClipboard::buttonClicked
void buttonClicked(bool checked)
Connected to QPushButton::clicked(bool); shows the pushed icon, arms the revert timer and re-emits cl...
Definition
qpushbuttonwithclipboard.cpp:35
QPushButtonWithClipboard::QPushButtonWithClipboard
QPushButtonWithClipboard(QString textToCopy="", QWidget *parent=nullptr)
Construct a QPushButtonWithClipboard with an optional initial text.
Definition
qpushbuttonwithclipboard.cpp:12
QPushButtonWithClipboard::getTextToCopy
auto getTextToCopy() const -> QString
Return the stored text used for copying.
Definition
qpushbuttonwithclipboard.cpp:27
QPushButtonWithClipboard::iconEditPushed
QIcon iconEditPushed
document-new icon flashed for 500 ms after a click.
Definition
qpushbuttonwithclipboard.h:74
QPushButtonWithClipboard::iconEdit
QIcon iconEdit
edit-copy icon shown at rest.
Definition
qpushbuttonwithclipboard.h:72
QPushButtonWithClipboard::textToCopy
QString textToCopy
Text handed to receivers on click; set by the owning panel.
Definition
qpushbuttonwithclipboard.h:70
qpushbuttonwithclipboard.h
Copy-to-clipboard icon button that carries the text of the field it sits next to.
src
qpushbuttonwithclipboard.cpp
Generated by
1.18.0