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
qwaylanddatacontrolv1_p.h
Go to the documentation of this file.
1
// Copyright (C) 2024 Jie Liu <liujie01@kylinos.cn>
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
QWAYLANDDATACONTROLV1_H
6
#
define
QWAYLANDDATACONTROLV1_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
<
QtWaylandClient
/
private
/
qwayland
-
wlr
-
data
-
control
-
unstable
-
v1
.
h
>
20
21
#
include
<
QtWaylandClient
/
private
/
qtwaylandclientglobal_p
.
h
>
22
#
include
<
QtWaylandClient
/
private
/
qwaylanddataoffer_p
.
h
>
23
24
#
include
<
QtCore
/
QObject
>
25
26
#
include
<
memory
>
27
28
QT_REQUIRE_CONFIG
(
clipboard
);
29
30
QT_BEGIN_NAMESPACE
31
32
class
QMimeData;
33
34
namespace
QtWaylandClient
{
35
36
class
QWaylandInputDevice;
37
class
QWaylandDataControlDeviceV1
;
38
39
class
QWaylandDataControlManagerV1
:
public
QtWayland
::
zwlr_data_control_manager_v1
40
{
41
public
:
42
explicit
QWaylandDataControlManagerV1
(QWaylandDisplay *display, uint id, uint version);
43
QWaylandDataControlDeviceV1
*
createDevice
(QWaylandInputDevice *seat);
44
QWaylandDisplay *
display
()
const
{
return
m_display; }
45
46
private
:
47
QWaylandDisplay *m_display =
nullptr
;
48
};
49
50
class
QWaylandDataControlOfferV1
:
public
QtWayland
::
zwlr_data_control_offer_v1
,
public
QWaylandAbstractDataOffer
51
{
52
public
:
53
explicit
QWaylandDataControlOfferV1
(QWaylandDisplay *display, ::zwlr_data_control_offer_v1 *offer);
54
~
QWaylandDataControlOfferV1
()
override
{ destroy(); }
55
void
startReceiving
(
const
QString &mimeType,
int
fd)
override
;
56
QMimeData *
mimeData
()
override
{
return
m_mimeData.get(); }
57
58
protected
:
59
void
zwlr_data_control_offer_v1_offer
(
const
QString &mime_type)
override
;
60
61
private
:
62
QWaylandDisplay *m_display =
nullptr
;
63
std::unique_ptr<QWaylandMimeData> m_mimeData;
64
};
65
66
class
Q_WAYLANDCLIENT_EXPORT
QWaylandDataControlSourceV1
:
public
QObject
,
public
QtWayland
::
zwlr_data_control_source_v1
67
{
68
Q_OBJECT
69
public
:
70
explicit
QWaylandDataControlSourceV1
(
QWaylandDataControlManagerV1
*
manager
,
QMimeData
*
mimeData
);
71
~
QWaylandDataControlSourceV1
()
override
;
72
73
QMimeData
*
mimeData
()
const
{
return
m_mimeData
; }
74
75
Q_SIGNALS
:
76
void
cancelled
();
77
78
protected
:
79
void
zwlr_data_control_source_v1_send
(
const
QString
&
mime_type
,
int32_t
fd
)
override
;
80
void
zwlr_data_control_source_v1_cancelled
()
override
{
Q_EMIT
cancelled
(); }
81
82
private
:
83
QWaylandDisplay
*
m_display
=
nullptr
;
84
QMimeData
*
m_mimeData
=
nullptr
;
85
};
86
87
class
QWaylandDataControlDeviceV1
:
public
QObject
,
public
QtWayland
::
zwlr_data_control_device_v1
88
{
89
Q_OBJECT
90
QWaylandDataControlDeviceV1
(
QWaylandDataControlManagerV1
*
manager
,
QWaylandInputDevice
*
seat
);
91
92
public
:
93
~
QWaylandDataControlDeviceV1
()
override
;
94
QWaylandDataControlOfferV1
*
primarySelectionOffer
()
const
{
return
m_primarySelectionOffer.get(); }
95
QWaylandDataControlOfferV1
*
selectionOffer
()
const
{
return
m_selectionOffer.get(); }
96
void
invalidateSelectionOffer
();
97
QWaylandDataControlSourceV1
*
selectionSource
()
const
{
return
m_selectionSource.get(); }
98
QWaylandDataControlSourceV1
*
primarySelectionSource
()
const
{
return
m_primarySelectionSource.get(); }
99
void
setSelectionSource
(QWaylandDataControlSourceV1 *source);
100
void
setPrimarySelectionSource
(QWaylandDataControlSourceV1 *source);
101
102
protected
:
103
void
zwlr_data_control_device_v1_data_offer
(
struct
::zwlr_data_control_offer_v1 *id)
override
;
104
void
zwlr_data_control_device_v1_selection
(
struct
::zwlr_data_control_offer_v1 *id)
override
;
105
void
zwlr_data_control_device_v1_finished
()
override
;
106
void
zwlr_data_control_device_v1_primary_selection
(
struct
::zwlr_data_control_offer_v1 *id)
override
;
107
108
private
:
109
QWaylandDisplay *m_display =
nullptr
;
110
QWaylandInputDevice *m_seat =
nullptr
;
111
std::unique_ptr<QWaylandDataControlOfferV1> m_selectionOffer;
112
std::unique_ptr<QWaylandDataControlOfferV1> m_primarySelectionOffer;
113
std::unique_ptr<QWaylandDataControlSourceV1> m_selectionSource;
114
std::unique_ptr<QWaylandDataControlSourceV1> m_primarySelectionSource;
115
friend
class
QWaylandDataControlManagerV1
;
116
};
117
118
}
// namespace QtWaylandClient
119
120
QT_END_NAMESPACE
121
122
#
endif
// QWAYLANDDATACONTROLV1_H
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
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(clipboard)
qtbase
src
plugins
platforms
wayland
qwaylanddatacontrolv1_p.h
Generated on
for Qt by
1.18.0