Use a QVector.
This commit is contained in:
parent
c1b4320f5c
commit
4781bc0f7a
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user