X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/623c19e042cd19c147bc27f50b62c22b4986e6b6..148282e2d856b47ceb191eeef4c834118c8cdffd:/src/viewsettingspage.cpp diff --git a/src/viewsettingspage.cpp b/src/viewsettingspage.cpp index 654a09f28..bef05f58f 100644 --- a/src/viewsettingspage.cpp +++ b/src/viewsettingspage.cpp @@ -19,45 +19,62 @@ ***************************************************************************/ #include "viewsettingspage.h" + +#include "columnviewsettingspage.h" +#include "detailsviewsettingspage.h" +#include "dolphinmainwindow.h" +#include "dolphinviewcontainer.h" #include "generalviewsettingspage.h" #include "iconsviewsettingspage.h" -#include "detailsviewsettingspage.h" -#include -#include -#include -#include +#include +#include +#include #include #include #include +#include + ViewSettingsPage::ViewSettingsPage(DolphinMainWindow* mainWindow, QWidget* parent) : SettingsPageBase(parent), - m_generalPage(0), - m_iconsPage(0), - m_detailsPage(0) + m_pages() { QVBoxLayout* topLayout = new QVBoxLayout(this); topLayout->setMargin(0); topLayout->setSpacing(KDialog::spacingHint()); - QTabWidget* tabWidget = new QTabWidget(this); + KTabWidget* tabWidget = new KTabWidget(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 + ColumnViewSettingsPage* columnPage = new ColumnViewSettingsPage(tabWidget); + tabWidget->addTab(columnPage, KIcon("view-file-columns"), i18nc("@title:tab", "Column")); + connect(columnPage, SIGNAL(changed()), this, SIGNAL(changed())); - topLayout->addWidget(tabWidget, 0, 0 ); + m_pages.append(generalPage); + m_pages.append(iconsPage); + m_pages.append(detailsPage); + m_pages.append(columnPage); + + topLayout->addWidget(tabWidget, 0, 0); } ViewSettingsPage::~ViewSettingsPage() @@ -66,9 +83,16 @@ ViewSettingsPage::~ViewSettingsPage() void ViewSettingsPage::applySettings() { - m_generalPage->applySettings(); - m_iconsPage->applySettings(); - m_detailsPage->applySettings(); + foreach (ViewSettingsPageBase* page, m_pages) { + page->applySettings(); + } +} + +void ViewSettingsPage::restoreDefaults() +{ + foreach (ViewSettingsPageBase* page, m_pages) { + page->restoreDefaults(); + } } #include "viewsettingspage.moc"