mirror of
https://github.com/parchlinux/calamares.git
synced 2025-06-27 17:35:37 -04:00
Merge prepare module into welcome, and repurpose it as a req checker.
This commit is contained in:
parent
3dd1d7932f
commit
ceedc1166b
13 changed files with 87 additions and 175 deletions
|
@ -1,120 +0,0 @@
|
|||
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Calamares is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "PreparePage.h"
|
||||
|
||||
#include "PrepareCheckWidget.h"
|
||||
|
||||
#include "utils/CalamaresUtilsGui.h"
|
||||
#include "utils/Retranslator.h"
|
||||
#include "Branding.h"
|
||||
|
||||
#include <QBoxLayout>
|
||||
#include <QLabel>
|
||||
|
||||
|
||||
PreparePage::PreparePage( QWidget* parent )
|
||||
: QWidget()
|
||||
{
|
||||
QBoxLayout* mainLayout = new QVBoxLayout;
|
||||
setLayout( mainLayout );
|
||||
|
||||
QLabel* text = new QLabel( this );
|
||||
CALAMARES_RETRANSLATE(
|
||||
text->setText( tr( "For best results, please ensure that this computer:" ) );
|
||||
)
|
||||
|
||||
mainLayout->addSpacing( CalamaresUtils::defaultFontHeight() );
|
||||
mainLayout->addWidget( text );
|
||||
QHBoxLayout* spacerLayout = new QHBoxLayout;
|
||||
mainLayout->addLayout( spacerLayout );
|
||||
spacerLayout->addSpacing( CalamaresUtils::defaultFontHeight() * 2 );
|
||||
m_entriesLayout = new QVBoxLayout;
|
||||
spacerLayout->addLayout( m_entriesLayout );
|
||||
CalamaresUtils::unmarginLayout( spacerLayout );
|
||||
mainLayout->addStretch();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PreparePage::init( const QList< PrepareEntry >& checkEntries )
|
||||
{
|
||||
bool allChecked = true;
|
||||
bool requirementsSatisfied = true;
|
||||
|
||||
for ( const PrepareEntry& entry : checkEntries )
|
||||
{
|
||||
PrepareCheckWidget* pcw = new PrepareCheckWidget( entry.checked );
|
||||
CALAMARES_RETRANSLATE( pcw->setText( entry.text() ); )
|
||||
m_entriesLayout->addWidget( pcw );
|
||||
pcw->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
|
||||
|
||||
if ( !entry.checked )
|
||||
{
|
||||
allChecked = false;
|
||||
if ( entry.required )
|
||||
{
|
||||
requirementsSatisfied = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !allChecked )
|
||||
{
|
||||
QBoxLayout* mainLayout = dynamic_cast< QBoxLayout* >( layout() );
|
||||
QBoxLayout* infoLayout = new QHBoxLayout;
|
||||
QLabel* iconLabel = new QLabel;
|
||||
QLabel* textLabel = new QLabel;
|
||||
int iconSize = qBound( 32, CalamaresUtils::defaultFontHeight() * 6, 128 );
|
||||
iconLabel->setFixedSize( iconSize, iconSize );
|
||||
textLabel->setWordWrap( true );
|
||||
infoLayout->addWidget( iconLabel );
|
||||
infoLayout->addWidget( textLabel );
|
||||
textLabel->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
|
||||
|
||||
if ( !requirementsSatisfied )
|
||||
{
|
||||
iconLabel->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Fail,
|
||||
CalamaresUtils::Original,
|
||||
iconLabel->size() ) );
|
||||
CALAMARES_RETRANSLATE(
|
||||
textLabel->setText( tr( "This computer does not satisfy the minimum "
|
||||
"requirements for installing %1.\n"
|
||||
"Installation cannot continue." )
|
||||
.arg( Calamares::Branding::instance()->
|
||||
string( Calamares::Branding::ShortVersionedName ) ) );
|
||||
)
|
||||
}
|
||||
else
|
||||
{
|
||||
iconLabel->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Information,
|
||||
CalamaresUtils::Original,
|
||||
iconLabel->size() ) );
|
||||
CALAMARES_RETRANSLATE(
|
||||
textLabel->setText( tr( "This computer does not satisfy some of the "
|
||||
"recommended requirements for installing %1.\n"
|
||||
"Installation can continue, but some features "
|
||||
"might be disabled." )
|
||||
.arg( Calamares::Branding::instance()->
|
||||
string( Calamares::Branding::ShortVersionedName ) ) );
|
||||
)
|
||||
}
|
||||
|
||||
mainLayout->insertLayout( mainLayout->count(), infoLayout );
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue