File indexing completed on 2024-04-28 05:10:45
0001 /* 0002 SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "akregatorconfigurepluginlistwidget.h" 0008 #include "kcm_config_plugins_debug.h" 0009 #include <KLocalizedString> 0010 #include <WebEngineViewer/NetworkPluginUrlInterceptor> 0011 #include <WebEngineViewer/NetworkUrlInterceptorPluginManager> 0012 namespace 0013 { 0014 QString networkUrlInterceptorGroupName() 0015 { 0016 return QStringLiteral("networkurlinterceptorgroupname"); 0017 } 0018 } 0019 0020 AkregatorConfigurePluginListWidget::AkregatorConfigurePluginListWidget(QWidget *parent) 0021 : PimCommon::ConfigurePluginsListWidget(parent) 0022 { 0023 connect(this, &ConfigurePluginsListWidget::configureClicked, this, &AkregatorConfigurePluginListWidget::slotConfigureClicked); 0024 } 0025 0026 AkregatorConfigurePluginListWidget::~AkregatorConfigurePluginListWidget() = default; 0027 0028 void AkregatorConfigurePluginListWidget::save() 0029 { 0030 PimCommon::ConfigurePluginsListWidget::savePlugins(WebEngineViewer::NetworkUrlInterceptorPluginManager::self()->configGroupName(), 0031 WebEngineViewer::NetworkUrlInterceptorPluginManager::self()->configPrefixSettingKey(), 0032 mPluginWebEngineItems); 0033 } 0034 0035 void AkregatorConfigurePluginListWidget::doLoadFromGlobalSettings() 0036 { 0037 initialize(); 0038 initializeDone(); 0039 } 0040 0041 void AkregatorConfigurePluginListWidget::doResetToDefaultsOther() 0042 { 0043 changeState(mPluginWebEngineItems); 0044 } 0045 0046 void AkregatorConfigurePluginListWidget::initialize() 0047 { 0048 mListWidget->clear(); 0049 // Load webengineplugin 0050 PimCommon::ConfigurePluginsListWidget::fillTopItems(WebEngineViewer::NetworkUrlInterceptorPluginManager::self()->pluginsDataList(), 0051 i18n("Webengine Plugins"), 0052 WebEngineViewer::NetworkUrlInterceptorPluginManager::self()->configGroupName(), 0053 WebEngineViewer::NetworkUrlInterceptorPluginManager::self()->configPrefixSettingKey(), 0054 mPluginWebEngineItems, 0055 networkUrlInterceptorGroupName()); 0056 mListWidget->expandAll(); 0057 } 0058 0059 void AkregatorConfigurePluginListWidget::slotConfigureClicked(const QString &configureGroupName, const QString &identifier) 0060 { 0061 if (!configureGroupName.isEmpty() && !identifier.isEmpty()) { 0062 if (configureGroupName == networkUrlInterceptorGroupName()) { 0063 WebEngineViewer::NetworkPluginUrlInterceptor *plugin = 0064 WebEngineViewer::NetworkUrlInterceptorPluginManager::self()->pluginFromIdentifier(identifier); 0065 plugin->showConfigureDialog(this); 0066 } else { 0067 qCWarning(AKREGATOR_CONFIG_PLUGIN_LOG) << "Unknown configureGroupName" << configureGroupName; 0068 } 0069 } 0070 } 0071 0072 #include "moc_akregatorconfigurepluginlistwidget.cpp"