Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qplatformclipboard.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
5
6#ifndef QT_NO_CLIPBOARD
7
8#include <QtGui/private/qguiapplication_p.h>
9#include <QtCore/qmimedata.h>
10
12
14{
15public:
18
19 void setSource(QMimeData* s)
20 {
21 if (s == src)
22 return;
23 delete src;
24 src = s;
25 }
27 { return src; }
28
29private:
30 QMimeData* src;
31};
32
34{
35 src = nullptr;
36}
37
39{
40 delete src;
41}
42
44
45/*!
46 \class QPlatformClipboard
47 \since 5.0
48 \internal
49 \preliminary
50 \ingroup qpa
51
52 \brief The QPlatformClipboard class provides an abstraction for the system clipboard.
53 */
54
55QPlatformClipboard::~QPlatformClipboard()
56{
57
58}
59
60QMimeData *QPlatformClipboard::mimeData(QClipboard::Mode mode)
61{
62 //we know its clipboard
63 Q_UNUSED(mode);
64 return q_clipboardData()->source();
65}
66
67void QPlatformClipboard::setMimeData(QMimeData *data, QClipboard::Mode mode)
68{
69 //we know its clipboard
70 Q_UNUSED(mode);
71 q_clipboardData()->setSource(data);
72
73 emitChanged(mode);
74}
75
76bool QPlatformClipboard::supportsMode(QClipboard::Mode mode) const
77{
78 return mode == QClipboard::Clipboard;
79}
80
81bool QPlatformClipboard::ownsMode(QClipboard::Mode mode) const
82{
83 Q_UNUSED(mode);
84 return false;
85}
86
87void QPlatformClipboard::emitChanged(QClipboard::Mode mode)
88{
89 if (!QGuiApplicationPrivate::is_app_closing) // QTBUG-39317, prevent emission when closing down.
90 QGuiApplication::clipboard()->emitChanged(mode);
91}
92
93QT_END_NAMESPACE
94
95#endif //QT_NO_CLIPBOARD
void setSource(QMimeData *s)
Combined button and popup list for selecting options.
Q_GLOBAL_STATIC(QClipboardData, q_clipboardData)