diff --git a/src/lib/adblock/adblockdialog.cpp b/src/lib/adblock/adblockdialog.cpp index 71711873a..03c3e9890 100644 --- a/src/lib/adblock/adblockdialog.cpp +++ b/src/lib/adblock/adblockdialog.cpp @@ -68,7 +68,7 @@ AdBlockDialog::AdBlockDialog(QWidget* parent) connect(reloadButton, SIGNAL(clicked()), this, SLOT(updateSubscription())); connect(search, SIGNAL(textChanged(QString)), treeWidget, SLOT(filterString(QString))); connect(m_manager->subscription(), SIGNAL(rulesUpdated()), this, SLOT(refreshAfterUpdate())); - connect(treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(customContextMenuRequested())); + connect(treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenuRequested(QPoint))); // QTimer::singleShot(0, this, SLOT(firstRefresh())); firstRefresh(); @@ -97,13 +97,13 @@ void AdBlockDialog::deleteRule() refresh(); } -void AdBlockDialog::customContextMenuRequested() +void AdBlockDialog::contextMenuRequested(const QPoint &pos) { QMenu menu; menu.addAction(tr("Add Rule"), this, SLOT(addCustomRule())); menu.addSeparator(); menu.addAction(tr("Delete Rule"), this, SLOT(deleteRule())); - menu.exec(QCursor::pos()); + menu.exec(treeWidget->viewport()->mapToGlobal(pos)); } void AdBlockDialog::firstRefresh() diff --git a/src/lib/adblock/adblockdialog.h b/src/lib/adblock/adblockdialog.h index 70f77baad..64ce31c14 100644 --- a/src/lib/adblock/adblockdialog.h +++ b/src/lib/adblock/adblockdialog.h @@ -68,7 +68,7 @@ private slots: void addCustomRule(); void firstRefresh(); void refreshAfterUpdate(); - void customContextMenuRequested(); + void contextMenuRequested(const QPoint &pos); void editRule(); void deleteRule(); diff --git a/src/lib/bookmarks/bookmarksmanager.cpp b/src/lib/bookmarks/bookmarksmanager.cpp index a044a7453..5a071426c 100644 --- a/src/lib/bookmarks/bookmarksmanager.cpp +++ b/src/lib/bookmarks/bookmarksmanager.cpp @@ -244,7 +244,7 @@ void BookmarksManager::contextMenuRequested(const QPoint &position) } //Prevent choosing first option with double rightclick - QPoint pos = QCursor::pos(); + QPoint pos = ui->bookmarksTree->viewport()->mapToGlobal(position); QPoint p(pos.x(), pos.y() + 1); menu.exec(p); return; @@ -272,7 +272,7 @@ void BookmarksManager::contextMenuRequested(const QPoint &position) menu.addAction(tr("Remove bookmark"), this, SLOT(deleteItem())); //Prevent choosing first option with double rightclick - QPoint pos = QCursor::pos(); + QPoint pos = ui->bookmarksTree->viewport()->mapToGlobal(position); QPoint p(pos.x(), pos.y() + 1); menu.exec(p); } diff --git a/src/lib/history/historymanager.cpp b/src/lib/history/historymanager.cpp index c2ed78d75..0136c155f 100644 --- a/src/lib/history/historymanager.cpp +++ b/src/lib/history/historymanager.cpp @@ -110,7 +110,7 @@ void HistoryManager::contextMenuRequested(const QPoint &position) menu.addAction(tr("Copy address"), this, SLOT(copyUrl()))->setData(link); //Prevent choosing first option with double rightclick - QPoint pos = QCursor::pos(); + QPoint pos = ui->historyTree->viewport()->mapToGlobal(position); QPoint p(pos.x(), pos.y() + 1); menu.exec(p); } diff --git a/src/lib/rss/rssmanager.cpp b/src/lib/rss/rssmanager.cpp index 669ec3d4b..ebcfbd2eb 100644 --- a/src/lib/rss/rssmanager.cpp +++ b/src/lib/rss/rssmanager.cpp @@ -243,7 +243,7 @@ void RSSManager::customContextMenuRequested(const QPoint &position) menu.addAction(tr("Open link in new tab"), this, SLOT(loadFeedInNewTab()))->setData(link); //Prevent choosing first option with double rightclick - QPoint pos = QCursor::pos(); + QPoint pos = treeWidget->viewport()->mapToGlobal(position); QPoint p(pos.x(), pos.y() + 1); menu.exec(p); } diff --git a/src/lib/sidebar/bookmarkssidebar.cpp b/src/lib/sidebar/bookmarkssidebar.cpp index 6f46750d3..c9511195c 100644 --- a/src/lib/sidebar/bookmarkssidebar.cpp +++ b/src/lib/sidebar/bookmarkssidebar.cpp @@ -119,7 +119,7 @@ void BookmarksSideBar::contextMenuRequested(const QPoint &position) menu.addAction(tr("&Delete"), this, SLOT(deleteItem())); //Prevent choosing first option with double rightclick - QPoint pos = QCursor::pos(); + QPoint pos = ui->bookmarksTree->viewport()->mapToGlobal(position); QPoint p(pos.x(), pos.y() + 1); menu.exec(p); } diff --git a/src/lib/sidebar/historysidebar.cpp b/src/lib/sidebar/historysidebar.cpp index 5ed7046bf..5f59d3059 100644 --- a/src/lib/sidebar/historysidebar.cpp +++ b/src/lib/sidebar/historysidebar.cpp @@ -102,7 +102,7 @@ void HistorySideBar::contextMenuRequested(const QPoint &position) menu.addAction(tr("Copy address"), this, SLOT(copyAddress()))->setData(link); //Prevent choosing first option with double rightclick - QPoint pos = QCursor::pos(); + QPoint pos = ui->historyTree->viewport()->mapToGlobal(position); QPoint p(pos.x(), pos.y() + 1); menu.exec(p); } diff --git a/src/lib/webview/siteinfo.cpp b/src/lib/webview/siteinfo.cpp index 9b7fd9509..b92b341fd 100644 --- a/src/lib/webview/siteinfo.cpp +++ b/src/lib/webview/siteinfo.cpp @@ -181,7 +181,7 @@ void SiteInfo::imagesCustomContextMenuRequested(const QPoint &p) menu.addAction(tr("Copy Image Name"), this, SLOT(copyActionData()))->setData(item->text(0)); menu.addSeparator(); menu.addAction(QIcon::fromTheme("document-save"), tr("Save Image to Disk"), this, SLOT(downloadImage())); - menu.exec(QCursor::pos()); + menu.exec(ui->treeImages->viewport()->mapToGlobal(p)); } void SiteInfo::databaseItemChanged(QListWidgetItem* item)