diff --git a/src/modules/partition/gui/CreatePartitionDialog.cpp b/src/modules/partition/gui/CreatePartitionDialog.cpp index ee2db315f..8338e8913 100644 --- a/src/modules/partition/gui/CreatePartitionDialog.cpp +++ b/src/modules/partition/gui/CreatePartitionDialog.cpp @@ -328,7 +328,7 @@ CreatePartitionDialog::initFromPartitionToCreate( Partition* partition ) m_ui->fsComboBox->setCurrentText( FileSystem::nameForType( fsType ) ); // Mount point - m_ui->mountPointComboBox->setCurrentText( PartitionInfo::mountPoint( partition ) ); + setSelectedMountPoint( m_ui->mountPointComboBox, PartitionInfo::mountPoint( partition ) ); updateMountPointUi(); } diff --git a/src/modules/partition/gui/MountPoints.cpp b/src/modules/partition/gui/MountPoints.cpp index 301773957..18a89fca0 100644 --- a/src/modules/partition/gui/MountPoints.cpp +++ b/src/modules/partition/gui/MountPoints.cpp @@ -65,3 +65,24 @@ selectedMountPoint(QComboBox& combo) return QString(); return combo.currentText(); } + +void +setSelectedMountPoint(QComboBox& combo, const QString& selected) +{ + cDebug() << "Setting mount point" << selected; + if ( selected.isEmpty() ) + combo.setCurrentIndex( 0 ); // (no mount point) + else + { + for ( int i = 0; i < combo.count(); ++i ) + if ( selected == combo.itemText( i ) ) + { + cDebug() << " .. found at index" << i; + combo.setCurrentIndex( i ); + return; + } + cDebug() << " .. new item"; + combo.addItem( selected ); + combo.setCurrentIndex( combo.count() - 1); + } +} diff --git a/src/modules/partition/gui/MountPoints.h b/src/modules/partition/gui/MountPoints.h index 68390da0b..23bb9b0f1 100644 --- a/src/modules/partition/gui/MountPoints.h +++ b/src/modules/partition/gui/MountPoints.h @@ -53,5 +53,7 @@ void standardMountPoints( QComboBox&, const QString& selected ); QString selectedMountPoint( QComboBox& combo ); static inline QString selectedMountPoint(QComboBox* combo) { return selectedMountPoint(*combo); } +void setSelectedMountPoint( QComboBox& combo, const QString& selected ); +static inline void setSelectedMountPoint(QComboBox* combo, const QString& selected) { setSelectedMountPoint( *combo, selected); } #endif