diff --git a/plasma/applets/folderview/folderview.cpp b/plasma/applets/folderview/folderview.cpp index 5a8f483b98..34825315f7 100644 --- a/plasma/applets/folderview/folderview.cpp +++ b/plasma/applets/folderview/folderview.cpp @@ -542,8 +542,15 @@ void FolderView::configChanged() preserveIconPositions = true; } - m_sortDirsFirst = cg.readEntry("sortDirsFirst", m_sortDirsFirst); - toggleDirectoriesFirst(m_sortDirsFirst); + const bool sortDirsFirst = cg.readEntry("sortDirsFirst", m_sortDirsFirst); + if (sortDirsFirst != m_sortDirsFirst) { + m_sortDirsFirst = sortDirsFirst; + + m_model->setSortDirectoriesFirst(m_sortDirsFirst); + if (m_sortColumn != -1) { + m_model->invalidate(); + } + } const int sortColumn = cg.readEntry("sortColumn", m_sortColumn); const Qt::SortOrder sortOrder = sortOrderStringToEnum(cg.readEntry("sortOrder", sortOrderEnumToString(m_sortOrder))); @@ -1793,11 +1800,12 @@ void FolderView::toggleDirectoriesFirst(bool enable) m_model->setSortDirectoriesFirst(m_sortDirsFirst); if (m_sortColumn != -1) { m_model->invalidate(); - m_delayedSaveTimer.start(5000, this); } config().writeEntry("sortDirsFirst", m_sortDirsFirst); emit configNeedsSaving(); + + m_delayedSaveTimer.start(5000, this); } void FolderView::sortingChanged(QAction *action)