X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/837be34333bc1b7d85649418366f26d64a6d6b2c..d48b733:/src/kitemviews/private/kitemlistsizehintresolver.h diff --git a/src/kitemviews/private/kitemlistsizehintresolver.h b/src/kitemviews/private/kitemlistsizehintresolver.h index 486f9b631..ff17f2de2 100644 --- a/src/kitemviews/private/kitemlistsizehintresolver.h +++ b/src/kitemviews/private/kitemlistsizehintresolver.h @@ -20,7 +20,7 @@ #ifndef KITEMLISTSIZEHINTRESOLVER_H #define KITEMLISTSIZEHINTRESOLVER_H -#include +#include "dolphin_export.h" #include #include @@ -31,12 +31,12 @@ class KItemListView; /** * @brief Calculates and caches the sizehints of items in KItemListView. */ -class LIBDOLPHINPRIVATE_EXPORT KItemListSizeHintResolver +class DOLPHIN_EXPORT KItemListSizeHintResolver { public: KItemListSizeHintResolver(const KItemListView* itemListView); virtual ~KItemListSizeHintResolver(); - QSizeF sizeHint(int index) const; + QSizeF sizeHint(int index); void itemsInserted(const KItemRangeList& itemRanges); void itemsRemoved(const KItemRangeList& itemRanges); @@ -44,10 +44,13 @@ public: void itemsChanged(int index, int count, const QSet& roles); void clearCache(); + void updateCache(); private: const KItemListView* m_itemListView; - mutable QVector m_sizeHintCache; + mutable QVector m_logicalHeightHintCache; + mutable qreal m_logicalWidthHint; + bool m_needsResolving; }; #endif