From 7ffdb036406bd15e75159597434e70cbaa542b8e Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 13 Feb 2026 15:41:14 +0100 Subject: Fix juggling housekeeping and interaction menu --- .../MastodonFeedItem.qml | 33 +++++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/eventsview-plugins/eventsview-plugin-mastodon/MastodonFeedItem.qml b/eventsview-plugins/eventsview-plugin-mastodon/MastodonFeedItem.qml index b9eb3ce..c003950 100644 --- a/eventsview-plugins/eventsview-plugin-mastodon/MastodonFeedItem.qml +++ b/eventsview-plugins/eventsview-plugin-mastodon/MastodonFeedItem.qml @@ -30,6 +30,7 @@ SocialMediaFeedItem { property bool isReblogged: _rebloggedOverride >= 0 ? _rebloggedOverride === 1 : reblogged readonly property bool housekeeping: Lipstick.compositor.eventsLayer.housekeeping readonly property bool lockScreenActive: Lipstick.compositor.lockScreenLayer.deviceIsLocked + property bool _pendingOpenActionMenu: false property bool _contextMenuOpen: false property var _actionMenu property real _contextMenuHeight: (_contextMenuOpen && _actionMenu) ? _actionMenu.height : 0 @@ -50,10 +51,15 @@ SocialMediaFeedItem { if (mouse) { mouse.accepted = true } - Lipstick.compositor.eventsLayer.setHousekeeping(false) - if (!housekeeping && !lockScreenActive) { - _contextMenuOpen = false - openActionMenu() + _pendingOpenActionMenu = !lockScreenActive + && postActions + && actionPostId().length > 0 + && actionAccountId() >= 0 + openActionMenuTimer.restart() + } + onHousekeepingChanged: { + if (housekeeping && _pendingOpenActionMenu) { + Lipstick.compositor.eventsLayer.setHousekeeping(false) } } Component.onDestruction: { @@ -421,4 +427,23 @@ SocialMediaFeedItem { } } } + + Timer { + id: openActionMenuTimer + + interval: 0 + repeat: false + onTriggered: { + if (item.lockScreenActive) { + item._pendingOpenActionMenu = false + return + } + Lipstick.compositor.eventsLayer.setHousekeeping(false) + if (item._pendingOpenActionMenu) { + item._contextMenuOpen = false + item.openActionMenu() + } + item._pendingOpenActionMenu = false + } + } } -- cgit v1.2.3