From b146ece4f63334b95e0e29409239b98d506d4e80 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sat, 9 Nov 2019 22:09:47 +0200 Subject: Context menu: add actions for MediaTypeNone - Select All - Clear Selection - Copy --- src/webengine/webview.cpp | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/webengine/webview.cpp b/src/webengine/webview.cpp index 5307291..930b747 100644 --- a/src/webengine/webview.cpp +++ b/src/webengine/webview.cpp @@ -7,8 +7,13 @@ */ #include "webview.h" +#include "browser.h" +#include "conf.hpp" #include "subwindow/subwindow.h" +#include "wallet/wallet.h" #include "webpage.h" +#include "webprofile.h" +#include "webprofilemanager.h" #include #include #include @@ -20,11 +25,6 @@ #include #include #include -#include "webprofilemanager.h" -#include "webprofile.h" -#include "browser.h" -#include "wallet/wallet.h" -#include "conf.hpp" inline QAction *historyAction(QWebEngineView *view, const QWebEngineHistoryItem &item) { @@ -212,6 +212,18 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) page()->triggerAction(QWebEnginePage::ReloadAndBypassCache); }); + menu->addSeparator(); + + connect(menu->addAction(tr("Select All")), &QAction::triggered, this, [this]() { + page()->triggerAction(QWebEnginePage::SelectAll); + }); + connect(menu->addAction(tr("Clear Selection")), &QAction::triggered, this, [this]() { + page()->triggerAction(QWebEnginePage::Unselect); + }); + connect(menu->addAction(tr("Copy to clipboard")), &QAction::triggered, this, [this]() { + page()->triggerAction(QWebEnginePage::Copy); + }); + } else if(ctxdata.mediaType() == QWebEngineContextMenuData::MediaTypeImage) { connect(menu->addAction(tr("Copy image to clipboard")), &QAction::triggered, this, [this]() { page()->triggerAction(QWebEnginePage::CopyImageToClipboard); @@ -245,7 +257,7 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) }); auto *newTabMenu = menu->addMenu(tr("Open link in new tab with profile")); - dynamic_cast(qApp)->getProfileManager()->profileMenu(newTabMenu, [this, ctxdata](WebProfile *profile) { + dynamic_cast(qApp)->getProfileManager()->profileMenu(newTabMenu, [this, ctxdata](WebProfile *profile) { auto *view = this->createWindow(QWebEnginePage::WebBrowserTab); view->setProfile(profile); view->load(ctxdata.linkUrl()); -- cgit v1.2.1