File indexing completed on 2024-05-05 05:28:25

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 #ifndef SETTINGSAPP_H
0010 #define SETTINGSAPP_H
0011 
0012 #include <QCommandLineParser>
0013 #include <QObject>
0014 
0015 class SettingsApp : public QObject
0016 {
0017     Q_OBJECT
0018     Q_PROPERTY(QString startModule MEMBER m_startModule WRITE setStartModule NOTIFY startModuleChanged)
0019     Q_PROPERTY(bool singleModule MEMBER m_singleModule WRITE setSingleModule NOTIFY singleModuleChanged)
0020 
0021 public:
0022     explicit SettingsApp(QCommandLineParser &parser, QObject *parent = nullptr);
0023     ~SettingsApp() override;
0024 
0025     void setSingleModule(const bool singleModule);
0026     void setStartModule(const QString &startModule);
0027 
0028 Q_SIGNALS:
0029     void moduleRequested(const QString &moduleName);
0030     void activateRequested();
0031 
0032     void startModuleChanged();
0033     void singleModuleChanged();
0034 
0035 private:
0036     void setupKDBus();
0037     QCommandLineParser *m_parser;
0038 
0039     QString m_startModule;
0040     bool m_singleModule;
0041 };
0042 
0043 #endif // SettingsApp_H