Changeset View
Changeset View
Standalone View
Standalone View
kcms/feedback/feedback.h
Show All 22 Lines | |||||
23 | #include <KQuickAddons/ConfigModule> | 23 | #include <KQuickAddons/ConfigModule> | ||
24 | 24 | | |||
25 | #include <KSharedConfig> | 25 | #include <KSharedConfig> | ||
26 | 26 | | |||
27 | class Feedback : public KQuickAddons::ConfigModule | 27 | class Feedback : public KQuickAddons::ConfigModule | ||
28 | { | 28 | { | ||
29 | Q_OBJECT | 29 | Q_OBJECT | ||
30 | 30 | | |||
31 | Q_PROPERTY(bool feedbackEnabled READ feedbackEnabled WRITE setFeedbackEnabled NOTIFY feedbackEnabledChanged) | 31 | Q_PROPERTY(bool feedbackEnabled READ feedbackEnabled CONSTANT) | ||
davidedmundson: Should we keep this readonly and grey out the whole UI if unset?
Or better yet, is it possible… | |||||
32 | Q_PROPERTY(int plasmaFeedbackLevel READ plasmaFeedbackLevel WRITE setPlasmaFeedbackLevel NOTIFY plasmaFeedbackLevelChanged) | 32 | Q_PROPERTY(int plasmaFeedbackLevel READ plasmaFeedbackLevel WRITE setPlasmaFeedbackLevel NOTIFY plasmaFeedbackLevelChanged) | ||
33 | 33 | | |||
34 | public: | 34 | public: | ||
35 | explicit Feedback(QObject* parent = nullptr, const QVariantList &list = QVariantList()); | 35 | explicit Feedback(QObject* parent = nullptr, const QVariantList &list = QVariantList()); | ||
36 | ~Feedback() override; | 36 | ~Feedback() override; | ||
37 | 37 | | |||
38 | bool feedbackEnabled() const { return m_feedbackEnabled; } | 38 | bool feedbackEnabled() const; | ||
39 | int plasmaFeedbackLevel() const { return m_plasmaFeedbackLevel; } | 39 | int plasmaFeedbackLevel() const { return m_plasmaFeedbackLevel; } | ||
40 | 40 | | |||
41 | void setFeedbackEnabled(bool feedbackEnabled) { | | |||
42 | if (feedbackEnabled != m_feedbackEnabled) { | | |||
43 | m_feedbackEnabled = feedbackEnabled; | | |||
44 | Q_EMIT feedbackEnabledChanged(feedbackEnabled); | | |||
45 | } | | |||
46 | } | | |||
47 | | ||||
48 | void setPlasmaFeedbackLevel(int plasmaFeedbackLevel) { | 41 | void setPlasmaFeedbackLevel(int plasmaFeedbackLevel) { | ||
49 | if (plasmaFeedbackLevel != m_plasmaFeedbackLevel) { | 42 | if (plasmaFeedbackLevel != m_plasmaFeedbackLevel) { | ||
50 | m_plasmaFeedbackLevel = plasmaFeedbackLevel; | 43 | m_plasmaFeedbackLevel = plasmaFeedbackLevel; | ||
51 | Q_EMIT plasmaFeedbackLevelChanged(plasmaFeedbackLevel); | 44 | Q_EMIT plasmaFeedbackLevelChanged(plasmaFeedbackLevel); | ||
52 | } | 45 | } | ||
53 | } | 46 | } | ||
54 | 47 | | |||
55 | public Q_SLOTS: | 48 | public Q_SLOTS: | ||
56 | void load() override; | 49 | void load() override; | ||
57 | void save() override; | 50 | void save() override; | ||
58 | void defaults() override; | 51 | void defaults() override; | ||
59 | 52 | | |||
60 | Q_SIGNALS: | 53 | Q_SIGNALS: | ||
61 | void feedbackEnabledChanged(bool feedbackEnabled) const; | | |||
62 | void plasmaFeedbackLevelChanged(bool plasmaFeedbackLevel); | 54 | void plasmaFeedbackLevelChanged(bool plasmaFeedbackLevel); | ||
63 | 55 | | |||
64 | private: | 56 | private: | ||
65 | KSharedConfig::Ptr m_globalConfig; | | |||
66 | KSharedConfig::Ptr m_plasmaConfig; | 57 | KSharedConfig::Ptr m_plasmaConfig; | ||
67 | bool m_feedbackEnabled = false; | | |||
68 | int m_plasmaFeedbackLevel = 0; | 58 | int m_plasmaFeedbackLevel = 0; | ||
69 | }; | 59 | }; |
Should we keep this readonly and grey out the whole UI if unset?
Or better yet, is it possible to disable the entire KCM through some .desktop file trick?