X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/ac62df5672f67393bd582edefaeccb0eb89537e8..dc3e19744dedef4b185eb0becb00a28c74381c4c:/src/dolphindetailsview.cpp diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index f434936dc..24692b5a8 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -21,6 +21,7 @@ #include "dolphindetailsview.h" #include "dolphinmainwindow.h" +#include "dolphinsortfilterproxymodel.h" #include "dolphinview.h" #include "viewproperties.h" @@ -142,33 +143,21 @@ void DolphinDetailsView::synchronizeSortingState(int column) // The sorting has already been changed in QTreeView if this slot is // invoked, but Dolphin was not informed about this. This is bypassed by changing // the sorting and sort order to a temporary other value and readjust it again. - const bool update = (column == KDirModel::Name) || (column == KDirModel::Size) || - (column == KDirModel::ModifiedTime); - if (update) { - DolphinView::Sorting sorting = DolphinView::SortByName; - switch (column) { - case KDirModel::Size: sorting = DolphinView::SortBySize; break; - case KDirModel::ModifiedTime: sorting = DolphinView::SortByDate; break; - case KDirModel::Name: - default: break; - } - - const Qt::SortOrder sortOrder = header()->sortIndicatorOrder(); - - // temporary adjust the sorting and sort order to different values... - const DolphinView::Sorting tempSorting = (sorting == DolphinView::SortByName) ? - DolphinView::SortBySize : - DolphinView::SortByName; - m_dolphinView->setSorting(tempSorting); - const Qt::SortOrder tempSortOrder = (sortOrder == Qt::Ascending) ? - Qt::Descending : Qt::Ascending; - m_dolphinView->setSortOrder(tempSortOrder); - - // ... so that setting them again results in storing the new setting. - m_dolphinView->setSorting(sorting); - m_dolphinView->setSortOrder(sortOrder); - } - + DolphinView::Sorting sorting = DolphinSortFilterProxyModel::sortingForColumn(column); + const Qt::SortOrder sortOrder = header()->sortIndicatorOrder(); + + // temporary adjust the sorting and sort order to different values... + const DolphinView::Sorting tempSorting = (sorting == DolphinView::SortByName) ? + DolphinView::SortBySize : + DolphinView::SortByName; + m_dolphinView->setSorting(tempSorting); + const Qt::SortOrder tempSortOrder = (sortOrder == Qt::Ascending) ? + Qt::Descending : Qt::Ascending; + m_dolphinView->setSortOrder(tempSortOrder); + + // ... so that setting them again results in storing the new setting. + m_dolphinView->setSorting(sorting); + m_dolphinView->setSortOrder(sortOrder); } #include "dolphindetailsview.moc"