Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qwaylanddataoffer_p.h
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
4
5
#
ifndef
QWAYLANDDATAOFFER_H
6
#
define
QWAYLANDDATAOFFER_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
QtCore
/
qhash
.
h
>
20
#
include
<
QtCore
/
qstring
.
h
>
21
22
#
include
<
QtGui
/
private
/
qinternalmimedata_p
.
h
>
23
24
#
include
<
QtWaylandClient
/
private
/
qtwaylandclientglobal_p
.
h
>
25
#
include
<
QtWaylandClient
/
private
/
qwayland
-
wayland
.
h
>
26
27
#
include
<
memory
>
28
29
QT_REQUIRE_CONFIG
(
wayland_datadevice
);
30
31
QT_BEGIN_NAMESPACE
32
33
namespace
QtWaylandClient
{
34
35
class
QWaylandDisplay;
36
class
QWaylandMimeData
;
37
38
class
QWaylandAbstractDataOffer
39
{
40
public
:
41
virtual
void
startReceiving
(
const
QString &mimeType,
int
fd) = 0;
42
virtual
QMimeData *
mimeData
() = 0;
43
44
virtual
~
QWaylandAbstractDataOffer
() =
default
;
45
};
46
47
class
Q_WAYLANDCLIENT_EXPORT
QWaylandDataOffer
48
:
public
QtWayland
::
wl_data_offer
// needs to be the first because we do static casts from the user pointer to the wrapper
49
,
public
QWaylandAbstractDataOffer
50
{
51
public
:
52
explicit
QWaylandDataOffer
(
QWaylandDisplay
*
display
,
struct
::
wl_data_offer
*
offer
);
53
~
QWaylandDataOffer
()
override
;
54
QMimeData
*
mimeData
()
override
;
55
Qt
::
DropActions
supportedActions
()
const
;
56
57
QString
firstFormat
()
const
;
58
59
void
startReceiving
(
const
QString
&
mimeType
,
int
fd
)
override
;
60
61
protected
:
62
void
data_offer_offer
(
const
QString
&
mime_type
)
override
;
63
void
data_offer_source_actions
(
uint32_t
source_actions
)
override
;
64
void
data_offer_action
(
uint32_t
dnd_action
)
override
;
65
66
private
:
67
QWaylandDisplay
*
m_display
=
nullptr
;
68
std
::
unique_ptr
<
QWaylandMimeData
>
m_mimeData
;
69
Qt
::
DropActions
m_supportedActions
;
70
};
71
72
73
class
QWaylandMimeData
:
public
QInternalMimeData
{
74
public
:
75
explicit
QWaylandMimeData
(
QWaylandAbstractDataOffer
*dataOffer);
76
~
QWaylandMimeData
()
override
;
77
78
void
appendFormat
(
const
QString &mimeType);
79
80
protected
:
81
bool
hasFormat_sys
(
const
QString &mimeType)
const
override
;
82
QStringList
formats_sys
()
const
override
;
83
QVariant
retrieveData_sys
(
const
QString &mimeType, QMetaType type)
const
override
;
84
85
private
:
86
std::optional<QByteArray> readData(
const
QString &mimeType)
const
;
87
88
QWaylandAbstractDataOffer
*m_dataOffer =
nullptr
;
89
mutable
QStringList m_types;
90
mutable
QHash<QString, QByteArray> m_data;
91
};
92
93
}
// namespace QtWaylandClient
94
95
QT_END_NAMESPACE
96
#
endif
QtWaylandClient::QWaylandAbstractDataOffer
Definition
qwaylanddataoffer_p.h:39
QtWaylandClient::QWaylandAbstractDataOffer::startReceiving
virtual void startReceiving(const QString &mimeType, int fd)=0
QtWaylandClient::QWaylandAbstractDataOffer::mimeData
virtual QMimeData * mimeData()=0
QtWaylandClient::QWaylandAbstractDataOffer::~QWaylandAbstractDataOffer
virtual ~QWaylandAbstractDataOffer()=default
QtWaylandClient::QWaylandClipboard
Definition
qwaylandclipboard_p.h:35
QtWaylandClient::QWaylandDataControlDeviceV1
Definition
qwaylanddatacontrolv1_p.h:88
QtWaylandClient::QWaylandDataControlDeviceV1::selectionOffer
QWaylandDataControlOfferV1 * selectionOffer() const
Definition
qwaylanddatacontrolv1_p.h:95
QtWaylandClient::QWaylandDataControlDeviceV1::primarySelectionOffer
QWaylandDataControlOfferV1 * primarySelectionOffer() const
Definition
qwaylanddatacontrolv1_p.h:94
QtWaylandClient::QWaylandDataControlDeviceV1::invalidateSelectionOffer
void invalidateSelectionOffer()
Definition
qwaylanddatacontrolv1.cpp:62
QtWaylandClient::QWaylandDataControlDeviceV1::selectionSource
QWaylandDataControlSourceV1 * selectionSource() const
Definition
qwaylanddatacontrolv1_p.h:97
QtWaylandClient::QWaylandDataControlDeviceV1::~QWaylandDataControlDeviceV1
~QWaylandDataControlDeviceV1() override
Definition
qwaylanddatacontrolv1.cpp:57
QtWaylandClient::QWaylandDataControlDeviceV1::setSelectionSource
void setSelectionSource(QWaylandDataControlSourceV1 *source)
Definition
qwaylanddatacontrolv1.cpp:71
QtWaylandClient::QWaylandDataControlDeviceV1::zwlr_data_control_device_v1_finished
void zwlr_data_control_device_v1_finished() override
Definition
qwaylanddatacontrolv1.cpp:112
QtWaylandClient::QWaylandDataControlDeviceV1::primarySelectionSource
QWaylandDataControlSourceV1 * primarySelectionSource() const
Definition
qwaylanddatacontrolv1_p.h:98
QtWaylandClient::QWaylandDataControlDeviceV1::setPrimarySelectionSource
void setPrimarySelectionSource(QWaylandDataControlSourceV1 *source)
Definition
qwaylanddatacontrolv1.cpp:83
QtWaylandClient::QWaylandDataControlManagerV1
Definition
qwaylanddatacontrolv1_p.h:40
QtWaylandClient::QWaylandDataControlManagerV1::QWaylandDataControlManagerV1
QWaylandDataControlManagerV1(QWaylandDisplay *display, uint id, uint version)
Definition
qwaylanddatacontrolv1.cpp:21
QtWaylandClient::QWaylandDataControlManagerV1::display
QWaylandDisplay * display() const
Definition
qwaylanddatacontrolv1_p.h:44
QtWaylandClient::QWaylandDataControlManagerV1::createDevice
QWaylandDataControlDeviceV1 * createDevice(QWaylandInputDevice *seat)
Definition
qwaylanddatacontrolv1.cpp:27
QtWaylandClient::QWaylandDataControlOfferV1
Definition
qwaylanddatacontrolv1_p.h:51
QtWaylandClient::QWaylandDataControlOfferV1::mimeData
QMimeData * mimeData() override
Definition
qwaylanddatacontrolv1_p.h:56
QtWaylandClient::QWaylandDataControlOfferV1::QWaylandDataControlOfferV1
QWaylandDataControlOfferV1(QWaylandDisplay *display, ::zwlr_data_control_offer_v1 *offer)
Definition
qwaylanddatacontrolv1.cpp:32
QtWaylandClient::QWaylandDataControlOfferV1::startReceiving
void startReceiving(const QString &mimeType, int fd) override
Definition
qwaylanddatacontrolv1.cpp:38
QtWaylandClient::QWaylandDataControlOfferV1::~QWaylandDataControlOfferV1
~QWaylandDataControlOfferV1() override
Definition
qwaylanddatacontrolv1_p.h:54
QtWaylandClient::QWaylandDataControlOfferV1::zwlr_data_control_offer_v1_offer
void zwlr_data_control_offer_v1_offer(const QString &mime_type) override
Definition
qwaylanddatacontrolv1.cpp:44
QtWaylandClient::QWaylandDataControlSourceV1
Definition
qwaylanddatacontrolv1_p.h:67
QtWaylandClient::QWaylandDataOffer
Definition
qwaylanddataoffer_p.h:50
QtWaylandClient::QWaylandMimeData
Definition
qwaylanddataoffer_p.h:73
QtWaylandClient::QWaylandMimeData::~QWaylandMimeData
~QWaylandMimeData() override
Definition
qwaylanddataoffer.cpp:159
QtWaylandClient::QWaylandMimeData::retrieveData_sys
QVariant retrieveData_sys(const QString &mimeType, QMetaType type) const override
Definition
qwaylanddataoffer.cpp:199
QtWaylandClient::QWaylandMimeData::appendFormat
void appendFormat(const QString &mimeType)
Definition
qwaylanddataoffer.cpp:163
QtWaylandClient::QWaylandMimeData::formats_sys
QStringList formats_sys() const override
Definition
qwaylanddataoffer.cpp:177
QtWaylandClient::QWaylandMimeData::QWaylandMimeData
QWaylandMimeData(QWaylandAbstractDataOffer *dataOffer)
Definition
qwaylanddataoffer.cpp:154
QtWaylandClient::QWaylandMimeData::hasFormat_sys
bool hasFormat_sys(const QString &mimeType) const override
Definition
qwaylanddataoffer.cpp:172
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QtWaylandClient
Definition
qwaylandclientextension.h:16
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(animation)
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(liburing)
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(clipboard)
qtbase
src
plugins
platforms
wayland
qwaylanddataoffer_p.h
Generated on
for Qt by
1.18.0