#ifndef KITEMLISTSIZEHINTRESOLVER_H
#define KITEMLISTSIZEHINTRESOLVER_H
-#include <libdolphin_export.h>
+#include "dolphin_export.h"
#include <kitemviews/kitemmodelbase.h>
#include <QSizeF>
/**
* @brief Calculates and caches the sizehints of items in KItemListView.
*/
-class LIBDOLPHINPRIVATE_EXPORT KItemListSizeHintResolver
+class DOLPHIN_EXPORT KItemListSizeHintResolver
{
public:
- KItemListSizeHintResolver(const KItemListView* itemListView);
+ explicit KItemListSizeHintResolver(const KItemListView* itemListView);
virtual ~KItemListSizeHintResolver();
- QSizeF sizeHint(int index) const;
+ QSizeF maxSizeHint();
+ QSizeF minSizeHint();
+ QSizeF sizeHint(int index);
void itemsInserted(const KItemRangeList& itemRanges);
void itemsRemoved(const KItemRangeList& itemRanges);
void itemsChanged(int index, int count, const QSet<QByteArray>& roles);
void clearCache();
+ void updateCache();
private:
const KItemListView* m_itemListView;
- mutable QVector<QSizeF> m_sizeHintCache;
+ mutable QVector<qreal> m_logicalHeightHintCache;
+ mutable qreal m_logicalWidthHint;
+ mutable qreal m_logicalHeightHint;
+ mutable qreal m_minHeightHint;
+ bool m_needsResolving;
};
#endif