mirror of
https://github.com/parchlinux/calamares.git
synced 2025-02-24 19:05:46 -05:00
[partition] Introduce a check if the GPT-on-BIOS popup should be shown
The check is bogus right now, and it still always warns; but if the `shouldWarnForGPTOnBIOS()` function is implemented, this will fix issue 1701.
This commit is contained in:
parent
ded7991dd6
commit
d630c2aadf
1 changed files with 30 additions and 17 deletions
|
@ -395,6 +395,18 @@ PartitionViewStep::onActivate()
|
|||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
shouldWarnForGPTOnBIOS( const PartitionCoreModule* core )
|
||||
{
|
||||
if ( PartUtils::isEfiSystem() )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
cDebug() << core->bootLoaderInstallPath();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
PartitionViewStep::onLeave()
|
||||
|
@ -462,24 +474,25 @@ PartitionViewStep::onLeave()
|
|||
{
|
||||
|
||||
cDebug() << "device: BIOS";
|
||||
// TODO: this *always* warns, which might be annoying, so it'd be
|
||||
// best to find a way to detect that bios_grub partition.
|
||||
|
||||
QString message = tr( "Option to use GPT on BIOS" );
|
||||
QString description = tr( "A GPT partition table is the best option for all "
|
||||
"systems. This installer supports such a setup for "
|
||||
"BIOS systems too."
|
||||
"<br/><br/>"
|
||||
"To configure a GPT partition table on BIOS, "
|
||||
"(if not done so already) go back "
|
||||
"and set the partition table to GPT, next create a 8 MB "
|
||||
"unformatted partition with the "
|
||||
"<strong>bios_grub</strong> flag enabled.<br/><br/>"
|
||||
"An unformatted 8 MB partition is necessary "
|
||||
"to start %1 on a BIOS system with GPT." )
|
||||
.arg( branding->shortProductName() );
|
||||
if ( shouldWarnForGPTOnBIOS( m_core ) )
|
||||
{
|
||||
QString message = tr( "Option to use GPT on BIOS" );
|
||||
QString description = tr( "A GPT partition table is the best option for all "
|
||||
"systems. This installer supports such a setup for "
|
||||
"BIOS systems too."
|
||||
"<br/><br/>"
|
||||
"To configure a GPT partition table on BIOS, "
|
||||
"(if not done so already) go back "
|
||||
"and set the partition table to GPT, next create a 8 MB "
|
||||
"unformatted partition with the "
|
||||
"<strong>bios_grub</strong> flag enabled.<br/><br/>"
|
||||
"An unformatted 8 MB partition is necessary "
|
||||
"to start %1 on a BIOS system with GPT." )
|
||||
.arg( branding->shortProductName() );
|
||||
|
||||
QMessageBox::information( m_manualPartitionPage, message, description );
|
||||
QMessageBox::information( m_manualPartitionPage, message, description );
|
||||
}
|
||||
}
|
||||
|
||||
Partition* root_p = m_core->findPartitionByMountPoint( "/" );
|
||||
|
@ -593,7 +606,7 @@ PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
|
|||
// because it could take a while. Then when it's done, we can set up the widgets
|
||||
// and remove the spinner.
|
||||
m_future = new QFutureWatcher< void >();
|
||||
connect( m_future, &QFutureWatcher< void >::finished, this, [this] {
|
||||
connect( m_future, &QFutureWatcher< void >::finished, this, [ this ] {
|
||||
continueLoading();
|
||||
this->m_future->deleteLater();
|
||||
this->m_future = nullptr;
|
||||
|
|
Loading…
Add table
Reference in a new issue