File indexing completed on 2024-05-19 16:31:58

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0003     SPDX-FileCopyrightText: 2021 Harald Sitter <sitter@kde.org>
0004     SPDX-FileCopyrightText: 2022 Nate Graham <nate@kde.org>
0005 */
0006 
0007 #include <KAboutData>
0008 #include <KLocalizedString>
0009 #include <KPluginFactory>
0010 #include <KQuickAddons/ConfigModule>
0011 #include <QLibraryInfo>
0012 
0013 #include <CommandOutputContext.h>
0014 
0015 class KCMKWinSupportInfo : public KQuickAddons::ConfigModule
0016 {
0017     Q_OBJECT
0018 public:
0019     explicit KCMKWinSupportInfo(QObject *parent, const KPluginMetaData &data, const QVariantList &args)
0020         : ConfigModule(parent, data, args)
0021     {
0022         auto outputContext = new CommandOutputContext(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QStringLiteral("/qdbus"),
0023                                                       {QStringLiteral("org.kde.KWin"), QStringLiteral("/KWin"), QStringLiteral("supportInformation")},
0024                                                       parent);
0025         qmlRegisterSingletonInstance("org.kde.kinfocenter.kwinsupportinfo.private", 1, 0, "InfoOutputContext", outputContext);
0026 
0027         auto *about = new KAboutData(QStringLiteral("kcm_kwinsupportinfo"),
0028                                      i18nc("@label kcm name", "Window Manager"),
0029                                      QStringLiteral("1.0"),
0030                                      QString(),
0031                                      KAboutLicense::GPL);
0032         about->addAuthor(i18n("Nate Graham"), QString(), QStringLiteral("nate@kde.org"));
0033         setAboutData(about);
0034     }
0035 };
0036 
0037 K_PLUGIN_CLASS_WITH_JSON(KCMKWinSupportInfo, "kcm_kwinsupportinfo.json")
0038 
0039 #include "main.moc"