File indexing completed on 2024-04-28 05:10:45

0001 /*
0002    SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "akregator_config_userfeedback.h"
0008 #include <KAboutData>
0009 #include <KLocalizedString>
0010 #include <KPluginFactory>
0011 #include <QHBoxLayout>
0012 #ifdef WITH_KUSERFEEDBACK
0013 #include "userfeedback/userfeedbackmanager.h"
0014 #include <KUserFeedback/FeedbackConfigWidget>
0015 #endif
0016 
0017 using namespace Akregator;
0018 
0019 K_PLUGIN_CLASS_WITH_JSON(KCMAkregatorUserFeedBackConfig, "akregator_config_userfeedback.json")
0020 KCMAkregatorUserFeedBackConfig::KCMAkregatorUserFeedBackConfig(QObject *parent, const KPluginMetaData &data)
0021     : KCModule(parent, data)
0022 {
0023     auto lay = new QHBoxLayout(widget());
0024     lay->setContentsMargins({});
0025 
0026     mUserFeedbackWidget = new KUserFeedback::FeedbackConfigWidget(widget());
0027     connect(mUserFeedbackWidget, &KUserFeedback::FeedbackConfigWidget::configurationChanged, this, &KCMAkregatorUserFeedBackConfig::markAsChanged);
0028 
0029     lay->addWidget(mUserFeedbackWidget);
0030     mUserFeedbackWidget->setFeedbackProvider(Akregator::UserFeedBackManager::self()->userFeedbackProvider());
0031 }
0032 
0033 void KCMAkregatorUserFeedBackConfig::save()
0034 {
0035     Akregator::UserFeedBackManager::self()->userFeedbackProvider()->setTelemetryMode(mUserFeedbackWidget->telemetryMode());
0036     Akregator::UserFeedBackManager::self()->userFeedbackProvider()->setSurveyInterval(mUserFeedbackWidget->surveyInterval());
0037 }
0038 
0039 void KCMAkregatorUserFeedBackConfig::load()
0040 {
0041     mUserFeedbackWidget->setFeedbackProvider(Akregator::UserFeedBackManager::self()->userFeedbackProvider());
0042 }
0043 
0044 void KCMAkregatorUserFeedBackConfig::defaults()
0045 {
0046     // TODO fixme default values
0047     mUserFeedbackWidget->setFeedbackProvider(Akregator::UserFeedBackManager::self()->userFeedbackProvider());
0048 }
0049 
0050 #include "akregator_config_userfeedback.moc"
0051 
0052 #include "moc_akregator_config_userfeedback.cpp"