diff --git a/src/panels/information/informationpanel.cpp b/src/panels/information/informationpanel.cpp --- a/src/panels/information/informationpanel.cpp +++ b/src/panels/information/informationpanel.cpp @@ -158,7 +158,7 @@ void InformationPanel::contextMenuEvent(QContextMenuEvent* event) { // TODO: Move code from InformationPanelContent::configureSettings() here - m_content->configureSettings(customContextMenuActions()); + m_content->configureSettings(customContextMenuActions(), event->globalPos()); Panel::contextMenuEvent(event); } diff --git a/src/panels/information/informationpanelcontent.h b/src/panels/information/informationpanelcontent.h --- a/src/panels/information/informationpanelcontent.h +++ b/src/panels/information/informationpanelcontent.h @@ -78,7 +78,7 @@ * * TODO: Move this code to the class InformationPanel */ - void configureSettings(const QList& customContextMenuActions); + void configureSettings(const QList& customContextMenuActions, const QPointF& pos); signals: void urlActivated( const QUrl& url ); diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp --- a/src/panels/information/informationpanelcontent.cpp +++ b/src/panels/information/informationpanelcontent.cpp @@ -264,7 +264,7 @@ return QWidget::eventFilter(obj, event); } -void InformationPanelContent::configureSettings(const QList& customContextMenuActions) +void InformationPanelContent::configureSettings(const QList& customContextMenuActions, const QPointF& pos) { QMenu popup(this); @@ -288,7 +288,7 @@ // Open the popup and adjust the settings for the // selected action. - QAction* action = popup.exec(QCursor::pos()); + QAction* action = popup.exec(pos.toPoint()); if (!action) { return; }