[calamares] Fix height of the navigation bar in QML

- If the QML navigation panel sets a height, use that
- If it doesn't, use 48px (which *may* make sense, but like many
  screen dimensions in Calamares doesn't take HiDPI into account)
- Give the demo QML an explicit height of 48
This commit is contained in:
Adriaan de Groot 2020-05-08 10:20:59 +02:00
parent 401a34fcbd
commit 60aecaf0b8
2 changed files with 9 additions and 2 deletions

View File

@ -38,6 +38,7 @@
#include <QFile>
#include <QFileInfo>
#include <QLabel>
#include <QQuickItem>
#include <QQuickWidget>
#include <QTreeView>
@ -221,7 +222,13 @@ CalamaresWindow::getQmlNavigation( QWidget* parent )
w->setResizeMode( QQuickWidget::SizeRootObjectToView );
w->setSource( QUrl(
CalamaresUtils::searchQmlFile( CalamaresUtils::QmlSearch::Both, QStringLiteral( "calamares-navigation" ) ) ) );
w->setMinimumHeight( 30 ); // matchine the default widgets version
// If the QML itself sets a height, use that, otherwise go to 48 pixels
// which seems to match what the widget navigation would use for height
// (with *my* specific screen, style, etc. so YMMV).
qreal minimumHeight = qBound( qreal( 16 ), w->rootObject() ? w->rootObject()->height() : 48, qreal( 64 ) );
w->setMinimumHeight( int( minimumHeight ) );
return w;
}

View File

@ -8,10 +8,10 @@ import QtQuick.Layouts 1.3
Rectangle {
id: navigationBar;
color: Branding.styleString( Branding.SidebarBackground );
height: 48;
RowLayout {
id: buttonBar
height: 64;
anchors.fill: parent;
Item