diff options
Diffstat (limited to 'src/settings/userfeedback')
| -rw-r--r-- | src/settings/userfeedback/userfeedbacksettingspage.cpp | 47 | ||||
| -rw-r--r-- | src/settings/userfeedback/userfeedbacksettingspage.h | 37 |
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 |
