From d1ac2fe45a9a7986bfb9217f14bfc1ca22a9cdd9 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 6 Dec 2023 09:56:47 +0100 Subject: [PATCH] Adjust position of refactor submenu Fixes: QTCREATORBUG-30010 Change-Id: Idf4ce4e3bc4d0af3d40460c8f2e27f52c90f2454 Reviewed-by: Christian Kandeler --- src/plugins/cppeditor/cppeditorwidget.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/plugins/cppeditor/cppeditorwidget.cpp b/src/plugins/cppeditor/cppeditorwidget.cpp index 8f06a363ea8..b25150ddb71 100644 --- a/src/plugins/cppeditor/cppeditorwidget.cpp +++ b/src/plugins/cppeditor/cppeditorwidget.cpp @@ -1126,6 +1126,19 @@ QMenu *CppEditorWidget::createRefactorMenu(QWidget *parent) const case CppUseSelectionsUpdater::RunnerInfo::Invalid: QTC_CHECK(false && "Unexpected CppUseSelectionsUpdater runner result"); } + QMetaObject::invokeMethod(menu, [menu](){ + if (auto mainWin = ICore::mainWindow()) { + menu->adjustSize(); + if (QTC_GUARD(menu->parentWidget())) { + QPoint p = menu->pos(); + const int w = menu->width(); + if (p.x() + w > mainWin->screen()->geometry().width()) { + p.setX(menu->parentWidget()->x() - w); + menu->move(p); + } + } + } + }, Qt::QueuedConnection); }); return menu;