mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-28 11:25:14 +00:00
Replace QList by QVector if the elements are larger than a pointer
If the elements are larger than a pointer, QList does not store the elements themselves, but pointers to them in a contiguous block of memory. This wastes quite a bit of memory. This can be prevented easily by using QVector instead. REVIEW: 111304
This commit is contained in:
parent
dedebed468
commit
2a612e12ce
|
@ -55,8 +55,8 @@ void KItemListSizeHintResolver::itemsInserted(int index, int count)
|
||||||
|
|
||||||
void KItemListSizeHintResolver::itemsRemoved(int index, int count)
|
void KItemListSizeHintResolver::itemsRemoved(int index, int count)
|
||||||
{
|
{
|
||||||
const QList<QSizeF>::iterator begin = m_sizeHintCache.begin() + index;
|
const QVector<QSizeF>::iterator begin = m_sizeHintCache.begin() + index;
|
||||||
const QList<QSizeF>::iterator end = begin + count;
|
const QVector<QSizeF>::iterator end = begin + count;
|
||||||
m_sizeHintCache.erase(begin, end);
|
m_sizeHintCache.erase(begin, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,8 @@
|
||||||
#include <libdolphin_export.h>
|
#include <libdolphin_export.h>
|
||||||
|
|
||||||
#include <QByteArray>
|
#include <QByteArray>
|
||||||
#include <QList>
|
|
||||||
#include <QSizeF>
|
#include <QSizeF>
|
||||||
|
#include <QVector>
|
||||||
|
|
||||||
class KItemListView;
|
class KItemListView;
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const KItemListView* m_itemListView;
|
const KItemListView* m_itemListView;
|
||||||
mutable QList<QSizeF> m_sizeHintCache;
|
mutable QVector<QSizeF> m_sizeHintCache;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include <QRectF>
|
#include <QRectF>
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
#include <QSizeF>
|
#include <QSizeF>
|
||||||
|
#include <QVector>
|
||||||
|
|
||||||
class KItemModelBase;
|
class KItemModelBase;
|
||||||
class KItemListSizeHintResolver;
|
class KItemListSizeHintResolver;
|
||||||
|
@ -230,7 +231,7 @@ private:
|
||||||
int column;
|
int column;
|
||||||
int row;
|
int row;
|
||||||
};
|
};
|
||||||
QList<ItemInfo> m_itemInfos;
|
QVector<ItemInfo> m_itemInfos;
|
||||||
|
|
||||||
friend class KItemListControllerTest;
|
friend class KItemListControllerTest;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue