]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kitemlistsizehintresolver.h
Fix all 'explicit constructor' krazy warnings
[dolphin.git] / src / kitemviews / private / kitemlistsizehintresolver.h
index 486f9b6313f0771842f932c6a2e8e0a6b13e618c..b62c87a69be1196601ce11de101044d8c907213e 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,12 +31,14 @@ 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);
+    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);
@@ -44,10 +46,15 @@ public:
     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