diff options
| author | Elvis Angelaccio <[email protected]> | 2020-08-18 23:47:53 +0200 |
|---|---|---|
| committer | Elvis Angelaccio <[email protected]> | 2020-11-05 18:31:28 +0000 |
| commit | 465e06138e8baaefb967d32a2eaccf67daef8285 (patch) | |
| tree | 1b6ec2114228a7429b01b670f43d75d1ff0ee0ed /src/settings/userfeedback/userfeedbacksettingspage.cpp | |
| parent | 61bf84c13d203840d4ffeb55ce92dc8b660871a1 (diff) | |
Add support for KUserFeedback
This commit introduces KUserFeedback in dolphin with some basic data
sources and with a settings page to configure the telemetry values.
There are also a couple custom data sources as proof of concept: a bunch
of settings and the count of available network shares as listed by Solid.
The settings page is shown only if the user feedback framework is
enabled, but currently in Plasma we don't have a global kill switch to
disable it.
At the moment we never show an encouragement message. We need to connect
to the `Provider::showEncouragementMessage()` signal, but first we
should agree to a common way to show a non-annoying message to the users.
Diffstat (limited to 'src/settings/userfeedback/userfeedbacksettingspage.cpp')
| -rw-r--r-- | src/settings/userfeedback/userfeedbacksettingspage.cpp | 47 |
1 files changed, 47 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); +} + + |
