Add a "do not install boot loader" value to the boot loader picker.
This commit is contained in:
parent
8c537daadc
commit
881bf67d22
@ -66,6 +66,9 @@ BootLoaderModel::createMbrItems()
|
||||
void
|
||||
BootLoaderModel::update()
|
||||
{
|
||||
clear();
|
||||
createMbrItems();
|
||||
|
||||
QString partitionText;
|
||||
Partition* partition = PMUtils::findPartitionByMountPoint( m_devices, "/boot" );
|
||||
if ( partition )
|
||||
@ -86,19 +89,25 @@ BootLoaderModel::update()
|
||||
{
|
||||
if ( lastIsPartition )
|
||||
takeRow( rowCount() - 1 );
|
||||
return;
|
||||
}
|
||||
|
||||
QString mountPoint = PartitionInfo::mountPoint( partition );
|
||||
if ( lastIsPartition )
|
||||
{
|
||||
last->setText( partitionText );
|
||||
last->setData( mountPoint, BootLoaderPathRole );
|
||||
}
|
||||
else
|
||||
{
|
||||
QString mountPoint = PartitionInfo::mountPoint( partition );
|
||||
if ( lastIsPartition )
|
||||
{
|
||||
last->setText( partitionText );
|
||||
last->setData( mountPoint, BootLoaderPathRole );
|
||||
}
|
||||
else
|
||||
{
|
||||
appendRow(
|
||||
createBootLoaderItem( partitionText, PartitionInfo::mountPoint( partition ), true )
|
||||
);
|
||||
}
|
||||
|
||||
// Create "don't install bootloader" item
|
||||
appendRow(
|
||||
createBootLoaderItem( partitionText, PartitionInfo::mountPoint( partition ), true )
|
||||
createBootLoaderItem( tr( "Do not install a boot loader" ), QString(), false )
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -108,9 +117,14 @@ QVariant
|
||||
BootLoaderModel::data( const QModelIndex& index, int role ) const
|
||||
{
|
||||
if ( role == Qt::DisplayRole )
|
||||
{
|
||||
if ( QStandardItemModel::data( index, BootLoaderModel::BootLoaderPathRole ).toString().isEmpty() )
|
||||
return QStandardItemModel::data( index, Qt::DisplayRole ).toString();
|
||||
|
||||
return tr( "%1 (%2)" )
|
||||
.arg( QStandardItemModel::data( index, Qt::DisplayRole ).toString() )
|
||||
.arg( QStandardItemModel::data( index, BootLoaderModel::BootLoaderPathRole ).toString() );
|
||||
}
|
||||
return QStandardItemModel::data( index, role );
|
||||
}
|
||||
|
||||
|
@ -157,10 +157,17 @@ FillGlobalStorageJob::exec()
|
||||
{
|
||||
Calamares::GlobalStorage* storage = Calamares::JobQueue::instance()->globalStorage();
|
||||
storage->insert( "partitions", createPartitionList() );
|
||||
QVariant var = createBootLoaderMap();
|
||||
if ( !var.isValid() )
|
||||
return Calamares::JobResult::error( tr( "Failed to find path for boot loader" ) );
|
||||
storage->insert( "bootLoader", var );
|
||||
if ( !m_bootLoaderPath.isEmpty() )
|
||||
{
|
||||
QVariant var = createBootLoaderMap();
|
||||
if ( !var.isValid() )
|
||||
cDebug() << "Failed to find path for boot loader";
|
||||
storage->insert( "bootLoader", var );
|
||||
}
|
||||
else
|
||||
{
|
||||
storage->insert( "bootLoader", QVariant() );
|
||||
}
|
||||
return Calamares::JobResult::ok();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user