X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/cdcb4b0166aefdd382d20e7ff3b5cb217ba54ba8..b3beb9e0c2ff8cdc77f9a48e3416877e5bad0918:/src/viewsettingspage.cpp diff --git a/src/viewsettingspage.cpp b/src/viewsettingspage.cpp index 59f101eb9..32b893c90 100644 --- a/src/viewsettingspage.cpp +++ b/src/viewsettingspage.cpp @@ -22,13 +22,15 @@ #include "columnviewsettingspage.h" #include "detailsviewsettingspage.h" +#include "dolphinmainwindow.h" +#include "dolphinviewcontainer.h" #include "generalviewsettingspage.h" #include "iconsviewsettingspage.h" -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -37,10 +39,7 @@ ViewSettingsPage::ViewSettingsPage(DolphinMainWindow* mainWindow, QWidget* parent) : SettingsPageBase(parent), - m_generalPage(0), - m_iconsPage(0), - m_detailsPage(0), - m_columnPage(0) + m_pages() { QVBoxLayout* topLayout = new QVBoxLayout(this); topLayout->setMargin(0); @@ -49,33 +48,50 @@ ViewSettingsPage::ViewSettingsPage(DolphinMainWindow* mainWindow, QTabWidget* tabWidget = new QTabWidget(this); // initialize 'General' tab - m_generalPage = new GeneralViewSettingsPage(mainWindow, tabWidget); - tabWidget->addTab(m_generalPage, KIcon("view-choose"), i18n("General")); + const KUrl& url = mainWindow->activeViewContainer()->url(); + GeneralViewSettingsPage* generalPage = new GeneralViewSettingsPage(url, tabWidget); + tabWidget->addTab(generalPage, KIcon("view-choose"), i18nc("@title:tab General settings", "General")); + connect(generalPage, SIGNAL(changed()), this, SIGNAL(changed())); // initialize 'Icons' tab - m_iconsPage = new IconsViewSettingsPage(mainWindow, tabWidget); - tabWidget->addTab(m_iconsPage, KIcon("view-icon"), i18n("Icons")); + IconsViewSettingsPage* iconsPage = new IconsViewSettingsPage(tabWidget); + tabWidget->addTab(iconsPage, KIcon("view-list-icons"), i18nc("@title:tab", "Icons")); + connect(iconsPage, SIGNAL(changed()), this, SIGNAL(changed())); // initialize 'Details' tab - m_detailsPage = new DetailsViewSettingsPage(mainWindow, tabWidget); - tabWidget->addTab(m_detailsPage, KIcon("fileview-text"), i18n("Details")); + DetailsViewSettingsPage* detailsPage = new DetailsViewSettingsPage(tabWidget); + tabWidget->addTab(detailsPage, KIcon("view-list-details"), i18nc("@title:tab", "Details")); + connect(detailsPage, SIGNAL(changed()), this, SIGNAL(changed())); // initialize 'Column' tab - m_columnPage = new ColumnViewSettingsPage(mainWindow, tabWidget); - tabWidget->addTab(m_columnPage, KIcon("fileview-column"), i18n("Column")); + ColumnViewSettingsPage* columnPage = new ColumnViewSettingsPage(tabWidget); + tabWidget->addTab(columnPage, KIcon("view-file-columns"), i18nc("@title:tab", "Column")); + connect(columnPage, SIGNAL(changed()), this, SIGNAL(changed())); + + m_pages.append(generalPage); + m_pages.append(iconsPage); + m_pages.append(detailsPage); + m_pages.append(columnPage); topLayout->addWidget(tabWidget, 0, 0); } ViewSettingsPage::~ViewSettingsPage() -{} +{ +} void ViewSettingsPage::applySettings() { - m_generalPage->applySettings(); - m_iconsPage->applySettings(); - m_detailsPage->applySettings(); - m_columnPage->applySettings(); + foreach (ViewSettingsPageBase* page, m_pages) { + page->applySettings(); + } +} + +void ViewSettingsPage::restoreDefaults() +{ + foreach (ViewSettingsPageBase* page, m_pages) { + page->restoreDefaults(); + } } #include "viewsettingspage.moc"