┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kitemlistview.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp
index bda559d2c..20a5f4847 100644
--- a/src/kitemviews/kitemlistview.cpp
+++ b/src/kitemviews/kitemlistview.cpp
@@ -1385,7 +1385,17 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha
widget->setVisible(true);
if (widget->size() != itemBounds.size()) {
+ // Resize the widget for the item to the changed size.
if (animate) {
+ // If a dynamic item size is used then no animation is done in the direction
+ // of the dynamic size.
+ if (m_itemSize.width() <= 0) {
+ // The width is dynamic, apply the new width without animation.
+ widget->resize(itemBounds.width(), widget->size().height());
+ } else if (m_itemSize.height() <= 0) {
+ // The height is dynamic, apply the new height without animation.
+ widget->resize(widget->size().width(), itemBounds.height());
+ }
m_animation->start(widget, KItemListViewAnimation::ResizeAnimation, itemBounds.size());
} else {
widget->resize(itemBounds.size());