X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/2f0b7cc810b3b04de5194171cbb126e4e544da90..fbd7cb02a511ff869d74aa4e758203a1cd340962:/src/viewsettingspage.cpp diff --git a/src/viewsettingspage.cpp b/src/viewsettingspage.cpp index b52dfc78d..bef05f58f 100644 --- a/src/viewsettingspage.cpp +++ b/src/viewsettingspage.cpp @@ -22,47 +22,57 @@ #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 + 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); 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 - 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); } @@ -73,18 +83,16 @@ 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() { - m_generalPage->restoreDefaults(); - m_iconsPage->restoreDefaults(); - m_detailsPage->restoreDefaults(); - m_columnPage->restoreDefaults(); + foreach (ViewSettingsPageBase* page, m_pages) { + page->restoreDefaults(); + } } #include "viewsettingspage.moc"