Merge branch 'master' of https://github.com/calamares/calamares into development
This commit is contained in:
commit
88172bf1b3
@ -55,7 +55,7 @@ CalamaresWindow::CalamaresWindow( QWidget* parent )
|
|||||||
|
|
||||||
cDebug() << "Available size" << availableSize;
|
cDebug() << "Available size" << availableSize;
|
||||||
|
|
||||||
if ( (availableSize.width() < windowPreferredWidth) || (availableSize.height() < windowPreferredHeight) )
|
if ( ( availableSize.width() < windowPreferredWidth ) || ( availableSize.height() < windowPreferredHeight ) )
|
||||||
cDebug() << " Small screen detected.";
|
cDebug() << " Small screen detected.";
|
||||||
QSize minimumSize( qBound( windowMinimumWidth, availableSize.width(), windowPreferredWidth ),
|
QSize minimumSize( qBound( windowMinimumWidth, availableSize.width(), windowPreferredWidth ),
|
||||||
qBound( windowMinimumHeight, availableSize.height(), windowPreferredHeight ) );
|
qBound( windowMinimumHeight, availableSize.height(), windowPreferredHeight ) );
|
||||||
@ -131,9 +131,7 @@ CalamaresWindow::CalamaresWindow( QWidget* parent )
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( m_debugWindow )
|
if ( m_debugWindow )
|
||||||
{
|
|
||||||
m_debugWindow->deleteLater();
|
m_debugWindow->deleteLater();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
@ -142,6 +140,19 @@ CalamaresWindow::CalamaresWindow( QWidget* parent )
|
|||||||
CalamaresUtils::unmarginLayout( mainLayout );
|
CalamaresUtils::unmarginLayout( mainLayout );
|
||||||
|
|
||||||
Calamares::ViewManager* vm = Calamares::ViewManager::instance( this );
|
Calamares::ViewManager* vm = Calamares::ViewManager::instance( this );
|
||||||
|
connect( vm, &Calamares::ViewManager::enlarge, this, &CalamaresWindow::enlarge );
|
||||||
|
|
||||||
mainLayout->addWidget( vm->centralWidget() );
|
mainLayout->addWidget( vm->centralWidget() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CalamaresWindow::enlarge( QSize enlarge )
|
||||||
|
{
|
||||||
|
auto mainGeometry = this->geometry();
|
||||||
|
QSize availableSize = qApp->desktop()->availableGeometry( this ).size();
|
||||||
|
|
||||||
|
auto h = qBound( 0, mainGeometry.height() + enlarge.height(), availableSize.height() );
|
||||||
|
auto w = this->size().width();
|
||||||
|
|
||||||
|
resize( w, h );
|
||||||
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -37,6 +38,14 @@ public:
|
|||||||
CalamaresWindow( QWidget* parent = nullptr );
|
CalamaresWindow( QWidget* parent = nullptr );
|
||||||
virtual ~CalamaresWindow() {}
|
virtual ~CalamaresWindow() {}
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
/**
|
||||||
|
* This asks the main window to grow by @p enlarge pixels, to accomodate
|
||||||
|
* larger-than-expected window contents. The enlargement may be silently
|
||||||
|
* ignored.
|
||||||
|
*/
|
||||||
|
void enlarge( QSize enlarge );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointer< Calamares::DebugWindow > m_debugWindow;
|
QPointer< Calamares::DebugWindow > m_debugWindow;
|
||||||
};
|
};
|
||||||
|
@ -109,9 +109,7 @@ ViewManager::ViewManager( QObject* parent )
|
|||||||
qApp->quit();
|
qApp->quit();
|
||||||
}
|
}
|
||||||
else // Means we're at the end, no need to confirm.
|
else // Means we're at the end, no need to confirm.
|
||||||
{
|
|
||||||
qApp->quit();
|
qApp->quit();
|
||||||
}
|
|
||||||
} );
|
} );
|
||||||
|
|
||||||
connect( JobQueue::instance(), &JobQueue::failed,
|
connect( JobQueue::instance(), &JobQueue::failed,
|
||||||
@ -145,16 +143,15 @@ ViewManager::addViewStep( ViewStep* step )
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ViewManager::insertViewStep( int before, ViewStep* step)
|
ViewManager::insertViewStep( int before, ViewStep* step )
|
||||||
{
|
{
|
||||||
m_steps.insert( before, step );
|
m_steps.insert( before, step );
|
||||||
QLayout* layout = step->widget()->layout();
|
QLayout* layout = step->widget()->layout();
|
||||||
if ( layout )
|
if ( layout )
|
||||||
{
|
|
||||||
layout->setContentsMargins( 0, 0, 0, 0 );
|
layout->setContentsMargins( 0, 0, 0, 0 );
|
||||||
}
|
|
||||||
m_stack->insertWidget( before, step->widget() );
|
m_stack->insertWidget( before, step->widget() );
|
||||||
|
|
||||||
|
connect( step, &ViewStep::enlarge, this, &ViewManager::enlarge );
|
||||||
connect( step, &ViewStep::nextStatusChanged,
|
connect( step, &ViewStep::nextStatusChanged,
|
||||||
this, [this]( bool status )
|
this, [this]( bool status )
|
||||||
{
|
{
|
||||||
@ -180,19 +177,17 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail
|
|||||||
|
|
||||||
QMessageBox* msgBox = new QMessageBox();
|
QMessageBox* msgBox = new QMessageBox();
|
||||||
msgBox->setIcon( QMessageBox::Critical );
|
msgBox->setIcon( QMessageBox::Critical );
|
||||||
msgBox->setWindowTitle( tr("Error") );
|
msgBox->setWindowTitle( tr( "Error" ) );
|
||||||
msgBox->setText( "<strong>" + tr( "Installation Failed" ) + "</strong>" );
|
msgBox->setText( "<strong>" + tr( "Installation Failed" ) + "</strong>" );
|
||||||
msgBox->setStandardButtons( QMessageBox::Close );
|
msgBox->setStandardButtons( QMessageBox::Close );
|
||||||
msgBox->button( QMessageBox::Close )->setText( tr( "&Close" ) );
|
msgBox->button( QMessageBox::Close )->setText( tr( "&Close" ) );
|
||||||
|
|
||||||
QString text = "<p>" + message + "</p>";
|
QString text = "<p>" + message + "</p>";
|
||||||
if ( !details.isEmpty() )
|
if ( !details.isEmpty() )
|
||||||
{
|
|
||||||
text += "<p>" + details + "</p>";
|
text += "<p>" + details + "</p>";
|
||||||
}
|
|
||||||
msgBox->setInformativeText( text );
|
msgBox->setInformativeText( text );
|
||||||
|
|
||||||
connect(msgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit);
|
connect( msgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit );
|
||||||
cLog() << "Calamares will quit when the dialog closes.";
|
cLog() << "Calamares will quit when the dialog closes.";
|
||||||
msgBox->show();
|
msgBox->show();
|
||||||
}
|
}
|
||||||
@ -230,8 +225,8 @@ ViewManager::next()
|
|||||||
// and right before switching to an execution phase.
|
// and right before switching to an execution phase.
|
||||||
// Depending on Calamares::Settings, we show an "are you sure" prompt or not.
|
// Depending on Calamares::Settings, we show an "are you sure" prompt or not.
|
||||||
if ( Calamares::Settings::instance()->showPromptBeforeExecution() &&
|
if ( Calamares::Settings::instance()->showPromptBeforeExecution() &&
|
||||||
m_currentStep + 1 < m_steps.count() &&
|
m_currentStep + 1 < m_steps.count() &&
|
||||||
qobject_cast< ExecutionViewStep* >( m_steps.at( m_currentStep + 1 ) ) )
|
qobject_cast< ExecutionViewStep* >( m_steps.at( m_currentStep + 1 ) ) )
|
||||||
{
|
{
|
||||||
int reply =
|
int reply =
|
||||||
QMessageBox::question( m_widget,
|
QMessageBox::question( m_widget,
|
||||||
@ -263,15 +258,13 @@ ViewManager::next()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
step->next();
|
step->next();
|
||||||
}
|
|
||||||
|
|
||||||
m_next->setEnabled( !executing && m_steps.at( m_currentStep )->isNextEnabled() );
|
m_next->setEnabled( !executing && m_steps.at( m_currentStep )->isNextEnabled() );
|
||||||
m_back->setEnabled( !executing && m_steps.at( m_currentStep )->isBackEnabled() );
|
m_back->setEnabled( !executing && m_steps.at( m_currentStep )->isBackEnabled() );
|
||||||
|
|
||||||
if ( m_currentStep == m_steps.count() -1 &&
|
if ( m_currentStep == m_steps.count() -1 &&
|
||||||
m_steps.last()->isAtEnd() )
|
m_steps.last()->isAtEnd() )
|
||||||
{
|
{
|
||||||
m_quit->setText( tr( "&Done" ) );
|
m_quit->setText( tr( "&Done" ) );
|
||||||
m_quit->setToolTip( tr( "The installation is complete. Close the installer." ) );
|
m_quit->setToolTip( tr( "The installation is complete. Close the installer." ) );
|
||||||
@ -292,9 +285,7 @@ ViewManager::back()
|
|||||||
emit currentStepChanged();
|
emit currentStepChanged();
|
||||||
}
|
}
|
||||||
else if ( !step->isAtBeginning() )
|
else if ( !step->isAtBeginning() )
|
||||||
{
|
|
||||||
step->back();
|
step->back();
|
||||||
}
|
|
||||||
else return;
|
else return;
|
||||||
|
|
||||||
m_next->setEnabled( m_steps.at( m_currentStep )->isNextEnabled() );
|
m_next->setEnabled( m_steps.at( m_currentStep )->isNextEnabled() );
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -111,6 +112,7 @@ public slots:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void currentStepChanged();
|
void currentStepChanged();
|
||||||
|
void enlarge( QSize enlarge ) const; // See ViewStep::enlarge()
|
||||||
|
|
||||||
private:
|
private:
|
||||||
explicit ViewManager( QObject* parent = nullptr );
|
explicit ViewManager( QObject* parent = nullptr );
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -93,7 +94,10 @@ public:
|
|||||||
virtual QList< job_ptr > jobs() const = 0;
|
virtual QList< job_ptr > jobs() const = 0;
|
||||||
|
|
||||||
void setModuleInstanceKey( const QString& instanceKey );
|
void setModuleInstanceKey( const QString& instanceKey );
|
||||||
QString moduleInstanceKey() const { return m_instanceKey; }
|
QString moduleInstanceKey() const
|
||||||
|
{
|
||||||
|
return m_instanceKey;
|
||||||
|
}
|
||||||
|
|
||||||
virtual void setConfigurationMap( const QVariantMap& configurationMap );
|
virtual void setConfigurationMap( const QVariantMap& configurationMap );
|
||||||
|
|
||||||
@ -101,6 +105,12 @@ signals:
|
|||||||
void nextStatusChanged( bool status );
|
void nextStatusChanged( bool status );
|
||||||
void done();
|
void done();
|
||||||
|
|
||||||
|
/* Emitted when the viewstep thinks it needs more space than is currently
|
||||||
|
* available for display. @p enlarge is the requested additional space,
|
||||||
|
* e.g. 24px vertical. This request may be silently ignored.
|
||||||
|
*/
|
||||||
|
void enlarge( QSize enlarge ) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString m_instanceKey;
|
QString m_instanceKey;
|
||||||
};
|
};
|
||||||
|
@ -91,7 +91,7 @@ def modify_grub_default(partitions, root_mount_point, distributor):
|
|||||||
if swap_uuid:
|
if swap_uuid:
|
||||||
kernel_params.append("resume=UUID={!s}".format(swap_uuid))
|
kernel_params.append("resume=UUID={!s}".format(swap_uuid))
|
||||||
|
|
||||||
if dracut_bin == 0 and swap_outer_uuid:
|
if have_dracut and swap_outer_uuid:
|
||||||
kernel_params.append("rd.luks.uuid={!s}".format(swap_outer_uuid))
|
kernel_params.append("rd.luks.uuid={!s}".format(swap_outer_uuid))
|
||||||
|
|
||||||
distributor_line = "GRUB_DISTRIBUTOR='{!s}'".format(distributor_replace)
|
distributor_line = "GRUB_DISTRIBUTOR='{!s}'".format(distributor_replace)
|
||||||
|
@ -137,12 +137,14 @@ QList< Device* > getDevices( DeviceType which, qint64 minimumSize )
|
|||||||
it = erase(devices, it );
|
it = erase(devices, it );
|
||||||
|
|
||||||
}
|
}
|
||||||
else if ( writableOnly && (
|
else if ( writableOnly && hasRootPartition( *it ) )
|
||||||
hasRootPartition( *it ) ||
|
|
||||||
isIso9660( *it ) )
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
cDebug() << " .. Removing root-or-CD" << it;
|
cDebug() << " .. Removing device with root filesystem (/) on it" << it;
|
||||||
|
it = erase(devices, it );
|
||||||
|
}
|
||||||
|
else if ( writableOnly && isIso9660( *it ) )
|
||||||
|
{
|
||||||
|
cDebug() << " .. Removing device with iso9660 filesystem (probably a CD) on it" << it;
|
||||||
it = erase(devices, it );
|
it = erase(devices, it );
|
||||||
}
|
}
|
||||||
else if ( (minimumSize >= 0) && !( (*it)->capacity() > minimumSize ) )
|
else if ( (minimumSize >= 0) && !( (*it)->capacity() > minimumSize ) )
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -23,6 +24,7 @@
|
|||||||
#include "ExecutionViewStep.h"
|
#include "ExecutionViewStep.h"
|
||||||
#include "utils/Retranslator.h"
|
#include "utils/Retranslator.h"
|
||||||
#include "utils/CalamaresUtilsGui.h"
|
#include "utils/CalamaresUtilsGui.h"
|
||||||
|
#include "utils/Logger.h"
|
||||||
#include "ViewManager.h"
|
#include "ViewManager.h"
|
||||||
|
|
||||||
#include <QBoxLayout>
|
#include <QBoxLayout>
|
||||||
@ -96,6 +98,20 @@ SummaryPage::onActivate()
|
|||||||
itemBodyLayout->addSpacing( CalamaresUtils::defaultFontHeight() * 2 );
|
itemBodyLayout->addSpacing( CalamaresUtils::defaultFontHeight() * 2 );
|
||||||
}
|
}
|
||||||
m_layout->addStretch();
|
m_layout->addStretch();
|
||||||
|
|
||||||
|
m_scrollArea->setWidget( m_contentWidget );
|
||||||
|
|
||||||
|
auto summarySize = m_contentWidget->sizeHint();
|
||||||
|
if ( summarySize.height() > m_scrollArea->size().height() )
|
||||||
|
{
|
||||||
|
auto enlarge = 2 + summarySize.height() - m_scrollArea->size().height();
|
||||||
|
auto widgetSize = this->size();
|
||||||
|
widgetSize.setHeight( widgetSize.height() + enlarge );
|
||||||
|
|
||||||
|
cDebug() << "Summary widget is larger than viewport, enlarge by" << enlarge << "to" << widgetSize;
|
||||||
|
|
||||||
|
emit m_thisViewStep->enlarge( QSize( 0, enlarge ) ); // Only expand height
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Calamares::ViewStepList
|
Calamares::ViewStepList
|
||||||
@ -133,7 +149,6 @@ SummaryPage::createContentWidget()
|
|||||||
m_contentWidget = new QWidget;
|
m_contentWidget = new QWidget;
|
||||||
m_layout = new QVBoxLayout( m_contentWidget );
|
m_layout = new QVBoxLayout( m_contentWidget );
|
||||||
CalamaresUtils::unmarginLayout( m_layout );
|
CalamaresUtils::unmarginLayout( m_layout );
|
||||||
m_scrollArea->setWidget( m_contentWidget );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QLabel*
|
QLabel*
|
||||||
|
Loading…
Reference in New Issue
Block a user