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();
|
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);
|
||||||
|
|
Loading…
Reference in a new issue