Просмотр исходного кода

disable web view before setHtml() to keep focus unchanged

Le Tan 7 лет назад
Родитель
Сommit
3cd96794d1
1 измененных файлов с 3 добавлено и 9 удалено
  1. 3 9
      src/vmathjaxpreviewhelper.cpp

+ 3 - 9
src/vmathjaxpreviewhelper.cpp

@@ -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"));
-
-    if (focusWid) {
-        focusWid->setFocus();
-    } else {
-        m_parentWidget->setFocus();
-    }
+    m_webView->setEnabled(true);
 }
 }
 
 
 void VMathJaxPreviewHelper::previewMathJax(int p_identifier,
 void VMathJaxPreviewHelper::previewMathJax(int p_identifier,