X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d7d4fb9d26773c2d729b49d71af10e1378381ff3..862ceee323ad3b474ce9de11eefbddd99c528fac:/src/dolphinsettingsdialog.cpp diff --git a/src/dolphinsettingsdialog.cpp b/src/dolphinsettingsdialog.cpp index 7f440fc6c..998f6b4d2 100644 --- a/src/dolphinsettingsdialog.cpp +++ b/src/dolphinsettingsdialog.cpp @@ -19,47 +19,57 @@ ***************************************************************************/ #include "dolphinsettingsdialog.h" -#include -#include -#include "generalsettingspage.h" -#include "viewsettingspage.h" -#include "bookmarkssettingspage.h" + #include "dolphinapplication.h" #include "dolphinmainwindow.h" -//Added by qt3to4: -#include +#include "generalsettingspage.h" +#include "viewsettingspage.h" + +#include +#include +#include DolphinSettingsDialog::DolphinSettingsDialog(DolphinMainWindow* mainWindow) : KPageDialog(), m_mainWindow(mainWindow) { - setFaceType( List); + const QSize minSize = minimumSize(); + setMinimumSize(QSize(512, minSize.height())); + + setFaceType(List); setCaption(i18n("Dolphin Preferences")); - setButtons(Ok|Apply|Cancel); + setButtons(Ok | Apply | Cancel | Default); setDefaultButton(Ok); m_generalSettingsPage = new GeneralSettingsPage(mainWindow, this); KPageWidgetItem* generalSettingsFrame = addPage(m_generalSettingsPage, i18n("General")); generalSettingsFrame->setIcon(KIcon("exec")); - m_viewSettingsPage = new ViewSettingsPage(this); + m_viewSettingsPage = new ViewSettingsPage(mainWindow, this); KPageWidgetItem* viewSettingsFrame = addPage(m_viewSettingsPage, i18n("View Modes")); - viewSettingsFrame->setIcon(KIcon("view_choose")); + viewSettingsFrame->setIcon(KIcon("view-choose")); - m_bookmarksSettingsPage = new BookmarksSettingsPage(this); - KPageWidgetItem* bookmarksSettingsFrame = addPage(m_bookmarksSettingsPage, i18n("Bookmarks")); - bookmarksSettingsFrame->setIcon(KIcon("bookmark")); + 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) { + 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); } @@ -67,7 +77,13 @@ void DolphinSettingsDialog::applySettings() { m_generalSettingsPage->applySettings(); m_viewSettingsPage->applySettings(); - m_bookmarksSettingsPage->applySettings(); + DolphinApplication::app()->refreshMainWindows(); +} + +void DolphinSettingsDialog::restoreDefaults() +{ + m_generalSettingsPage->restoreDefaults(); + m_viewSettingsPage->restoreDefaults(); DolphinApplication::app()->refreshMainWindows(); }