Brooklyn/plasma/kcms/kded/kcmkded.h
Scare Crowe d2ebfd0519 QortalOS Titan 5.60.12
Screw the description like that inbred T3Q
2022-03-05 21:17:59 +05:00

98 lines
2.1 KiB
C++

/*
This file is part of the KDE project
SPDX-FileCopyrightText: 2002 Daniel Molkentin <molkentin@kde.org>
SPDX-FileCopyrightText: 2020 Kai Uwe Broulik <kde@broulik.de>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef KCMKDED_H
#define KCMKDED_H
#include <KQuickAddons/ConfigModule>
class QDBusServiceWatcher;
class KConfig;
class KPluginMetaData;
class ModulesModel;
class FilterProxyModel;
class OrgKdeKded5Interface;
namespace org
{
namespace kde
{
using kded5 = ::OrgKdeKded5Interface;
}
}
class KDEDConfig : public KQuickAddons::ConfigModule
{
Q_OBJECT
Q_PROPERTY(ModulesModel *model READ model CONSTANT)
Q_PROPERTY(FilterProxyModel *filteredModel READ filteredModel CONSTANT)
Q_PROPERTY(bool kdedRunning READ kdedRunning NOTIFY kdedRunningChanged)
public:
explicit KDEDConfig(QObject *parent, const QVariantList &foo = QVariantList());
~KDEDConfig() override
{
}
enum ModuleType {
UnknownType = -1,
AutostartType,
OnDemandType,
};
Q_ENUM(ModuleType)
enum ModuleStatus {
UnknownStatus = -1,
NotRunning,
Running,
};
Q_ENUM(ModuleStatus)
ModulesModel *model() const;
FilterProxyModel *filteredModel() const;
bool kdedRunning() const;
Q_INVOKABLE void startModule(const QString &moduleName);
Q_INVOKABLE void stopModule(const QString &moduleName);
void load() override;
void save() override;
void defaults() override;
Q_SIGNALS:
void kdedRunningChanged();
void errorMessage(const QString &errorString);
void showSelfDisablingModulesHint();
void showRunningModulesChangedAfterSaveHint();
private:
void setKdedRunning(bool kdedRunning);
void getModuleStatus();
void startOrStopModule(const QString &moduleName, ModuleStatus status /*better than a bool*/);
ModulesModel *const m_model;
FilterProxyModel *const m_filteredModel;
org::kde::kded5 *const m_kdedInterface;
QDBusServiceWatcher *const m_kdedWatcher;
bool m_kdedRunning = false;
QString m_lastStartedModule;
QStringList m_runningModulesBeforeReconfigure;
};
#endif // KCMKDED_H