mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-06 06:19:52 +08:00
show hover link
This commit is contained in:
parent
5d9103b933
commit
66554819a6
@ -7,7 +7,6 @@
|
|||||||
#include <QMimeData>
|
#include <QMimeData>
|
||||||
#include <QScopedPointer>
|
#include <QScopedPointer>
|
||||||
|
|
||||||
#include "../webpage.h"
|
|
||||||
#include "markdownvieweradapter.h"
|
#include "markdownvieweradapter.h"
|
||||||
#include "previewhelper.h"
|
#include "previewhelper.h"
|
||||||
#include <utils/clipboardutils.h>
|
#include <utils/clipboardutils.h>
|
||||||
@ -28,25 +27,15 @@ MarkdownViewer::MarkdownViewer(MarkdownViewerAdapter *p_adapter,
|
|||||||
const QColor &p_background,
|
const QColor &p_background,
|
||||||
qreal p_zoomFactor,
|
qreal p_zoomFactor,
|
||||||
QWidget *p_parent)
|
QWidget *p_parent)
|
||||||
: WebViewer(p_parent),
|
: WebViewer(p_background, p_zoomFactor, p_parent),
|
||||||
m_adapter(p_adapter)
|
m_adapter(p_adapter)
|
||||||
{
|
{
|
||||||
m_adapter->setParent(this);
|
m_adapter->setParent(this);
|
||||||
|
|
||||||
auto page = new WebPage(this);
|
|
||||||
setPage(page);
|
|
||||||
|
|
||||||
// Avoid white flash before loading content.
|
|
||||||
// Setting Qt::transparent will force GrayScale antialias rendering.
|
|
||||||
page->setBackgroundColor(p_background);
|
|
||||||
|
|
||||||
if (!Utils::fuzzyEqual(p_zoomFactor, 1.0)) {
|
|
||||||
setZoomFactor(p_zoomFactor);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto channel = new QWebChannel(this);
|
auto channel = new QWebChannel(this);
|
||||||
channel->registerObject(QStringLiteral("vxAdapter"), m_adapter);
|
channel->registerObject(QStringLiteral("vxAdapter"), m_adapter);
|
||||||
page->setWebChannel(channel);
|
|
||||||
|
page()->setWebChannel(channel);
|
||||||
|
|
||||||
connect(QApplication::clipboard(), &QClipboard::changed,
|
connect(QApplication::clipboard(), &QClipboard::changed,
|
||||||
this, &MarkdownViewer::handleClipboardChanged);
|
this, &MarkdownViewer::handleClipboardChanged);
|
||||||
|
@ -414,6 +414,11 @@ void MarkdownViewWindow::setupViewer()
|
|||||||
showZoomFactor(p_factor);
|
showZoomFactor(p_factor);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
connect(m_viewer, &WebViewer::linkHovered,
|
||||||
|
this, [this](const QString &p_url) {
|
||||||
|
showMessage(p_url);
|
||||||
|
});
|
||||||
|
|
||||||
// Connect outline pipeline.
|
// Connect outline pipeline.
|
||||||
connect(adapter, &MarkdownViewerAdapter::headingsChanged,
|
connect(adapter, &MarkdownViewerAdapter::headingsChanged,
|
||||||
this, [this]() {
|
this, [this]() {
|
||||||
|
@ -1,14 +1,33 @@
|
|||||||
#include "webviewer.h"
|
#include "webviewer.h"
|
||||||
|
|
||||||
|
#include "webpage.h"
|
||||||
|
|
||||||
|
#include <utils/utils.h>
|
||||||
|
|
||||||
using namespace vnotex;
|
using namespace vnotex;
|
||||||
|
|
||||||
WebViewer::WebViewer(QWidget *p_parent)
|
WebViewer::WebViewer(const QColor &p_background,
|
||||||
|
qreal p_zoomFactor,
|
||||||
|
QWidget *p_parent)
|
||||||
: QWebEngineView(p_parent)
|
: QWebEngineView(p_parent)
|
||||||
{
|
{
|
||||||
setAcceptDrops(false);
|
setAcceptDrops(false);
|
||||||
|
|
||||||
|
auto viewPage = new WebPage(this);
|
||||||
|
setPage(viewPage);
|
||||||
|
|
||||||
|
connect(viewPage, &QWebEnginePage::linkHovered,
|
||||||
|
this, &WebViewer::linkHovered);
|
||||||
|
|
||||||
|
// Avoid white flash before loading content.
|
||||||
|
// Setting Qt::transparent will force GrayScale antialias rendering.
|
||||||
|
viewPage->setBackgroundColor(p_background);
|
||||||
|
|
||||||
|
if (!Utils::fuzzyEqual(p_zoomFactor, 1.0)) {
|
||||||
|
setZoomFactor(p_zoomFactor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WebViewer::~WebViewer()
|
WebViewer::~WebViewer()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,9 +9,14 @@ namespace vnotex
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit WebViewer(QWidget *p_parent = nullptr);
|
explicit WebViewer(const QColor &p_background,
|
||||||
|
qreal p_zoomFactor,
|
||||||
|
QWidget *p_parent = nullptr);
|
||||||
|
|
||||||
virtual ~WebViewer();
|
virtual ~WebViewer();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void linkHovered(const QString &p_url);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user