From 7fd5ec26e5bd148a3afc88ba5165d1c1f4bd8405 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Wed, 20 Dec 2017 20:47:59 +0800 Subject: [PATCH] bug-fix: restore header from edit mode after web side logic is ready --- src/vmdtab.cpp | 8 +++++--- src/vmdtab.h | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/vmdtab.cpp b/src/vmdtab.cpp index 61c83f9b..152c9ade 100644 --- a/src/vmdtab.cpp +++ b/src/vmdtab.cpp @@ -81,7 +81,8 @@ void VMdTab::showFileReadMode() { m_isEditMode = false; - VHeaderPointer header(m_currentHeader); + // Will recover the header when web side is ready. + m_headerFromEditMode = m_currentHeader; if (m_mdConType == MarkdownConverterType::Hoedown) { viewWebByConverter(); @@ -93,8 +94,6 @@ void VMdTab::showFileReadMode() m_stacks->setCurrentWidget(m_webViewer); clearSearchedWordHighlight(); - scrollWebViewToHeader(header); - updateStatus(); } @@ -395,6 +394,9 @@ void VMdTab::setupMarkdownViewer() connect(m_document, &VDocument::logicsFinished, this, [this]() { if (m_ready & TabReady::ReadMode) { + // Recover header from edit mode. + scrollWebViewToHeader(m_headerFromEditMode); + m_headerFromEditMode.clear(); return; } diff --git a/src/vmdtab.h b/src/vmdtab.h index 266cd8fe..85358fb6 100644 --- a/src/vmdtab.h +++ b/src/vmdtab.h @@ -196,6 +196,9 @@ private: QTimer *m_backupTimer; bool m_backupFileChecked; + + // Used to scroll to the header of edit mode in read mode. + VHeaderPointer m_headerFromEditMode; }; inline VMdEditor *VMdTab::getEditor()