X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/307285e9635a4bf584d6e5d7478876b90ef870f0..8ce343ba3d1f3f60dc8a53fdf23497db0fffb37d:/src/settings/dolphinsettingsdialog.cpp diff --git a/src/settings/dolphinsettingsdialog.cpp b/src/settings/dolphinsettingsdialog.cpp index 54ac74bde..93f95ca44 100644 --- a/src/settings/dolphinsettingsdialog.cpp +++ b/src/settings/dolphinsettingsdialog.cpp @@ -23,15 +23,18 @@ #include #include #include "generalsettingspage.h" +#include "navigationsettingspage.h" +#include "servicessettingspage.h" #include "startupsettingspage.h" #include "viewsettingspage.h" +#include "trashsettingspage.h" #include #include #include -DolphinSettingsDialog::DolphinSettingsDialog(DolphinMainWindow* mainWindow) : - KPageDialog(mainWindow), +DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) : + KPageDialog(parent), m_pages() { @@ -44,19 +47,43 @@ DolphinSettingsDialog::DolphinSettingsDialog(DolphinMainWindow* mainWindow) : enableButtonApply(false); setDefaultButton(Ok); - StartupSettingsPage* startupSettingsPage = new StartupSettingsPage(mainWindow, this); + // Startup + StartupSettingsPage* startupSettingsPage = new StartupSettingsPage(url, this); KPageWidgetItem* startupSettingsFrame = addPage(startupSettingsPage, i18nc("@title:group", "Startup")); startupSettingsFrame->setIcon(KIcon("go-home")); connect(startupSettingsPage, SIGNAL(changed()), this, SLOT(enableApply())); - ViewSettingsPage* viewSettingsPage = new ViewSettingsPage(mainWindow, this); + // View Modes + ViewSettingsPage* viewSettingsPage = new ViewSettingsPage(this); KPageWidgetItem* viewSettingsFrame = addPage(viewSettingsPage, i18nc("@title:group", "View Modes")); viewSettingsFrame->setIcon(KIcon("view-choose")); connect(viewSettingsPage, SIGNAL(changed()), this, SLOT(enableApply())); - GeneralSettingsPage* generalSettingsPage = new GeneralSettingsPage(mainWindow, this); + // Navigation + NavigationSettingsPage* navigationSettingsPage = new NavigationSettingsPage(this); + KPageWidgetItem* navigationSettingsFrame = addPage(navigationSettingsPage, + i18nc("@title:group", "Navigation")); + navigationSettingsFrame->setIcon(KIcon("input-mouse")); + connect(navigationSettingsPage, SIGNAL(changed()), this, SLOT(enableApply())); + + // Services + ServicesSettingsPage* servicesSettingsPage = new ServicesSettingsPage(this); + KPageWidgetItem* servicesSettingsFrame = addPage(servicesSettingsPage, + i18nc("@title:group", "Services")); + servicesSettingsFrame->setIcon(KIcon("services")); + connect(servicesSettingsPage, SIGNAL(changed()), this, SLOT(enableApply())); + + // Trash + TrashSettingsPage* trashSettingsPage = new TrashSettingsPage(this); + KPageWidgetItem* trashSettingsFrame = addPage(trashSettingsPage, + i18nc("@title:group", "Trash")); + trashSettingsFrame->setIcon(KIcon("user-trash")); + connect(trashSettingsPage, SIGNAL(changed()), this, SLOT(enableApply())); + + // General + GeneralSettingsPage* generalSettingsPage = new GeneralSettingsPage(url, this); KPageWidgetItem* generalSettingsFrame = addPage(generalSettingsPage, i18nc("@title:group General settings", "General")); generalSettingsFrame->setIcon(KIcon("system-run")); @@ -67,6 +94,9 @@ DolphinSettingsDialog::DolphinSettingsDialog(DolphinMainWindow* mainWindow) : m_pages.append(startupSettingsPage); m_pages.append(viewSettingsPage); + m_pages.append(navigationSettingsPage); + m_pages.append(servicesSettingsPage); + m_pages.append(trashSettingsPage); m_pages.append(generalSettingsPage); } @@ -81,10 +111,7 @@ void DolphinSettingsDialog::slotButtonClicked(int button) if ((button == Ok) || (button == Apply)) { applySettings(); } else if (button == Default) { - const QString text(i18nc("@info", "All settings will be reset to default values. Do you want to continue?")); - if (KMessageBox::questionYesNo(this, text) == KMessageBox::Yes) { - restoreDefaults(); - } + restoreDefaults(); } KPageDialog::slotButtonClicked(button); @@ -101,6 +128,7 @@ void DolphinSettingsDialog::applySettings() page->applySettings(); } DolphinApplication::app()->refreshMainWindows(); + enableButtonApply(false); } void DolphinSettingsDialog::restoreDefaults() @@ -108,7 +136,6 @@ void DolphinSettingsDialog::restoreDefaults() foreach (SettingsPageBase* page, m_pages) { page->restoreDefaults(); } - DolphinApplication::app()->refreshMainWindows(); } #include "dolphinsettingsdialog.moc"