#include "columnviewsettingspage.h"
#include "detailsviewsettingspage.h"
+#include "dolphinmainwindow.h"
+#include "dolphinviewcontainer.h"
#include "generalviewsettingspage.h"
#include "iconsviewsettingspage.h"
-#include <QVBoxLayout>
-#include <QTabWidget>
-#include <QLayout>
-#include <QLabel>
+#include <QtGui/QBoxLayout>
+#include <QtGui/QTabWidget>
+#include <QtGui/QLayout>
+#include <QtGui/QLabel>
#include <kdialog.h>
#include <klocale.h>
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);
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"