When expanding/collapsing folders in the tree-view the visibility
of group-headers got unpredictable.
delete m_leftBorderCache;
delete m_rightBorderCache;
delete m_leftBorderCache;
delete m_rightBorderCache;
- const int length = size().height() - 1;
+ const int length = qMax(int(size().height() - 1), 1);
m_leftBorderCache = new QPixmap(length, length);
m_leftBorderCache->fill(Qt::transparent);
m_leftBorderCache = new QPixmap(length, length);
m_leftBorderCache->fill(Qt::transparent);
if (invisible && !m_animation->isStarted(widget)) {
widget->setVisible(false);
reusableItems.append(index);
if (invisible && !m_animation->isStarted(widget)) {
widget->setVisible(false);
reusableItems.append(index);
+
+ if (m_grouped) {
+ recycleGroupHeaderForWidget(widget);
+ }
const int oldIndex = reusableItems.takeLast();
widget = m_visibleItems.value(oldIndex);
setWidgetIndex(widget, i);
const int oldIndex = reusableItems.takeLast();
widget = m_visibleItems.value(oldIndex);
setWidgetIndex(widget, i);
+
+ if (m_grouped) {
+ updateGroupHeaderForWidget(widget);
+ }
} else {
// No reusable KItemListWidget instance is available, create a new one
widget = createWidget(i);
} else {
// No reusable KItemListWidget instance is available, create a new one
widget = createWidget(i);
updateWidgetProperties(widget, index);
m_visibleItems.insert(index, widget);
updateWidgetProperties(widget, index);
m_visibleItems.insert(index, widget);
- if (m_grouped) {
- updateGroupHeaderForWidget(widget);
- }
-
initializeItemListWidget(widget);
}
initializeItemListWidget(widget);
}
bool KItemListViewLayouter::isFirstGroupItem(int itemIndex) const
{
bool KItemListViewLayouter::isFirstGroupItem(int itemIndex) const
{
+ const_cast<KItemListViewLayouter*>(this)->doLayout();
return m_groupItemIndexes.contains(itemIndex);
}
return m_groupItemIndexes.contains(itemIndex);
}