Use a QVector.

This commit is contained in:
Teo Mrnjavac 2016-02-17 16:46:51 +01:00
parent c1b4320f5c
commit 4781bc0f7a
2 changed files with 16 additions and 16 deletions

View File

@ -58,7 +58,7 @@ void
PartitionSplitterWidget::init( Device* dev, bool drawNestedPartitions ) PartitionSplitterWidget::init( Device* dev, bool drawNestedPartitions )
{ {
m_drawNestedPartitions = drawNestedPartitions; m_drawNestedPartitions = drawNestedPartitions;
QList< PartitionSplitterItem > allPartitionItems; QVector< PartitionSplitterItem > allPartitionItems;
PartitionSplitterItem* extendedPartitionItem = nullptr; PartitionSplitterItem* extendedPartitionItem = nullptr;
for ( auto it = PartitionIterator::begin( dev ); for ( auto it = PartitionIterator::begin( dev );
it != PartitionIterator::end( dev ); ++it ) it != PartitionIterator::end( dev ); ++it )
@ -95,7 +95,7 @@ PartitionSplitterWidget::init( Device* dev, bool drawNestedPartitions )
} }
void void
PartitionSplitterWidget::setupItems( const QList<PartitionSplitterItem>& items ) PartitionSplitterWidget::setupItems( const QVector<PartitionSplitterItem>& items )
{ {
m_itemToResize = nullptr; m_itemToResize = nullptr;
m_itemToResizeNext = nullptr; m_itemToResizeNext = nullptr;
@ -453,13 +453,13 @@ PartitionSplitterWidget::drawResizeHandle( QPainter* painter,
void void
PartitionSplitterWidget::drawPartitions( QPainter* painter, PartitionSplitterWidget::drawPartitions( QPainter* painter,
const QRect& rect, const QRect& rect,
const QList< PartitionSplitterItem >& itemList ) const QVector< PartitionSplitterItem >& itemList )
{ {
const int count = itemList.count(); const int count = itemList.count();
const int totalWidth = rect.width(); const int totalWidth = rect.width();
auto pair = computeItemsVector( itemList ); auto pair = computeItemsVector( itemList );
QList< PartitionSplitterItem >& items = pair.first; QVector< PartitionSplitterItem >& items = pair.first;
qreal total = pair.second; qreal total = pair.second;
int x = rect.x(); int x = rect.x();
@ -504,7 +504,7 @@ PartitionSplitterWidget::drawPartitions( QPainter* painter,
template < typename F > template < typename F >
PartitionSplitterItem* PartitionSplitterItem*
PartitionSplitterWidget::_findItem( QList< PartitionSplitterItem >& items, PartitionSplitterWidget::_findItem( QVector< PartitionSplitterItem >& items,
F condition ) F condition )
{ {
for ( auto it = items.begin(); it != items.end(); ++it) for ( auto it = items.begin(); it != items.end(); ++it)
@ -520,10 +520,10 @@ PartitionSplitterWidget::_findItem( QList< PartitionSplitterItem >& items,
} }
QPair< QList< PartitionSplitterItem >, qreal > QPair< QVector< PartitionSplitterItem >, qreal >
PartitionSplitterWidget::computeItemsVector( const QList< PartitionSplitterItem >& originalItems ) const PartitionSplitterWidget::computeItemsVector( const QVector< PartitionSplitterItem >& originalItems ) const
{ {
QList< PartitionSplitterItem > items; QVector< PartitionSplitterItem > items;
qreal total = 0; qreal total = 0;
for ( int row = 0; row < originalItems.count(); ++row ) for ( int row = 0; row < originalItems.count(); ++row )
@ -536,7 +536,7 @@ PartitionSplitterWidget::computeItemsVector( const QList< PartitionSplitterItem
else else
{ {
PartitionSplitterItem thisItem = originalItems[ row ]; PartitionSplitterItem thisItem = originalItems[ row ];
QPair< QList< PartitionSplitterItem >, qreal > pair = computeItemsVector( thisItem.children ); QPair< QVector< PartitionSplitterItem >, qreal > pair = computeItemsVector( thisItem.children );
thisItem.children = pair.first; thisItem.children = pair.first;
thisItem.size = pair.second; thisItem.size = pair.second;
items += thisItem; items += thisItem;

View File

@ -30,7 +30,7 @@ struct PartitionSplitterItem
bool isFreeSpace; bool isFreeSpace;
qint64 size; qint64 size;
QList< PartitionSplitterItem > children; QVector< PartitionSplitterItem > children;
}; };
class PartitionSplitterWidget : public QWidget class PartitionSplitterWidget : public QWidget
@ -63,11 +63,11 @@ protected:
void mouseReleaseEvent( QMouseEvent* event ) override; void mouseReleaseEvent( QMouseEvent* event ) override;
private: private:
void setupItems( const QList< PartitionSplitterItem >& items ); void setupItems( const QVector< PartitionSplitterItem >& items );
void drawPartitions( QPainter* painter, void drawPartitions( QPainter* painter,
const QRect& rect, const QRect& rect,
const QList< PartitionSplitterItem >& itemList ); const QVector< PartitionSplitterItem >& itemList );
void drawSection( QPainter* painter, const QRect& rect_, int x, int width, void drawSection( QPainter* painter, const QRect& rect_, int x, int width,
const PartitionSplitterItem& item ); const PartitionSplitterItem& item );
void drawResizeHandle( QPainter* painter, void drawResizeHandle( QPainter* painter,
@ -75,13 +75,13 @@ private:
int x ); int x );
template < typename F > template < typename F >
PartitionSplitterItem* _findItem( QList< PartitionSplitterItem >& items, PartitionSplitterItem* _findItem( QVector< PartitionSplitterItem >& items,
F condition ); F condition );
QPair< QList< PartitionSplitterItem >, qreal > QPair< QVector< PartitionSplitterItem >, qreal >
computeItemsVector( const QList< PartitionSplitterItem >& originalItems ) const; computeItemsVector( const QVector< PartitionSplitterItem >& originalItems ) const;
QList< PartitionSplitterItem > m_items; QVector< PartitionSplitterItem > m_items;
QString m_itemToResizePath; QString m_itemToResizePath;
PartitionSplitterItem* m_itemToResize; PartitionSplitterItem* m_itemToResize;
PartitionSplitterItem* m_itemToResizeNext; PartitionSplitterItem* m_itemToResizeNext;