Don't animate when switching view-modes

Currently when switching the view-modes an animation of the items
is done, where the position and size is adjusted for the new
view-mode.

Although this might look nice initially I'd consider this as a
kind of animation that is distracting and hence it has been
turned off.
This commit is contained in:
Peter Penz 2011-12-06 19:46:31 +01:00
parent 0c314917a5
commit 9135ff9537

View file

@ -1126,9 +1126,18 @@ void DolphinView::applyViewProperties()
m_container->beginTransaction(); m_container->beginTransaction();
const ViewProperties props(url()); const ViewProperties props(url());
KFileItemModel* model = fileItemModel();
const Mode mode = props.viewMode(); const Mode mode = props.viewMode();
if (m_mode != mode) { if (m_mode != mode) {
// Prevent an animated transition of the position and size of the items when switching
// the view-mode by temporary clearing the model and updating it again after the view mode
// has been modified.
const bool restoreModel = (model->count() > 0);
if (restoreModel) {
model->clear();
}
const Mode previousMode = m_mode; const Mode previousMode = m_mode;
m_mode = mode; m_mode = mode;
@ -1149,6 +1158,10 @@ void DolphinView::applyViewProperties()
if (m_container->zoomLevel() != oldZoomLevel) { if (m_container->zoomLevel() != oldZoomLevel) {
emit zoomLevelChanged(m_container->zoomLevel(), oldZoomLevel); emit zoomLevelChanged(m_container->zoomLevel(), oldZoomLevel);
} }
if (restoreModel) {
loadDirectory(url());
}
} }
const bool hiddenFilesShown = props.hiddenFilesShown(); const bool hiddenFilesShown = props.hiddenFilesShown();
@ -1158,8 +1171,6 @@ void DolphinView::applyViewProperties()
emit hiddenFilesShownChanged(hiddenFilesShown); emit hiddenFilesShownChanged(hiddenFilesShown);
} }
KFileItemModel* model = fileItemModel();
const bool groupedSorting = props.groupedSorting(); const bool groupedSorting = props.groupedSorting();
if (groupedSorting != model->groupedSorting()) { if (groupedSorting != model->groupedSorting()) {
model->setGroupedSorting(groupedSorting); model->setGroupedSorting(groupedSorting);