disable web view before setHtml() to keep focus unchanged

This commit is contained in:
Le Tan 2018-05-04 20:37:23 +08:00
parent 660e2ba86a
commit 3cd96794d1

View File

@ -2,7 +2,6 @@
#include <QWebEngineView> #include <QWebEngineView>
#include <QWebChannel> #include <QWebChannel>
#include <QApplication>
#include "utils/vutils.h" #include "utils/vutils.h"
#include "vmathjaxwebdocument.h" #include "vmathjaxwebdocument.h"
@ -28,8 +27,6 @@ void VMathJaxPreviewHelper::doInit()
m_initialized = true; m_initialized = true;
QWidget *focusWid = QApplication::focusWidget();
m_webView = new QWebEngineView(m_parentWidget); m_webView = new QWebEngineView(m_parentWidget);
connect(m_webView, &QWebEngineView::loadFinished, connect(m_webView, &QWebEngineView::loadFinished,
this, [this]() { this, [this]() {
@ -68,13 +65,10 @@ void VMathJaxPreviewHelper::doInit()
channel->registerObject(QStringLiteral("content"), m_webDoc); channel->registerObject(QStringLiteral("content"), m_webDoc);
m_webView->page()->setWebChannel(channel); m_webView->page()->setWebChannel(channel);
// setHtml() will change focus if it is not disabled.
m_webView->setEnabled(false);
m_webView->setHtml(VUtils::generateMathJaxPreviewTemplate(), QUrl("qrc:/resources")); m_webView->setHtml(VUtils::generateMathJaxPreviewTemplate(), QUrl("qrc:/resources"));
m_webView->setEnabled(true);
if (focusWid) {
focusWid->setFocus();
} else {
m_parentWidget->setFocus();
}
} }
void VMathJaxPreviewHelper::previewMathJax(int p_identifier, void VMathJaxPreviewHelper::previewMathJax(int p_identifier,