]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kitemlistsizehintresolver.h
Merge branch 'Applications/16.04'
[dolphin.git] / src / kitemviews / private / kitemlistsizehintresolver.h
index 5ec5f4a2151b7752a0939a0847b527e07e7bb247..ff17f2de20ebcc7d51132fd154da921c365e3efe 100644 (file)
@@ -20,7 +20,7 @@
 #ifndef KITEMLISTSIZEHINTRESOLVER_H
 #define KITEMLISTSIZEHINTRESOLVER_H
 
-#include <libdolphin_export.h>
+#include "dolphin_export.h"
 
 #include <kitemviews/kitemmodelbase.h>
 #include <QSizeF>
@@ -31,23 +31,26 @@ 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);
-    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