From b988e5f93d852402f58e0d094843716a2e889cd1 Mon Sep 17 00:00:00 2001 From: xionglinlin Date: Tue, 31 Dec 2024 11:11:33 +0800 Subject: [PATCH] fix: submenu position not right as title pms: Bug-288131 --- src/tray-wayland-integration/pluginmanager.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/tray-wayland-integration/pluginmanager.cpp b/src/tray-wayland-integration/pluginmanager.cpp index 42660c61c..e55524ad2 100644 --- a/src/tray-wayland-integration/pluginmanager.cpp +++ b/src/tray-wayland-integration/pluginmanager.cpp @@ -53,8 +53,9 @@ bool PluginManager::tryCreatePopupForSubWindow(QWindow *window) pluginPopup->setPopupType(Plugin::PluginPopup::PopupTypeTooltip); pluginPopup->setPluginId(plugin->pluginId()); pluginPopup->setItemKey(plugin->itemKey()); - pluginPopup->setX(parentWindow->x() + window->x()); - pluginPopup->setY(parentWindow->y() + window->y()); + auto pluginPos = plugin->pluginPos(); + pluginPopup->setX(pluginPos.x() + window->x()); + pluginPopup->setY(pluginPos.y() + window->y()); return true; } @@ -63,10 +64,10 @@ bool PluginManager::tryCreatePopupForSubWindow(QWindow *window) pluginPopup->setPopupType(Plugin::PluginPopup::PopupTypeSubPopup); pluginPopup->setPluginId(plugin->pluginId()); pluginPopup->setItemKey(plugin->itemKey()); - auto geometry = parentWindow->geometry(); + auto parentPos = plugin->pluginPos(); // TODO move to parentWindow's right position. - pluginPopup->setX(geometry.right()); - pluginPopup->setY(window->y()); + pluginPopup->setX(parentPos.x() + parentWindow->width()); + pluginPopup->setY(parentPos.y() + window->y()); return true; }