From 16cce08b432d04aaf11ae687dab24fb94ad2cd4f Mon Sep 17 00:00:00 2001 From: Marcus Hoffmann Date: Wed, 15 May 2024 00:33:03 +0200 Subject: [PATCH] WelcomePage: add vertical ScrollView around content This solves the problem of the window being sized smaller than it's content and part of it being out of view. --- resources/qml/pages/WelcomePage.qml | 143 ++++++++++++++-------------- 1 file changed, 74 insertions(+), 69 deletions(-) diff --git a/resources/qml/pages/WelcomePage.qml b/resources/qml/pages/WelcomePage.qml index 161785ac3..96931bf52 100644 --- a/resources/qml/pages/WelcomePage.qml +++ b/resources/qml/pages/WelcomePage.qml @@ -10,93 +10,98 @@ import im.nheko 1.0 import "../components/" import ".." -ColumnLayout { - Item { - Layout.fillHeight: true - } - - Image { - Layout.alignment: Qt.AlignHCenter - source: "qrc:/logos/splash.png" - Layout.preferredHeight: 256 - Layout.preferredWidth: 256 - } +ScrollView { + contentWidth: availableWidth + ColumnLayout { + width: parent.width - Label { - Layout.margins: Nheko.paddingLarge - Layout.bottomMargin: 0 - Layout.alignment: Qt.AlignHCenter - Layout.fillWidth: true - text: qsTr("Welcome to nheko! The desktop client for the Matrix protocol.") - color: palette.text - font.pointSize: fontMetrics.font.pointSize*2 - wrapMode: Text.Wrap - horizontalAlignment: Text.AlignHCenter - } - Label { - Layout.margins: Nheko.paddingLarge - Layout.alignment: Qt.AlignHCenter - Layout.fillWidth: true - text: qsTr("Enjoy your stay!") - color: palette.text - font.pointSize: fontMetrics.font.pointSize*1.5 - wrapMode: Text.Wrap - horizontalAlignment: Text.AlignHCenter - } - - RowLayout { Item { - Layout.fillWidth: true + Layout.fillHeight: true } - FlatButton { - Layout.margins: Nheko.paddingLarge + + Image { Layout.alignment: Qt.AlignHCenter - text: qsTr("REGISTER") - onClicked: { - mainWindow.push(registerPage); - } + source: "qrc:/logos/splash.png" + Layout.preferredHeight: 256 + Layout.preferredWidth: 256 } - FlatButton { + + Label { Layout.margins: Nheko.paddingLarge + Layout.bottomMargin: 0 Layout.alignment: Qt.AlignHCenter - text: qsTr("LOGIN") - onClicked: { - mainWindow.push(loginPage); - } + Layout.fillWidth: true + text: qsTr("Welcome to nheko! The desktop client for the Matrix protocol.") + color: palette.text + font.pointSize: fontMetrics.font.pointSize * 2 + wrapMode: Text.Wrap + horizontalAlignment: Text.AlignHCenter } - - Item { + Label { + Layout.margins: Nheko.paddingLarge + Layout.alignment: Qt.AlignHCenter Layout.fillWidth: true + text: qsTr("Enjoy your stay!") + color: palette.text + font.pointSize: fontMetrics.font.pointSize * 1.5 + wrapMode: Text.Wrap + horizontalAlignment: Text.AlignHCenter } - } + RowLayout { + Item { + Layout.fillWidth: true + } + FlatButton { + Layout.margins: Nheko.paddingLarge + Layout.alignment: Qt.AlignHCenter + text: qsTr("REGISTER") + onClicked: { + mainWindow.push(registerPage); + } + } + FlatButton { + Layout.margins: Nheko.paddingLarge + Layout.alignment: Qt.AlignHCenter + text: qsTr("LOGIN") + onClicked: { + mainWindow.push(loginPage); + } + } - RowLayout { - Layout.alignment: Qt.AlignHCenter - Layout.margins: Nheko.paddingLarge + Item { + Layout.fillWidth: true + } - ToggleButton { - Layout.margins: Nheko.paddingLarge - Layout.alignment: Qt.AlignRight - checked: Settings.reducedMotion - onCheckedChanged: Settings.reducedMotion = checked } - Label { - Layout.alignment: Qt.AlignLeft + RowLayout { + Layout.alignment: Qt.AlignHCenter Layout.margins: Nheko.paddingLarge - text: qsTr("Reduce animations") - color: palette.text - HoverHandler { - id: hovered + ToggleButton { + Layout.margins: Nheko.paddingLarge + Layout.alignment: Qt.AlignRight + checked: Settings.reducedMotion + onCheckedChanged: Settings.reducedMotion = checked + } + + Label { + Layout.alignment: Qt.AlignLeft + Layout.margins: Nheko.paddingLarge + text: qsTr("Reduce animations") + color: palette.text + + HoverHandler { + id: hovered + } + ToolTip.visible: hovered.hovered + ToolTip.text: qsTr("Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.") + ToolTip.delay: Nheko.tooltipDelay } - ToolTip.visible: hovered.hovered - ToolTip.text: qsTr("Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.") - ToolTip.delay: Nheko.tooltipDelay } - } - Item { - Layout.fillHeight: true + Item { + Layout.fillHeight: true + } } }