File indexing completed on 2024-05-19 04:02:00

0001 /*
0002     SPDX-FileCopyrightText: 2023 Nicolas Fella <nicolas.fella@gmx.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #include "kwindowsystemplugin.h"
0008 
0009 #include <QQmlEngine>
0010 
0011 #include <KWindowSystem>
0012 
0013 #include "config-kwindowsystem.h"
0014 
0015 #if KWINDOWSYSTEM_HAVE_X11
0016 #include <KX11Extras>
0017 #endif
0018 
0019 void KWindowSystemPlugin::registerTypes(const char *uri)
0020 {
0021     Q_ASSERT(QString::fromLatin1(uri) == QLatin1String("org.kde.kwindowsystem"));
0022 
0023 #if KWINDOWSYSTEM_HAVE_X11
0024     qmlRegisterSingletonType<KX11Extras>("org.kde.kwindowsystem", 1, 0, "KX11Extras", [](QQmlEngine *, QJSEngine *) -> QObject * {
0025         QQmlEngine::setObjectOwnership(KX11Extras::self(), QQmlEngine::CppOwnership);
0026         return KX11Extras::self();
0027     });
0028 #endif
0029     qmlRegisterSingletonType<KWindowSystem>("org.kde.kwindowsystem", 1, 0, "KWindowSystem", [](QQmlEngine *, QJSEngine *) -> QObject * {
0030         QQmlEngine::setObjectOwnership(KWindowSystem::self(), QQmlEngine::CppOwnership);
0031         return KWindowSystem::self();
0032     });
0033 }
0034 
0035 #include "moc_kwindowsystemplugin.cpp"