┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings/userfeedback
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings/userfeedback')
-rw-r--r--src/settings/userfeedback/userfeedbacksettingspage.cpp47
-rw-r--r--src/settings/userfeedback/userfeedbacksettingspage.h37
2 files changed, 84 insertions, 0 deletions
diff --git a/src/settings/userfeedback/userfeedbacksettingspage.cpp b/src/settings/userfeedback/userfeedbacksettingspage.cpp
new file mode 100644
index 000000000..479c46226
--- /dev/null
+++ b/src/settings/userfeedback/userfeedbacksettingspage.cpp
@@ -0,0 +1,47 @@
+/*
+ * SPDX-FileCopyrightText: 2020 Elvis Angelaccio <[email protected]
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "userfeedbacksettingspage.h"
+#include "userfeedback/dolphinfeedbackprovider.h"
+
+#include <KUserFeedback/FeedbackConfigWidget>
+#include <KUserFeedback/Provider>
+
+#include <QVBoxLayout>
+
+UserFeedbackSettingsPage::UserFeedbackSettingsPage(QWidget* parent) :
+ SettingsPageBase(parent)
+{
+ auto layout = new QVBoxLayout(this);
+ layout->setContentsMargins(0, 0, 0, 0);
+
+ m_feedbackWidget = new KUserFeedback::FeedbackConfigWidget(this);
+ m_feedbackWidget->setFeedbackProvider(DolphinFeedbackProvider::instance());
+
+ layout->addWidget(m_feedbackWidget);
+
+ connect(m_feedbackWidget, &KUserFeedback::FeedbackConfigWidget::configurationChanged, this, &UserFeedbackSettingsPage::changed);
+}
+
+UserFeedbackSettingsPage::~UserFeedbackSettingsPage()
+{
+}
+
+void UserFeedbackSettingsPage::applySettings()
+{
+ auto feedbackProvider = DolphinFeedbackProvider::instance();
+ feedbackProvider->setTelemetryMode(m_feedbackWidget->telemetryMode());
+ feedbackProvider->setSurveyInterval(m_feedbackWidget->surveyInterval());
+}
+
+void UserFeedbackSettingsPage::restoreDefaults()
+{
+ auto feedbackProvider = DolphinFeedbackProvider::instance();
+ feedbackProvider->setTelemetryMode(KUserFeedback::Provider::NoTelemetry);
+ feedbackProvider->setSurveyInterval(-1);
+}
+
+
diff --git a/src/settings/userfeedback/userfeedbacksettingspage.h b/src/settings/userfeedback/userfeedbacksettingspage.h
new file mode 100644
index 000000000..d9b608615
--- /dev/null
+++ b/src/settings/userfeedback/userfeedbacksettingspage.h
@@ -0,0 +1,37 @@
+/*
+ * SPDX-FileCopyrightText: 2020 Elvis Angelaccio <[email protected]
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef USERFEEDBACKSETTINGSPAGE_H
+#define USERFEEDBACKSETTINGSPAGE_H
+
+#include "settings/settingspagebase.h"
+
+namespace KUserFeedback {
+class FeedbackConfigWidget;
+}
+
+/**
+ * @brief Page for the 'User Feedback' settings of the Dolphin settings dialog.
+ */
+class UserFeedbackSettingsPage : public SettingsPageBase
+{
+ Q_OBJECT
+
+public:
+ explicit UserFeedbackSettingsPage(QWidget* parent);
+ ~UserFeedbackSettingsPage() override;
+
+ /** @see SettingsPageBase::applySettings() */
+ void applySettings() override;
+
+ /** @see SettingsPageBase::restoreDefaults() */
+ void restoreDefaults() override;
+
+private:
+ KUserFeedback::FeedbackConfigWidget *m_feedbackWidget = nullptr;
+};
+
+#endif // USERFEEDBACKSETTINGSPAGE_H