File indexing completed on 2024-04-28 05:45:22
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Elvis Angelaccio <elvis.angelaccio@kde.org 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "settingsdatasource.h" 0008 #include "dolphin_generalsettings.h" 0009 #include "dolphinmainwindow.h" 0010 0011 #include <KLocalizedString> 0012 #include <KUserFeedback/Provider> 0013 0014 #include <QApplication> 0015 #include <QVariant> 0016 0017 SettingsDataSource::SettingsDataSource() 0018 : KUserFeedback::AbstractDataSource(QStringLiteral("settings"), KUserFeedback::Provider::DetailedSystemInformation) 0019 { 0020 } 0021 0022 QString SettingsDataSource::name() const 0023 { 0024 return i18nc("name of kuserfeedback data source provided by dolphin", "Settings"); 0025 } 0026 0027 QString SettingsDataSource::description() const 0028 { 0029 return i18nc("description of kuserfeedback data source provided by dolphin", "A subset of Dolphin settings."); 0030 } 0031 0032 QVariant SettingsDataSource::data() 0033 { 0034 if (!m_mainWindow) { 0035 // This assumes there is only one DolphinMainWindow per process. 0036 const auto topLevelWidgets = QApplication::topLevelWidgets(); 0037 for (const auto widget : topLevelWidgets) { 0038 if (qobject_cast<DolphinMainWindow *>(widget)) { 0039 m_mainWindow = static_cast<DolphinMainWindow *>(widget); 0040 break; 0041 } 0042 } 0043 } 0044 0045 QVariantMap map; 0046 0047 if (m_mainWindow) { 0048 map.insert(QStringLiteral("informationPanelEnabled"), m_mainWindow->isInformationPanelEnabled()); 0049 map.insert(QStringLiteral("foldersPanelEnabled"), m_mainWindow->isFoldersPanelEnabled()); 0050 } 0051 0052 map.insert(QStringLiteral("tooltipsEnabled"), GeneralSettings::showToolTips()); 0053 map.insert(QStringLiteral("browseArchivesEnable"), GeneralSettings::browseThroughArchives()); 0054 0055 return map; 0056 }