diff options
Diffstat (limited to 'src/gui/Clipboard.cpp')
-rw-r--r-- | src/gui/Clipboard.cpp | 10 |
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(); |