]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/settings/dolphinsettingsdialog.cpp
Added the Trash KCM to Dolphin, it's visible in the Settings Dialog, in the 'Trash...
[dolphin.git] / src / settings / dolphinsettingsdialog.cpp
index 54ac74bdee121ab6203038e811da9c0e25b48331..93f95ca443ccf045a514b97f5db66c4e9ccd7156 100644 (file)
 #include <dolphinapplication.h>
 #include <dolphinmainwindow.h>
 #include "generalsettingspage.h"
+#include "navigationsettingspage.h"
+#include "servicessettingspage.h"
 #include "startupsettingspage.h"
 #include "viewsettingspage.h"
+#include "trashsettingspage.h"
 
 #include <klocale.h>
 #include <kmessagebox.h>
 #include <kicon.h>
 
-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"