1 /* 2 SPDX-FileCopyrightText: 2019 David Edmundson <davidedmundson@kde.org> 3 SPDX-FileCopyrightText: 2019 Aleix Pol Gonzalez <aleixpol@kde.org> 4 5 SPDX-License-Identifier: LGPL-2.0-or-later 6 */ 7 8 #pragma once 9 10 #include <KQuickAddons/ManagedConfigModule> 11 12 #include <KSharedConfig> 13 14 class FeedbackSettings; 15 class FeedbackData; 16 17 class Feedback : public KQuickAddons::ManagedConfigModule 18 { 19 Q_OBJECT 20 21 Q_PROPERTY(QJsonArray feedbackSources MEMBER m_feedbackSources NOTIFY feedbackSourcesChanged) 22 Q_PROPERTY(QJsonArray audits READ audits CONSTANT) 23 Q_PROPERTY(bool feedbackEnabled READ feedbackEnabled CONSTANT) 24 Q_PROPERTY(FeedbackSettings *feedbackSettings READ feedbackSettings CONSTANT) 25 26 public: 27 explicit Feedback(QObject *parent = nullptr, const QVariantList &list = QVariantList()); 28 ~Feedback() override; 29 30 bool feedbackEnabled() const; 31 FeedbackSettings *feedbackSettings() const; 32 33 QJsonArray audits() const; 34 void programFinished(int exitCode); 35 36 Q_SIGNALS: 37 void feedbackSourcesChanged(); 38 39 private: 40 QHash<int, QHash<QString, QJsonArray>> m_uses; 41 QJsonArray m_feedbackSources; 42 FeedbackData *m_data; 43 }; 44