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
qwaylandxdgdialogv1.cpp
Go to the documentation of this file.
1
// Copyright (C) 2024 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
// Qt-Security score:critical reason:network-protocol
4
5
#
include
"qwaylandcompositor.h"
6
#
include
"qwaylandxdgdialogv1_p.h"
7
8
#
include
<
QWaylandXdgToplevel
>
9
#
include
<
wayland
-
server
.
h
>
10
11
QT_BEGIN_NAMESPACE
12
13
QWaylandXdgDialogV1Global::QWaylandXdgDialogV1Global(QWaylandCompositor *parent)
14
: QWaylandCompositorExtensionTemplate<QWaylandXdgDialogV1Global>(parent)
15
{
16
}
17
18
void
QWaylandXdgDialogV1Global::initialize()
19
{
20
QWaylandCompositorExtensionTemplate::initialize();
21
QWaylandCompositor *compositor =
static_cast
<QWaylandCompositor *>(extensionContainer());
22
if
(compositor)
23
init(compositor->display(), 1);
24
}
25
26
void
QWaylandXdgDialogV1Global::xdg_wm_dialog_v1_get_xdg_dialog(Resource *resource, uint32_t id, wl_resource *toplevelResource)
27
{
28
auto
*toplevel = QWaylandXdgToplevel::fromResource(toplevelResource);
29
(
void
)
new
QWaylandXdgDialogV1(toplevel, resource->client(), id);
30
}
31
32
QWaylandXdgDialogV1::QWaylandXdgDialogV1(QWaylandXdgToplevel *toplevel, wl_client *client,
int
id)
33
: QtWaylandServer::xdg_dialog_v1(client, id, 1), m_topLevel(toplevel)
34
{
35
}
36
37
void
QWaylandXdgDialogV1::xdg_dialog_v1_set_modal(Resource *resource)
38
{
39
Q_UNUSED(resource);
40
if
(m_topLevel)
41
m_topLevel->setModal(
true
);
42
43
}
44
45
void
QWaylandXdgDialogV1::xdg_dialog_v1_unset_modal(Resource *resource)
46
{
47
Q_UNUSED(resource);
48
if
(m_topLevel)
49
m_topLevel->setModal(
false
);
50
}
51
52
void
QWaylandXdgDialogV1::xdg_dialog_v1_destroy_resource(Resource *resource)
53
{
54
Q_UNUSED(resource);
55
delete
this
;
56
}
57
58
void
QWaylandXdgDialogV1::xdg_dialog_v1_destroy(Resource *resource)
59
{
60
if
(m_topLevel)
61
m_topLevel->setModal(
false
);
62
wl_resource_destroy(resource->handle);
63
}
64
65
QT_END_NAMESPACE
qtwayland
src
compositor
extensions
qwaylandxdgdialogv1.cpp
Generated on
for Qt by
1.18.0