File indexing completed on 2024-05-12 17:18:54
0001 /* 0002 * SPDX-FileCopyrightText: 2006 Peter Penz <peter.penz@gmx.at> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "interfacesettingspage.h" 0008 0009 #include "confirmationssettingspage.h" 0010 #include "folderstabssettingspage.h" 0011 #include "previewssettingspage.h" 0012 #include "statusandlocationbarssettingspage.h" 0013 0014 #include <KLocalizedString> 0015 0016 #include <QTabWidget> 0017 #include <QVBoxLayout> 0018 0019 InterfaceSettingsPage::InterfaceSettingsPage(QWidget *parent) 0020 : SettingsPageBase(parent) 0021 , m_pages() 0022 { 0023 QVBoxLayout *topLayout = new QVBoxLayout(this); 0024 topLayout->setContentsMargins(0, 0, 0, 0); 0025 0026 QTabWidget *tabWidget = new QTabWidget(this); 0027 tabWidget->setDocumentMode(true); 0028 0029 // initialize 'Folders & Tabs' tab 0030 FoldersTabsSettingsPage *foldersTabsPage = new FoldersTabsSettingsPage(tabWidget); 0031 tabWidget->addTab(foldersTabsPage, i18nc("@title:tab Folders & Tabs settings", "Folders && Tabs")); 0032 connect(foldersTabsPage, &FoldersTabsSettingsPage::changed, this, &InterfaceSettingsPage::changed); 0033 0034 // initialize 'Previews' tab 0035 PreviewsSettingsPage *previewsPage = new PreviewsSettingsPage(tabWidget); 0036 tabWidget->addTab(previewsPage, i18nc("@title:tab Previews settings", "Previews")); 0037 connect(previewsPage, &PreviewsSettingsPage::changed, this, &InterfaceSettingsPage::changed); 0038 0039 // initialize 'Context Menu' tab 0040 ConfirmationsSettingsPage *confirmationsPage = new ConfirmationsSettingsPage(tabWidget); 0041 tabWidget->addTab(confirmationsPage, i18nc("@title:tab Confirmations settings", "Confirmations")); 0042 connect(confirmationsPage, &ConfirmationsSettingsPage::changed, this, &InterfaceSettingsPage::changed); 0043 0044 // initialize 'Status & location bars' tab 0045 StatusAndLocationBarsSettingsPage *statusAndLocationBarsPage = new StatusAndLocationBarsSettingsPage(tabWidget, foldersTabsPage); 0046 tabWidget->addTab(statusAndLocationBarsPage, i18nc("@title:tab Status & Location bars settings", "Status && Location bars")); 0047 connect(statusAndLocationBarsPage, &StatusAndLocationBarsSettingsPage::changed, this, &InterfaceSettingsPage::changed); 0048 0049 m_pages.append(foldersTabsPage); 0050 m_pages.append(previewsPage); 0051 m_pages.append(confirmationsPage); 0052 m_pages.append(statusAndLocationBarsPage); 0053 0054 topLayout->addWidget(tabWidget, 0, {}); 0055 } 0056 0057 InterfaceSettingsPage::~InterfaceSettingsPage() 0058 { 0059 } 0060 0061 void InterfaceSettingsPage::applySettings() 0062 { 0063 for (SettingsPageBase *page : std::as_const(m_pages)) { 0064 page->applySettings(); 0065 } 0066 } 0067 0068 void InterfaceSettingsPage::restoreDefaults() 0069 { 0070 for (SettingsPageBase *page : std::as_const(m_pages)) { 0071 page->restoreDefaults(); 0072 } 0073 } 0074 0075 #include "moc_interfacesettingspage.cpp"