Fix icon resize animation

This MR fixes an issue where, under certain conditions, an icon resize animation is performed that shouldn't be there.
This commit is contained in:
Eugene Popov 2022-04-23 18:28:22 +03:00 committed by Felix Ernst
parent 2834e581e0
commit 94bbf13ff7

View file

@ -1858,6 +1858,8 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha
Q_ASSERT(widget->index() == i);
widget->setVisible(true);
bool animateIconResizing = animate;
if (widget->size() != itemBounds.size()) {
// Resize the widget for the item to the changed size.
if (animate) {
@ -1874,11 +1876,13 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha
} else {
widget->resize(itemBounds.size());
}
} else {
animateIconResizing = false;
}
const int newIconSize = widget->styleOption().iconSize;
if (widget->iconSize() != newIconSize) {
if (animate) {
if (animateIconResizing) {
m_animation->start(widget, KItemListViewAnimation::IconResizeAnimation, newIconSize);
} else {
widget->setIconSize(newIconSize);