Warning, file /system/dolphin/src/settings/kcm/kcmdolphinviewmodes.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * SPDX-FileCopyrightText: 2008 Peter Penz <peter.penz19@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "kcmdolphinviewmodes.h" 0008 0009 #include "settings/viewmodes/viewsettingstab.h" 0010 0011 #include <KCModule> 0012 #include <KLocalizedString> 0013 #include <KPluginFactory> 0014 0015 #include <QDBusConnection> 0016 #include <QDBusMessage> 0017 #include <QIcon> 0018 #include <QTabWidget> 0019 #include <QVBoxLayout> 0020 0021 K_PLUGIN_CLASS_WITH_JSON(DolphinViewModesConfigModule, "kcmdolphinviewmodes.json") 0022 0023 DolphinViewModesConfigModule::DolphinViewModesConfigModule(QObject *parent, const KPluginMetaData &data) 0024 : KCModule(parent, data) 0025 , m_tabs() 0026 { 0027 setButtons(KCModule::Default | KCModule::Help | KCModule::Apply); 0028 0029 QVBoxLayout *topLayout = new QVBoxLayout(widget()); 0030 topLayout->setContentsMargins(0, 0, 0, 0); 0031 0032 QTabWidget *tabWidget = new QTabWidget(widget()); 0033 0034 // Initialize 'Icons' tab 0035 ViewSettingsTab *iconsTab = new ViewSettingsTab(ViewSettingsTab::IconsMode, tabWidget); 0036 tabWidget->addTab(iconsTab, QIcon::fromTheme(QStringLiteral("view-list-icons")), i18nc("@title:tab", "Icons")); 0037 connect(iconsTab, &ViewSettingsTab::changed, this, &DolphinViewModesConfigModule::viewModeChanged); 0038 0039 // Initialize 'Compact' tab 0040 ViewSettingsTab *compactTab = new ViewSettingsTab(ViewSettingsTab::CompactMode, tabWidget); 0041 tabWidget->addTab(compactTab, QIcon::fromTheme(QStringLiteral("view-list-details")), i18nc("@title:tab", "Compact")); 0042 connect(compactTab, &ViewSettingsTab::changed, this, &DolphinViewModesConfigModule::viewModeChanged); 0043 0044 // Initialize 'Details' tab 0045 ViewSettingsTab *detailsTab = new ViewSettingsTab(ViewSettingsTab::DetailsMode, tabWidget); 0046 tabWidget->addTab(detailsTab, QIcon::fromTheme(QStringLiteral("view-list-tree")), i18nc("@title:tab", "Details")); 0047 connect(detailsTab, &ViewSettingsTab::changed, this, &DolphinViewModesConfigModule::viewModeChanged); 0048 0049 m_tabs.append(iconsTab); 0050 m_tabs.append(compactTab); 0051 m_tabs.append(detailsTab); 0052 0053 topLayout->addWidget(tabWidget, 0, {}); 0054 } 0055 0056 DolphinViewModesConfigModule::~DolphinViewModesConfigModule() 0057 { 0058 } 0059 0060 void DolphinViewModesConfigModule::save() 0061 { 0062 for (ViewSettingsTab *tab : std::as_const(m_tabs)) { 0063 tab->applySettings(); 0064 } 0065 reparseConfiguration(); 0066 } 0067 0068 void DolphinViewModesConfigModule::defaults() 0069 { 0070 for (ViewSettingsTab *tab : std::as_const(m_tabs)) { 0071 tab->restoreDefaults(); 0072 } 0073 reparseConfiguration(); 0074 } 0075 0076 void DolphinViewModesConfigModule::reparseConfiguration() 0077 { 0078 QDBusMessage message = 0079 QDBusMessage::createSignal(QStringLiteral("/KonqMain"), QStringLiteral("org.kde.Konqueror.Main"), QStringLiteral("reparseConfiguration")); 0080 QDBusConnection::sessionBus().send(message); 0081 } 0082 0083 void DolphinViewModesConfigModule::viewModeChanged() 0084 { 0085 markAsChanged(); 0086 } 0087 0088 #include "kcmdolphinviewmodes.moc" 0089 0090 #include "moc_kcmdolphinviewmodes.cpp"