1/*
2 SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleixpol@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#include "waylandxdgactivationv1_p.h"
8#include <QGuiApplication>
9
10WaylandXdgActivationV1::WaylandXdgActivationV1()
11 : QWaylandClientExtensionTemplate<WaylandXdgActivationV1>(1)
12{
13 initialize();
14}
15
16WaylandXdgActivationV1::~WaylandXdgActivationV1()
17{
18 if (qGuiApp && isActive()) {
19 destroy();
20 }
21}
22
23WaylandXdgActivationV1 *WaylandXdgActivationV1::self()
24{
25 static WaylandXdgActivationV1 *instance = new WaylandXdgActivationV1;
26 return instance;
27}
28
29WaylandXdgActivationTokenV1 *
30WaylandXdgActivationV1::requestXdgActivationToken(wl_seat *seat, struct ::wl_surface *surface, uint32_t serial, const QString &app_id)
31{
32 auto wl = get_activation_token();
33 auto provider = new WaylandXdgActivationTokenV1;
34 provider->init(object: wl);
35
36 if (surface)
37 provider->set_surface(surface);
38
39 if (!app_id.isEmpty())
40 provider->set_app_id(app_id);
41
42 if (seat)
43 provider->set_serial(serial, seat);
44 provider->commit();
45 return provider;
46}
47
48#include "moc_waylandxdgactivationv1_p.cpp"
49

source code of kwindowsystem/src/platforms/wayland/waylandxdgactivationv1.cpp