diff options
| author | Peter Penz <[email protected]> | 2011-09-28 20:04:31 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-09-28 20:06:58 +0200 |
| commit | e43f29576d4666a66cd4d236418baf403f176069 (patch) | |
| tree | 3b53d949837b56060a4973891338cdbad5e5b348 /src/kitemviews/kitemlistview.h | |
| parent | ec38f1cdb641f0b277100edd92b268ec856e2ece (diff) | |
Details view: Improve performance when expanding items
Prevent unnecessary calls to visibleRolesSizes() when
expanding items. Also the performance has been improved when
resizing the window.
Diffstat (limited to 'src/kitemviews/kitemlistview.h')
| -rw-r--r-- | src/kitemviews/kitemlistview.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/kitemviews/kitemlistview.h b/src/kitemviews/kitemlistview.h index 091d2c36b..73b736bf7 100644 --- a/src/kitemviews/kitemlistview.h +++ b/src/kitemviews/kitemlistview.h @@ -337,16 +337,24 @@ private: QHash<QByteArray, qreal> headerRolesWidths() const; /** - * Updates m_visibleRoleSizes by calling KItemListView::visibleRoleSizes() - * if the m_itemRect is empty and no custom header-widths are used - * (see m_useHeaderWidths). + * Updates m_visibleRolesSizes by calling KItemListView::visibleRolesSizes(). + * Nothing will be done if m_itemRect is not empty or custom header-widths + * are used (see m_useHeaderWidths). Also m_strechedVisibleRolesSizes will be adjusted + * to respect the available view-size. */ - void updateVisibleRoleSizes(const KItemRangeList& itemRanges); + void updateVisibleRolesSizes(const KItemRangeList& itemRanges); /** * Convenience method for updateVisibleRoleSizes(KItemRangeList() << KItemRange(0, m_model->count()). */ - void updateVisibleRoleSizes(); + void updateVisibleRolesSizes(); + + /** + * Updates m_stretchedVisibleRolesSizes based on m_visibleRolesSizes and the available + * view-size. Nothing will be done if m_itemRect is not empty or custom header-widths + * are used (see m_useHeaderWidths). + */ + void updateStretchedVisibleRolesSizes(); /** * Helper function for triggerAutoScrolling(). @@ -369,6 +377,7 @@ private: KItemModelBase* m_model; QList<QByteArray> m_visibleRoles; QHash<QByteArray, QSizeF> m_visibleRolesSizes; + QHash<QByteArray, QSizeF> m_stretchedVisibleRolesSizes; KItemListWidgetCreatorBase* m_widgetCreator; KItemListGroupHeaderCreatorBase* m_groupHeaderCreator; KItemListStyleOption m_styleOption; |
