mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-19 16:31:21 +00:00
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:
parent
0c314917a5
commit
9135ff9537
|
@ -1126,9 +1126,18 @@ void DolphinView::applyViewProperties()
|
|||
m_container->beginTransaction();
|
||||
|
||||
const ViewProperties props(url());
|
||||
KFileItemModel* model = fileItemModel();
|
||||
|
||||
const Mode mode = props.viewMode();
|
||||
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;
|
||||
m_mode = mode;
|
||||
|
||||
|
@ -1149,6 +1158,10 @@ void DolphinView::applyViewProperties()
|
|||
if (m_container->zoomLevel() != oldZoomLevel) {
|
||||
emit zoomLevelChanged(m_container->zoomLevel(), oldZoomLevel);
|
||||
}
|
||||
|
||||
if (restoreModel) {
|
||||
loadDirectory(url());
|
||||
}
|
||||
}
|
||||
|
||||
const bool hiddenFilesShown = props.hiddenFilesShown();
|
||||
|
@ -1158,8 +1171,6 @@ void DolphinView::applyViewProperties()
|
|||
emit hiddenFilesShownChanged(hiddenFilesShown);
|
||||
}
|
||||
|
||||
KFileItemModel* model = fileItemModel();
|
||||
|
||||
const bool groupedSorting = props.groupedSorting();
|
||||
if (groupedSorting != model->groupedSorting()) {
|
||||
model->setGroupedSorting(groupedSorting);
|
||||
|
|
Loading…
Reference in a new issue