From 4f451eece52be1160aa1600b30a702b379cd74c6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 16 May 2018 08:41:47 -0400 Subject: [PATCH] [partition] Refactor getting the checked flags --- .../partition/gui/CreatePartitionDialog.cpp | 9 +-------- .../gui/EditExistingPartitionDialog.cpp | 9 +-------- .../partition/gui/PartitionDialogHelpers.cpp | 16 ++++++++++++++++ .../partition/gui/PartitionDialogHelpers.h | 8 ++++++++ 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/modules/partition/gui/CreatePartitionDialog.cpp b/src/modules/partition/gui/CreatePartitionDialog.cpp index 310987f93..a2bd3fa66 100644 --- a/src/modules/partition/gui/CreatePartitionDialog.cpp +++ b/src/modules/partition/gui/CreatePartitionDialog.cpp @@ -133,14 +133,7 @@ CreatePartitionDialog::~CreatePartitionDialog() PartitionTable::Flags CreatePartitionDialog::newFlags() const { - PartitionTable::Flags flags; - - for ( int i = 0; i < m_ui->m_listFlags->count(); i++ ) - if ( m_ui->m_listFlags->item( i )->checkState() == Qt::Checked ) - flags |= static_cast< PartitionTable::Flag >( - m_ui->m_listFlags->item( i )->data( Qt::UserRole ).toInt() ); - - return flags; + return flagsFromList( *(m_ui->m_listFlags) ); } diff --git a/src/modules/partition/gui/EditExistingPartitionDialog.cpp b/src/modules/partition/gui/EditExistingPartitionDialog.cpp index 8a64cb27c..c930cdf74 100644 --- a/src/modules/partition/gui/EditExistingPartitionDialog.cpp +++ b/src/modules/partition/gui/EditExistingPartitionDialog.cpp @@ -117,14 +117,7 @@ EditExistingPartitionDialog::~EditExistingPartitionDialog() PartitionTable::Flags EditExistingPartitionDialog::newFlags() const { - PartitionTable::Flags flags; - - for ( int i = 0; i < m_ui->m_listFlags->count(); i++ ) - if ( m_ui->m_listFlags->item( i )->checkState() == Qt::Checked ) - flags |= static_cast< PartitionTable::Flag >( - m_ui->m_listFlags->item( i )->data( Qt::UserRole ).toInt() ); - - return flags; + return flagsFromList( *(m_ui->m_listFlags) ); } diff --git a/src/modules/partition/gui/PartitionDialogHelpers.cpp b/src/modules/partition/gui/PartitionDialogHelpers.cpp index b3bb0d33a..ee08412c7 100644 --- a/src/modules/partition/gui/PartitionDialogHelpers.cpp +++ b/src/modules/partition/gui/PartitionDialogHelpers.cpp @@ -27,6 +27,7 @@ #include "utils/Logger.h" #include +#include QStringList standardMountPoints() @@ -79,3 +80,18 @@ setSelectedMountPoint(QComboBox& combo, const QString& selected) combo.setCurrentIndex( combo.count() - 1); } } + + +PartitionTable::Flags +flagsFromList( const QListWidget& list ) +{ + PartitionTable::Flags flags; + + for ( int i = 0; i < list.count(); i++ ) + if ( list.item( i )->checkState() == Qt::Checked ) + flags |= static_cast< PartitionTable::Flag >( + list.item( i )->data( Qt::UserRole ).toInt() ); + + return flags; +} + diff --git a/src/modules/partition/gui/PartitionDialogHelpers.h b/src/modules/partition/gui/PartitionDialogHelpers.h index 3c497a62d..124c10463 100644 --- a/src/modules/partition/gui/PartitionDialogHelpers.h +++ b/src/modules/partition/gui/PartitionDialogHelpers.h @@ -21,9 +21,12 @@ #ifndef PARTITION_GUI_PARTITIONDIALOGHELPERS #define PARTITION_GUI_PARTITIONDIALOGHELPERS +#include + #include class QComboBox; +class QListWidget; /** * Returns a list of standard mount points (e.g. /, /usr, ...). @@ -56,4 +59,9 @@ static inline QString selectedMountPoint(QComboBox* combo) { return selectedMoun void setSelectedMountPoint( QComboBox& combo, const QString& selected ); static inline void setSelectedMountPoint(QComboBox* combo, const QString& selected) { setSelectedMountPoint( *combo, selected); } +/** + * Get the flags that have been checked in the list widget. + */ +PartitionTable::Flags flagsFromList( const QListWidget& list ); + #endif