Adjust position of refactor submenu

Fixes: QTCREATORBUG-30010
Change-Id: Idf4ce4e3bc4d0af3d40460c8f2e27f52c90f2454
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Christian Stenger
2023-12-06 09:56:47 +01:00
parent b360776b1f
commit d1ac2fe45a

View File

@@ -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;