From 3cd96794d113d156eac8f1903b585dbae1ced0d7 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Fri, 4 May 2018 20:37:23 +0800 Subject: [PATCH] disable web view before setHtml() to keep focus unchanged --- src/vmathjaxpreviewhelper.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/vmathjaxpreviewhelper.cpp b/src/vmathjaxpreviewhelper.cpp index d107985d..df4598a8 100644 --- a/src/vmathjaxpreviewhelper.cpp +++ b/src/vmathjaxpreviewhelper.cpp @@ -2,7 +2,6 @@ #include #include -#include #include "utils/vutils.h" #include "vmathjaxwebdocument.h" @@ -28,8 +27,6 @@ void VMathJaxPreviewHelper::doInit() m_initialized = true; - QWidget *focusWid = QApplication::focusWidget(); - m_webView = new QWebEngineView(m_parentWidget); connect(m_webView, &QWebEngineView::loadFinished, this, [this]() { @@ -68,13 +65,10 @@ void VMathJaxPreviewHelper::doInit() channel->registerObject(QStringLiteral("content"), m_webDoc); 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")); - - if (focusWid) { - focusWid->setFocus(); - } else { - m_parentWidget->setFocus(); - } + m_webView->setEnabled(true); } void VMathJaxPreviewHelper::previewMathJax(int p_identifier,