Fixed #80.
This commit is contained in:
parent
fa6039e13f
commit
9719fd75da
@ -2,6 +2,7 @@
|
|||||||
—————
|
—————
|
||||||
|
|
||||||
Added:
|
Added:
|
||||||
|
▪ New context menu internal web viewer action to open links in ext. browser (#80)
|
||||||
▪ New bindable menu action Messages -> Enable message preview, which can disable opening message preview in internal web viewer. (#141)
|
▪ New bindable menu action Messages -> Enable message preview, which can disable opening message preview in internal web viewer. (#141)
|
||||||
|
|
||||||
Fixed:
|
Fixed:
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include "network-web/webfactory.h"
|
#include "network-web/webfactory.h"
|
||||||
#include "network-web/webpage.h"
|
#include "network-web/webpage.h"
|
||||||
|
|
||||||
|
#include <QWebEngineContextMenuData>
|
||||||
#include <QWheelEvent>
|
#include <QWheelEvent>
|
||||||
|
|
||||||
WebViewer::WebViewer(QWidget* parent) : QWebEngineView(parent), m_root(nullptr) {
|
WebViewer::WebViewer(QWidget* parent) : QWebEngineView(parent), m_root(nullptr) {
|
||||||
@ -137,9 +138,18 @@ void WebViewer::clear() {
|
|||||||
void WebViewer::contextMenuEvent(QContextMenuEvent* event) {
|
void WebViewer::contextMenuEvent(QContextMenuEvent* event) {
|
||||||
event->accept();
|
event->accept();
|
||||||
QMenu* menu = page()->createStandardContextMenu();
|
QMenu* menu = page()->createStandardContextMenu();
|
||||||
|
QWebEngineContextMenuData menu_data = page()->contextMenuData();
|
||||||
|
|
||||||
|
if (menu_data.linkUrl().isValid()) {
|
||||||
|
// Add option to open link in external viewe
|
||||||
|
menu->addAction(qApp->icons()->fromTheme(QSL("")), tr("Open link in external browser"), [menu_data]() {
|
||||||
|
qApp->web()->openUrlInExternalBrowser(menu_data.linkUrl().toString());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
menu->addAction(AdBlockManager::instance()->adBlockIcon());
|
menu->addAction(AdBlockManager::instance()->adBlockIcon());
|
||||||
menu->addAction(qApp->web()->engineSettingsAction());
|
menu->addAction(qApp->web()->engineSettingsAction());
|
||||||
|
|
||||||
const QPoint pos = event->globalPos();
|
const QPoint pos = event->globalPos();
|
||||||
QPoint p(pos.x(), pos.y() + 1);
|
QPoint p(pos.x(), pos.y() + 1);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user