From b6f04db01bfab3bceae2f01aaa1e846cd75d798c Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Fri, 22 Mar 2024 18:51:31 -0400 Subject: [PATCH] Add close button in settings dialog in mobile mode (cherry picked from commit 7f1e1bcf517332473e552b09743e1999ede7b09b) --- external/libphysis | 2 +- launcher/ui/Main.qml | 11 ++++++++--- launcher/ui/Settings/SettingsPage.qml | 19 +++++++++++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/external/libphysis b/external/libphysis index 6e0b386..ca98182 160000 --- a/external/libphysis +++ b/external/libphysis @@ -1 +1 @@ -Subproject commit 6e0b38612bcde1597c366bf341db02c8549299be +Subproject commit ca98182e41ea2e06af831e1613343c7172cfd6ce diff --git a/launcher/ui/Main.qml b/launcher/ui/Main.qml index 1c04d01..9d08f66 100644 --- a/launcher/ui/Main.qml +++ b/launcher/ui/Main.qml @@ -21,9 +21,14 @@ Kirigami.ApplicationWindow { property bool checkedAutoLogin: false - pageStack.initialPage: Kirigami.Page { - Kirigami.LoadingPlaceholder { - anchors.centerIn: parent + pageStack { + globalToolBar { + style: Kirigami.ApplicationHeaderStyle.ToolBar + } + initialPage: Kirigami.Page { + Kirigami.LoadingPlaceholder { + anchors.centerIn: parent + } } } diff --git a/launcher/ui/Settings/SettingsPage.qml b/launcher/ui/Settings/SettingsPage.qml index df3d35b..605f370 100644 --- a/launcher/ui/Settings/SettingsPage.qml +++ b/launcher/ui/Settings/SettingsPage.qml @@ -2,12 +2,31 @@ // SPDX-License-Identifier: GPL-3.0-or-later import org.kde.kirigamiaddons.settings as KirigamiSettings +import org.kde.kirigami as Kirigami +import org.kde.kirigamiaddons.components as KirigamiComponents import zone.xiv.astra KirigamiSettings.CategorizedSettings { id: settingsPage + KirigamiComponents.FloatingButton { + anchors { + right: parent.right + bottom: parent.bottom + } + + z: 100 + margins: Kirigami.Units.largeSpacing + visible: LauncherCore.isSteamDeck + + action: Kirigami.Action { + text: i18nc("@action:button Close Settings") + icon.name: "dialog-close-symbolic" + onTriggered: pageStack.layers.pop() + } + } + actions: [ KirigamiSettings.SettingAction { actionName: "general"