X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8acb68ed2835410af934459073048339c7b262a0..8eb9b508ca87fb1d634d8b8ba62c054ed04466d2:/src/settings/dolphinsettingsdialog.cpp diff --git a/src/settings/dolphinsettingsdialog.cpp b/src/settings/dolphinsettingsdialog.cpp index 64ebdeed7..611648561 100644 --- a/src/settings/dolphinsettingsdialog.cpp +++ b/src/settings/dolphinsettingsdialog.cpp @@ -22,15 +22,18 @@ #include #include -#include "generalsettingspage.h" -#include "navigationsettingspage.h" -#include "servicessettingspage.h" -#include "startupsettingspage.h" -#include "viewsettingspage.h" - -#include -#include -#include +#include "dolphinsettings.h" +#include "dolphin_generalsettings.h" +#include "general/generalsettingspage.h" +#include "navigation/navigationsettingspage.h" +#include "services/servicessettingspage.h" +#include "startup/startupsettingspage.h" +#include "viewmodes/viewsettingspage.h" +#include "trash/trashsettingspage.h" + +#include +#include +#include DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) : KPageDialog(parent), @@ -74,6 +77,13 @@ DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) : 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, @@ -88,6 +98,7 @@ DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) : m_pages.append(viewSettingsPage); m_pages.append(navigationSettingsPage); m_pages.append(servicesSettingsPage); + m_pages.append(trashSettingsPage); m_pages.append(generalSettingsPage); } @@ -102,10 +113,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); @@ -122,6 +130,16 @@ void DolphinSettingsDialog::applySettings() page->applySettings(); } DolphinApplication::app()->refreshMainWindows(); + + GeneralSettings* settings = DolphinSettings::instance().generalSettings(); + if (settings->modifiedStartupSettings()) { + // Reset the modified startup settings hint. The changed startup settings + // have been applied already in app()->refreshMainWindows(). + settings->setModifiedStartupSettings(false); + settings->writeConfig(); + } + + enableButtonApply(false); } void DolphinSettingsDialog::restoreDefaults() @@ -129,7 +147,6 @@ void DolphinSettingsDialog::restoreDefaults() foreach (SettingsPageBase* page, m_pages) { page->restoreDefaults(); } - DolphinApplication::app()->refreshMainWindows(); } #include "dolphinsettingsdialog.moc"