Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/Clipboard.cpp')
-rw-r--r--src/gui/Clipboard.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gui/Clipboard.cpp b/src/gui/Clipboard.cpp
index bf4db8ff5..78bad2731 100644
--- a/src/gui/Clipboard.cpp
+++ b/src/gui/Clipboard.cpp
@@ -28,6 +28,9 @@ Clipboard* Clipboard::m_instance(nullptr);
Clipboard::Clipboard(QObject* parent)
: QObject(parent)
, m_timer(new QTimer(this))
+#ifdef Q_OS_MAC
+ , m_pasteboard(new MacPasteboard)
+#endif
{
m_timer->setSingleShot(true);
connect(m_timer, SIGNAL(timeout()), SLOT(clearClipboard()));
@@ -38,10 +41,17 @@ void Clipboard::setText(const QString& text)
{
QClipboard* clipboard = QApplication::clipboard();
+#ifdef Q_OS_MAC
+ QMimeData* mime = new QMimeData;
+ mime->setText(text);
+ mime->setData("application/x-nspasteboard-concealed-type", text.toUtf8());
+ clipboard->setMimeData(mime, QClipboard::Clipboard);
+#else
clipboard->setText(text, QClipboard::Clipboard);
if (clipboard->supportsSelection()) {
clipboard->setText(text, QClipboard::Selection);
}
+#endif
if (config()->get("security/clearclipboard").toBool()) {
int timeout = config()->get("security/clearclipboardtimeout").toInt();