/* === This file is part of Calamares - === * * SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac * SPDX-License-Identifier: GPL-3.0-or-later * * Calamares is Free Software: see the License-Identifier above. * */ #include "BootInfoWidget.h" #include "core/PartUtils.h" #include "utils/CalamaresUtilsGui.h" #include "utils/QtCompat.h" #include "utils/Retranslator.h" #include #include #include BootInfoWidget::BootInfoWidget( QWidget* parent ) : QWidget( parent ) , m_bootIcon( new QLabel ) , m_bootLabel( new QLabel ) { m_bootIcon->setObjectName( "bootInfoIcon" ); m_bootLabel->setObjectName( "bootInfoLabel" ); QHBoxLayout* mainLayout = new QHBoxLayout; setLayout( mainLayout ); CalamaresUtils::unmarginLayout( mainLayout ); mainLayout->addWidget( m_bootIcon ); mainLayout->addWidget( m_bootLabel ); QSize iconSize = CalamaresUtils::defaultIconSize(); m_bootIcon->setMargin( 0 ); m_bootIcon->setFixedSize( iconSize ); m_bootIcon->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::BootEnvironment, CalamaresUtils::Original, iconSize ) ); QFontMetrics fm = QFontMetrics( QFont() ); m_bootLabel->setMinimumWidth( fm.boundingRect( "BIOS" ).width() + CalamaresUtils::defaultFontHeight() / 2 ); m_bootLabel->setAlignment( Qt::AlignCenter ); QPalette palette; palette.setBrush( WindowText, QColor( "#4D4D4D" ) ); //dark grey m_bootIcon->setAutoFillBackground( true ); m_bootLabel->setAutoFillBackground( true ); m_bootIcon->setPalette( palette ); m_bootLabel->setPalette( palette ); CALAMARES_RETRANSLATE( retranslateUi(); ); } void BootInfoWidget::retranslateUi() { m_bootIcon->setToolTip( tr( "The boot environment of this system.

" "Older x86 systems only support BIOS.
" "Modern systems usually use EFI, but " "may also show up as BIOS if started in compatibility " "mode." ) ); QString bootToolTip; if ( PartUtils::isEfiSystem() ) { m_bootLabel->setText( "EFI " ); bootToolTip = tr( "This system was started with an EFI " "boot environment.

" "To configure startup from an EFI environment, this installer " "must deploy a boot loader application, like GRUB" " or systemd-boot on an " "EFI System Partition. This is automatic, unless " "you choose manual partitioning, in which case you must " "choose it or create it on your own." ); } else { m_bootLabel->setText( "BIOS" ); bootToolTip = tr( "This system was started with a BIOS " "boot environment.

" "To configure startup from a BIOS environment, this installer " "must install a boot loader, like GRUB" ", either at the beginning of a partition or " "on the Master Boot Record near the " "beginning of the partition table (preferred). " "This is automatic, unless " "you choose manual partitioning, in which case you must " "set it up on your own." ); } m_bootLabel->setToolTip( bootToolTip ); }