]> cloud.milkyroute.net Git - dolphin.git/blob - src/settings/viewmodes/viewsettingspage.cpp
Merge branch 'release/20.08' into master
[dolphin.git] / src / settings / viewmodes / viewsettingspage.cpp
1 /*
2 * SPDX-FileCopyrightText: 2006 Peter Penz <peter.penz@gmx.at>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #include "viewsettingspage.h"
8
9 #include "views/dolphinview.h"
10 #include "viewsettingstab.h"
11
12 #include <KLocalizedString>
13
14 #include <QTabWidget>
15 #include <QVBoxLayout>
16
17 ViewSettingsPage::ViewSettingsPage(QWidget* parent) :
18 SettingsPageBase(parent),
19 m_tabs()
20 {
21 QVBoxLayout* topLayout = new QVBoxLayout(this);
22 topLayout->setContentsMargins(0, 0, 0, 0);
23
24 QTabWidget* tabWidget = new QTabWidget(this);
25
26 // Initialize 'Icons' tab
27 ViewSettingsTab* iconsTab = new ViewSettingsTab(ViewSettingsTab::IconsMode, tabWidget);
28 tabWidget->addTab(iconsTab, QIcon::fromTheme(QStringLiteral("view-list-icons")), i18nc("@title:tab", "Icons"));
29 connect(iconsTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed);
30
31 // Initialize 'Compact' tab
32 ViewSettingsTab* compactTab = new ViewSettingsTab(ViewSettingsTab::CompactMode, tabWidget);
33 tabWidget->addTab(compactTab, QIcon::fromTheme(QStringLiteral("view-list-details")), i18nc("@title:tab", "Compact"));
34 connect(compactTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed);
35
36 // Initialize 'Details' tab
37 ViewSettingsTab* detailsTab = new ViewSettingsTab(ViewSettingsTab::DetailsMode, tabWidget);
38 tabWidget->addTab(detailsTab, QIcon::fromTheme(QStringLiteral("view-list-tree")), i18nc("@title:tab", "Details"));
39 connect(detailsTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed);
40
41 m_tabs.append(iconsTab);
42 m_tabs.append(compactTab);
43 m_tabs.append(detailsTab);
44
45 topLayout->addWidget(tabWidget, 0);
46 }
47
48 ViewSettingsPage::~ViewSettingsPage()
49 {
50 }
51
52 void ViewSettingsPage::applySettings()
53 {
54 foreach (ViewSettingsTab* tab, m_tabs) {
55 tab->applySettings();
56 }
57 }
58
59 void ViewSettingsPage::restoreDefaults()
60 {
61 foreach (ViewSettingsTab* tab, m_tabs) {
62 tab->restoreDefaultSettings();
63 }
64 }
65