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.
m_container->beginTransaction();
const ViewProperties props(url());
m_container->beginTransaction();
const ViewProperties props(url());
+ KFileItemModel* model = fileItemModel();
const Mode mode = props.viewMode();
if (m_mode != mode) {
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;
const Mode previousMode = m_mode;
m_mode = mode;
if (m_container->zoomLevel() != oldZoomLevel) {
emit zoomLevelChanged(m_container->zoomLevel(), oldZoomLevel);
}
if (m_container->zoomLevel() != oldZoomLevel) {
emit zoomLevelChanged(m_container->zoomLevel(), oldZoomLevel);
}
+
+ if (restoreModel) {
+ loadDirectory(url());
+ }
}
const bool hiddenFilesShown = props.hiddenFilesShown();
}
const bool hiddenFilesShown = props.hiddenFilesShown();
emit hiddenFilesShownChanged(hiddenFilesShown);
}
emit hiddenFilesShownChanged(hiddenFilesShown);
}
- KFileItemModel* model = fileItemModel();
-
const bool groupedSorting = props.groupedSorting();
if (groupedSorting != model->groupedSorting()) {
model->setGroupedSorting(groupedSorting);
const bool groupedSorting = props.groupedSorting();
if (groupedSorting != model->groupedSorting()) {
model->setGroupedSorting(groupedSorting);