#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);
virtual ~KItemListSizeHintResolver();
- QSizeF sizeHint(int index) const;
+ QSizeF sizeHint(int index);
void itemsInserted(const KItemRangeList& itemRanges);
void itemsRemoved(const KItemRangeList& itemRanges);
- void itemsMoved(int index, int count);
+ void itemsMoved(const KItemRange& range, const QList<int>& movedToIndexes);
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;
+ bool m_needsResolving;
};
#endif