File indexing completed on 2024-05-26 05:38:50
0001 /* 0002 SPDX-FileCopyrightText: 2019 David Edmundson <davidedmundson@kde.org> 0003 SPDX-FileCopyrightText: 2019 Aleix Pol Gonzalez <aleixpol@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #pragma once 0009 0010 #include <KQuickManagedConfigModule> 0011 #include <KSharedConfig> 0012 #include <QJsonArray> 0013 0014 class FeedbackSettings; 0015 class FeedbackData; 0016 0017 class Feedback : public KQuickManagedConfigModule 0018 { 0019 Q_OBJECT 0020 0021 Q_PROPERTY(QJsonArray feedbackSources MEMBER m_feedbackSources NOTIFY feedbackSourcesChanged) 0022 Q_PROPERTY(QJsonArray audits READ audits CONSTANT) 0023 Q_PROPERTY(bool feedbackEnabled READ feedbackEnabled CONSTANT) 0024 Q_PROPERTY(FeedbackSettings *feedbackSettings READ feedbackSettings CONSTANT) 0025 0026 public: 0027 explicit Feedback(QObject *parent, const KPluginMetaData &data); 0028 0029 bool feedbackEnabled() const; 0030 FeedbackSettings *feedbackSettings() const; 0031 0032 QJsonArray audits() const; 0033 void programFinished(int exitCode); 0034 0035 Q_SIGNALS: 0036 void feedbackSourcesChanged(); 0037 0038 private: 0039 QHash<int, QHash<QString, QJsonArray>> m_uses; 0040 QJsonArray m_feedbackSources; 0041 FeedbackData *m_data; 0042 };