┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistview.h
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-09-28 20:04:31 +0200
committerPeter Penz <[email protected]>2011-09-28 20:06:58 +0200
commite43f29576d4666a66cd4d236418baf403f176069 (patch)
tree3b53d949837b56060a4973891338cdbad5e5b348 /src/kitemviews/kitemlistview.h
parentec38f1cdb641f0b277100edd92b268ec856e2ece (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.h19
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;