File indexing completed on 2024-05-12 04:00:24
0001 /* 0002 SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleixpol@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "waylandxdgactivationv1_p.h" 0008 #include <QGuiApplication> 0009 0010 WaylandXdgActivationV1::WaylandXdgActivationV1() 0011 : QWaylandClientExtensionTemplate<WaylandXdgActivationV1>(1) 0012 { 0013 initialize(); 0014 } 0015 0016 WaylandXdgActivationV1::~WaylandXdgActivationV1() 0017 { 0018 if (qGuiApp && isActive()) { 0019 destroy(); 0020 } 0021 } 0022 0023 WaylandXdgActivationV1 *WaylandXdgActivationV1::self() 0024 { 0025 static WaylandXdgActivationV1 *instance = new WaylandXdgActivationV1; 0026 return instance; 0027 } 0028 0029 WaylandXdgActivationTokenV1 * 0030 WaylandXdgActivationV1::requestXdgActivationToken(wl_seat *seat, struct ::wl_surface *surface, uint32_t serial, const QString &app_id) 0031 { 0032 auto wl = get_activation_token(); 0033 auto provider = new WaylandXdgActivationTokenV1; 0034 provider->init(wl); 0035 0036 if (surface) 0037 provider->set_surface(surface); 0038 0039 if (!app_id.isEmpty()) 0040 provider->set_app_id(app_id); 0041 0042 if (seat) 0043 provider->set_serial(serial, seat); 0044 provider->commit(); 0045 return provider; 0046 }