From ec38f1cdb641f0b277100edd92b268ec856e2ece Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 27 Sep 2011 20:42:58 +0200 Subject: Details view: Improve performance When inserting items or when updating the item-roles there is no need to recalculate the column-widths for all items to get an optimized column-width. --- src/kitemviews/kitemlistview.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/kitemviews/kitemlistview.h') diff --git a/src/kitemviews/kitemlistview.h b/src/kitemviews/kitemlistview.h index d6b0d5a77..091d2c36b 100644 --- a/src/kitemviews/kitemlistview.h +++ b/src/kitemviews/kitemlistview.h @@ -160,11 +160,12 @@ public: virtual QSizeF itemSizeHint(int index) const; /** + * @param itemRanges Items that must be checked for getting the visible roles sizes. * @return The size of each visible role in case if KItemListView::itemSize() * is empty. This allows to have dynamic but equal role sizes between * all items. Per default an empty hash is returned. */ - virtual QHash visibleRolesSizes() const; + virtual QHash visibleRolesSizes(const KItemRangeList& itemRanges) const; /** * @return The bounding rectangle of the item relative to the top/left of @@ -340,6 +341,11 @@ private: * if the m_itemRect is empty and no custom header-widths are used * (see m_useHeaderWidths). */ + void updateVisibleRoleSizes(const KItemRangeList& itemRanges); + + /** + * Convenience method for updateVisibleRoleSizes(KItemRangeList() << KItemRange(0, m_model->count()). + */ void updateVisibleRoleSizes(); /** -- cgit v1.3