From: Peter Penz Date: Sat, 21 Mar 2009 11:49:10 +0000 (+0000) Subject: - Write the settings to the disk as soon as "Apply" or "OK" has been pressed inside... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/18f99bf84e1d38ddd4c86d253ff81a178bc2fb22?ds=sidebyside - Write the settings to the disk as soon as "Apply" or "OK" has been pressed inside a settings dialog. - Assure that the settings are saved in the DolphinPart destructor for settings that are changed outside the settings dialog (e. g. by using Ctrl + mouse wheel for adjusting the icon size). Thanks to Frank Reininghaus and David Faure for the analyses. CCBUG: 175085 svn path=/trunk/KDE/kdebase/apps/; revision=942194 --- diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index 40a62e844..c6076cc37 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -18,7 +18,6 @@ */ #include "dolphinpart.h" -#include #include "dolphinviewactionhandler.h" #include "dolphinsortfilterproxymodel.h" #include "dolphinview.h" @@ -44,6 +43,8 @@ #include #include +#include "settings/dolphinsettings.h" + #include #include #include @@ -140,6 +141,7 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL DolphinPart::~DolphinPart() { + DolphinSettings::instance().save(); DolphinNewMenuObserver::instance().detach(m_newMenu); delete m_dirLister; } diff --git a/src/settings/behaviorsettingspage.cpp b/src/settings/behaviorsettingspage.cpp index 8f156933b..144cc3f2f 100644 --- a/src/settings/behaviorsettingspage.cpp +++ b/src/settings/behaviorsettingspage.cpp @@ -138,6 +138,7 @@ void BehaviorSettingsPage::applySettings() settings->setRenameInline(m_renameInline->isChecked()); settings->setShowToolTips(m_showToolTips->isChecked()); settings->setShowSelectionToggle(m_showSelectionToggle->isChecked()); + settings->writeConfig(); } void BehaviorSettingsPage::restoreDefaults() diff --git a/src/settings/columnviewsettingspage.cpp b/src/settings/columnviewsettingspage.cpp index 78a987df2..828d812f4 100644 --- a/src/settings/columnviewsettingspage.cpp +++ b/src/settings/columnviewsettingspage.cpp @@ -116,6 +116,8 @@ void ColumnViewSettingsPage::applySettings() // TODO: //const int columnWidth = 150 + (m_columnWidthSlider->value() * 50); //settings->setColumnWidth(columnWidth); + + settings->writeConfig(); } void ColumnViewSettingsPage::restoreDefaults() diff --git a/src/settings/contextmenusettingspage.cpp b/src/settings/contextmenusettingspage.cpp index 06072ecbe..14b4286f9 100644 --- a/src/settings/contextmenusettingspage.cpp +++ b/src/settings/contextmenusettingspage.cpp @@ -68,6 +68,7 @@ void ContextMenuSettingsPage::applySettings() GeneralSettings* settings = DolphinSettings::instance().generalSettings(); settings->setShowCopyMoveMenu(m_showCopyMoveMenu->isChecked()); + settings->writeConfig(); } void ContextMenuSettingsPage::restoreDefaults() diff --git a/src/settings/detailsviewsettingspage.cpp b/src/settings/detailsviewsettingspage.cpp index 35b617fa4..ee89ba68c 100644 --- a/src/settings/detailsviewsettingspage.cpp +++ b/src/settings/detailsviewsettingspage.cpp @@ -109,6 +109,8 @@ void DetailsViewSettingsPage::applySettings() settings->setFontWeight(font.weight()); settings->setExpandableFolders(m_expandableFolders->isChecked()); + + settings->writeConfig(); } void DetailsViewSettingsPage::restoreDefaults() diff --git a/src/settings/iconsviewsettingspage.cpp b/src/settings/iconsviewsettingspage.cpp index 90c08ee35..306834910 100644 --- a/src/settings/iconsviewsettingspage.cpp +++ b/src/settings/iconsviewsettingspage.cpp @@ -186,6 +186,8 @@ void IconsViewSettingsPage::applySettings() } else { settings->setGridSpacing(GridSpacingBase + (index - 1) * GridSpacingInc); } + + settings->writeConfig(); } void IconsViewSettingsPage::restoreDefaults() diff --git a/src/settings/navigationsettingspage.cpp b/src/settings/navigationsettingspage.cpp index b6d3e7644..31f4d47c0 100644 --- a/src/settings/navigationsettingspage.cpp +++ b/src/settings/navigationsettingspage.cpp @@ -90,6 +90,8 @@ void NavigationSettingsPage::applySettings() GeneralSettings* settings = DolphinSettings::instance().generalSettings(); settings->setBrowseThroughArchives(m_openArchivesAsFolder->isChecked()); settings->setAutoExpandFolders(m_autoExpandFolders->isChecked()); + + settings->writeConfig(); } void NavigationSettingsPage::restoreDefaults() diff --git a/src/settings/servicessettingspage.cpp b/src/settings/servicessettingspage.cpp index 18f93dfa3..a58df2096 100644 --- a/src/settings/servicessettingspage.cpp +++ b/src/settings/servicessettingspage.cpp @@ -70,6 +70,8 @@ void ServicesSettingsPage::applySettings() const QString service = item->data(Qt::UserRole).toString(); showGroup.writeEntry(service, show); } + + showGroup.sync(); } void ServicesSettingsPage::restoreDefaults() diff --git a/src/settings/startupsettingspage.cpp b/src/settings/startupsettingspage.cpp index fd79debc3..1e1c6ed87 100644 --- a/src/settings/startupsettingspage.cpp +++ b/src/settings/startupsettingspage.cpp @@ -126,6 +126,8 @@ void StartupSettingsPage::applySettings() settings->setEditableUrl(m_editableUrl->isChecked()); settings->setShowFullPath(m_showFullPath->isChecked()); settings->setFilterBar(m_filterBar->isChecked()); + + settings->writeConfig(); } void StartupSettingsPage::restoreDefaults() diff --git a/src/settings/statusbarsettingspage.cpp b/src/settings/statusbarsettingspage.cpp index 241c159c5..74a453eff 100644 --- a/src/settings/statusbarsettingspage.cpp +++ b/src/settings/statusbarsettingspage.cpp @@ -62,6 +62,7 @@ void StatusBarSettingsPage::applySettings() GeneralSettings* settings = DolphinSettings::instance().generalSettings(); settings->setShowZoomSlider(m_showZoomSlider->isChecked()); settings->setShowSpaceInfo(m_showSpaceInfo->isChecked()); + settings->writeConfig(); } void StatusBarSettingsPage::restoreDefaults()