2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #ifndef KITEMLISTSIZEHINTRESOLVER_H
8 #define KITEMLISTSIZEHINTRESOLVER_H
10 #include "dolphin_export.h"
11 #include "kitemviews/kitemmodelbase.h"
19 * @brief Calculates and caches the sizehints of items in KItemListView.
21 class DOLPHIN_EXPORT KItemListSizeHintResolver
24 explicit KItemListSizeHintResolver(const KItemListView
* itemListView
);
25 virtual ~KItemListSizeHintResolver();
27 QSizeF
sizeHint(int index
);
29 void itemsInserted(const KItemRangeList
& itemRanges
);
30 void itemsRemoved(const KItemRangeList
& itemRanges
);
31 void itemsMoved(const KItemRange
& range
, const QList
<int>& movedToIndexes
);
32 void itemsChanged(int index
, int count
, const QSet
<QByteArray
>& roles
);
38 const KItemListView
* m_itemListView
;
39 mutable QVector
<qreal
> m_logicalHeightHintCache
;
40 mutable qreal m_logicalWidthHint
;
41 mutable qreal m_minHeightHint
;
42 bool m_needsResolving
;