Warning, file /plasma/plasma-workspace/kcms/notifications/notificationsdata.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2020 Cyril Rossi <cyril.rossi@enioka.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #pragma once 0008 0009 #include <QObject> 0010 0011 #include <KCModuleData> 0012 0013 namespace NotificationManager 0014 { 0015 class DoNotDisturbSettings; 0016 class NotificationSettings; 0017 class JobSettings; 0018 class BadgeSettings; 0019 class BehaviorSettings; 0020 } 0021 0022 class NotificationsData : public KCModuleData 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 explicit NotificationsData(QObject *parent = nullptr, const QVariantList &args = QVariantList()); 0028 0029 bool isDefaults() const override; 0030 0031 NotificationManager::DoNotDisturbSettings *dndSettings() const; 0032 NotificationManager::NotificationSettings *notificationSettings() const; 0033 NotificationManager::JobSettings *jobSettings() const; 0034 NotificationManager::BadgeSettings *badgeSettings() const; 0035 0036 NotificationManager::BehaviorSettings *behaviorSettings(int index) const; 0037 void insertBehaviorSettings(int index, NotificationManager::BehaviorSettings *settings); 0038 void loadBehaviorSettings(); 0039 void saveBehaviorSettings(); 0040 void defaultsBehaviorSettings(); 0041 bool isSaveNeededBehaviorSettings() const; 0042 bool isDefaultsBehaviorSettings() const; 0043 0044 private: 0045 void readBehaviorSettings(); 0046 0047 NotificationManager::DoNotDisturbSettings *m_dndSettings; 0048 NotificationManager::NotificationSettings *m_notificationSettings; 0049 NotificationManager::JobSettings *m_jobSettings; 0050 NotificationManager::BadgeSettings *m_badgeSettings; 0051 QHash<int, NotificationManager::BehaviorSettings *> m_behaviorSettingsList; 0052 };