KFileItemListView::~KFileItemListView()
{
- delete widgetCreator();
+ // The group headers are children of the widgets created by
+ // widgetCreator(). So it is mandatory to delete the group headers
+ // first.
delete groupHeaderCreator();
+ delete widgetCreator();
delete m_modelRolesUpdater;
m_modelRolesUpdater = 0;
maxTimeExceeded = true;
break;
}
+ ++calculatedItemCount;
}
if (maxTimeExceeded) {
break;
}
- ++calculatedItemCount;
- }
-
- // Stretch the width of the first role so that the full visible view-width
- // is used to show all roles.
- const qreal availableWidth = size().width();
-
- qreal usedWidth = 0;
- QHashIterator<QByteArray, QSizeF> it(sizes);
- while (it.hasNext()) {
- it.next();
- usedWidth += it.value().width();
- }
-
- if (usedWidth < availableWidth) {
- const QByteArray role = visibleRoles().first();
- QSizeF firstRoleSize = sizes.value(role);
- firstRoleSize.rwidth() += availableWidth - usedWidth;
- sizes.insert(role, firstRoleSize);
}
#ifdef KFILEITEMLISTVIEW_DEBUG
case DetailsLayout: fileItemListWidget->setLayout(KFileItemListWidget::DetailsLayout); break;
default: Q_ASSERT(false); break;
}
+
+ fileItemListWidget->setAlternatingBackgroundColors(m_itemLayout == DetailsLayout);
}
bool KFileItemListView::itemSizeHintUpdateRequired(const QSet<QByteArray>& changedRoles) const