diff options
| author | Eugene Popov <[email protected]> | 2022-04-23 18:28:22 +0300 |
|---|---|---|
| committer | Felix Ernst <[email protected]> | 2022-05-01 10:04:24 +0000 |
| commit | 94bbf13ff7fe45cb4a847ed7906fa69d5a39748b (patch) | |
| tree | f568db258910bdc35c7e0d7b96dfd0f762c8aaa0 | |
| parent | 2834e581e0b734e24f2e3010c4a1bc3c41e2e78a (diff) | |
Fix icon resize animation
This MR fixes an issue where, under certain conditions, an icon resize animation is performed that shouldn't be there.
| -rw-r--r-- | src/kitemviews/kitemlistview.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index 77114735b..562a45e18 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -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); |
