File indexing completed on 2024-05-05 17:32:17
0001 /* 0002 0003 SPDX-FileCopyrightText: 2011-2014 Sebastian Kügler <sebas@kde.org> 0004 SPDX-FileCopyrightText: 2017 Marco Martin <mart@kde.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #include "settingsapp.h" 0010 0011 #include <QDebug> 0012 #include <QQmlContext> 0013 #include <QQmlEngine> 0014 0015 #include <KDBusService> 0016 0017 #include <KLocalizedString> 0018 0019 SettingsApp::SettingsApp(QCommandLineParser &parser, QObject *parent) 0020 : QObject(parent) 0021 , m_parser(&parser) 0022 { 0023 setupKDBus(); 0024 } 0025 0026 SettingsApp::~SettingsApp() = default; 0027 0028 void SettingsApp::setupKDBus() 0029 { 0030 QCoreApplication::setOrganizationDomain("kde.org"); 0031 KDBusService *service = new KDBusService(KDBusService::Unique, this); 0032 0033 QObject::connect(service, &KDBusService::activateRequested, this, [this](const QStringList &arguments, const QString & /*workingDirectory*/) { 0034 qDebug() << "activateRequested" << arguments; 0035 m_parser->parse(arguments); 0036 0037 if (m_parser->isSet("module")) { 0038 const QString module = m_parser->value("module"); 0039 qDebug() << "Loading module:" << module; 0040 Q_EMIT moduleRequested(module); 0041 } 0042 0043 Q_EMIT activateRequested(); 0044 }); 0045 } 0046 0047 void SettingsApp::setStartModule(const QString &startModule) 0048 { 0049 m_startModule = startModule; 0050 Q_EMIT startModuleChanged(); 0051 } 0052 0053 void SettingsApp::setSingleModule(const bool singleModule) 0054 { 0055 m_singleModule = singleModule; 0056 Q_EMIT singleModuleChanged(); 0057 }