***************************************************************************/
#include "dolphinsettingsdialog.h"
-#include <klocale.h>
-#include <kicon.h>
-#include "generalsettingspage.h"
-#include "viewsettingspage.h"
+
#include "dolphinapplication.h"
#include "dolphinmainwindow.h"
+#include "generalsettingspage.h"
+#include "viewsettingspage.h"
-DolphinSettingsDialog& DolphinSettingsDialog::instance(DolphinMainWindow* mainWindow)
-{
- static DolphinSettingsDialog* instance = 0;
- if (instance == 0) {
- instance = new DolphinSettingsDialog(mainWindow);
- }
- return *instance;
-}
-
-DolphinSettingsDialog::~DolphinSettingsDialog()
-{
-}
-
-void DolphinSettingsDialog::slotButtonClicked(int button)
-{
- if (button == Ok || button == Apply) {
- applySettings();
- }
- KPageDialog::slotButtonClicked(button);
-}
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kicon.h>
DolphinSettingsDialog::DolphinSettingsDialog(DolphinMainWindow* mainWindow) :
KPageDialog(),
setFaceType(List);
setCaption(i18n("Dolphin Preferences"));
- setButtons(Ok | Apply | Cancel);
+ setButtons(Ok | Apply | Cancel | Default);
setDefaultButton(Ok);
m_generalSettingsPage = new GeneralSettingsPage(mainWindow, this);
m_viewSettingsPage = new ViewSettingsPage(mainWindow, this);
KPageWidgetItem* viewSettingsFrame = addPage(m_viewSettingsPage, i18n("View Modes"));
viewSettingsFrame->setIcon(KIcon("view-choose"));
+
+ const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "SettingsDialog");
+ restoreDialogSize(dialogConfig);
+}
+
+DolphinSettingsDialog::~DolphinSettingsDialog()
+{
+ KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "SettingsDialog");
+ saveDialogSize(dialogConfig, KConfigFlags::Persistent);
+}
+
+void DolphinSettingsDialog::slotButtonClicked(int button)
+{
+ if ((button == Ok) || (button == Apply)) {
+ applySettings();
+ } else if (button == Default) {
+ const QString text(i18n("All settings will be reset to default values. Do you want to continue?"));
+ if (KMessageBox::questionYesNo(this, text) == KMessageBox::Yes) {
+ restoreDefaults();
+ }
+ }
+
+ KPageDialog::slotButtonClicked(button);
}
void DolphinSettingsDialog::applySettings()
DolphinApplication::app()->refreshMainWindows();
}
+void DolphinSettingsDialog::restoreDefaults()
+{
+ m_generalSettingsPage->restoreDefaults();
+ m_viewSettingsPage->restoreDefaults();
+ DolphinApplication::app()->refreshMainWindows();
+}
+
#include "dolphinsettingsdialog.moc"