From b77bf41cdc038b665bf7ff299a3c01c4fdb2ed48 Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Wed, 15 Apr 2026 14:58:15 +0200 Subject: [PATCH] Fix action drawer not opening on click in convergence open() alone does not set intendedToBeVisible, so the drawer immediately closes itself. Call the proper toggle path instead. Also hide the drag handle since convergence users click. --- .../qml/actiondrawer/ActionDrawerOpenSurface.qml | 7 +++++-- .../qml/actiondrawer/private/QuickSettingsPanel.qml | 1 + containments/panel/qml/StatusPanel.qml | 6 ++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/components/mobileshell/qml/actiondrawer/ActionDrawerOpenSurface.qml b/components/mobileshell/qml/actiondrawer/ActionDrawerOpenSurface.qml index 91b4c0fb..3da939dc 100644 --- a/components/mobileshell/qml/actiondrawer/ActionDrawerOpenSurface.qml +++ b/components/mobileshell/qml/actiondrawer/ActionDrawerOpenSurface.qml @@ -34,8 +34,9 @@ MobileShell.SwipeArea { } function startSwipeWithPoint(point) { - // if the user swiped from the top left, otherwise it's from the top right - if (point.x < root.width / 2) { + if (ShellSettings.Settings.convergenceModeEnabled) { + actionDrawer.openToPinnedMode = false; + } else if (point.x < root.width / 2) { actionDrawer.openToPinnedMode = ShellSettings.Settings.actionDrawerTopLeftMode == ShellSettings.Settings.Pinned; } else { actionDrawer.openToPinnedMode = ShellSettings.Settings.actionDrawerTopRightMode == ShellSettings.Settings.Pinned; @@ -69,6 +70,8 @@ MobileShell.SwipeArea { if (actionDrawer.intendedToBeVisible) { actionDrawer.close(); } else { + actionDrawer.openToPinnedMode = false; + actionDrawer.intendedToBeVisible = true; actionDrawer.open(); } } diff --git a/components/mobileshell/qml/actiondrawer/private/QuickSettingsPanel.qml b/components/mobileshell/qml/actiondrawer/private/QuickSettingsPanel.qml index 9a19b0c1..3861dfba 100644 --- a/components/mobileshell/qml/actiondrawer/private/QuickSettingsPanel.qml +++ b/components/mobileshell/qml/actiondrawer/private/QuickSettingsPanel.qml @@ -100,6 +100,7 @@ MobileShell.BaseItem { id: handle anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: parent.bottom + visible: !ShellSettings.Settings.convergenceModeEnabled opacity: brightnessPressedValue } } diff --git a/containments/panel/qml/StatusPanel.qml b/containments/panel/qml/StatusPanel.qml index 00077fb7..091db624 100644 --- a/containments/panel/qml/StatusPanel.qml +++ b/containments/panel/qml/StatusPanel.qml @@ -33,6 +33,10 @@ Item { target: MobileShellState.ShellDBusClient function onOpenActionDrawerRequested() { + if (ShellSettings.Settings.convergenceModeEnabled) { + drawer.actionDrawer.openToPinnedMode = false; + drawer.actionDrawer.intendedToBeVisible = true; + } drawer.actionDrawer.open(); } @@ -129,6 +133,8 @@ Item { if (drawer.actionDrawer.intendedToBeVisible) { drawer.actionDrawer.close(); } else { + drawer.actionDrawer.openToPinnedMode = false; + drawer.actionDrawer.intendedToBeVisible = true; drawer.actionDrawer.open(); } }