Browse Source

TextEditor: Preserve preview scroll position across page refreshes

Sahan Fernando 5 years ago
parent
commit
ccc929dcf9
1 changed files with 4 additions and 0 deletions
  1. 4 0
      Applications/TextEditor/TextEditorWidget.cpp

+ 4 - 0
Applications/TextEditor/TextEditorWidget.cpp

@@ -606,11 +606,15 @@ void TextEditorWidget::update_markdown_preview()
     auto document = Markdown::Document::parse(m_editor->text());
     auto document = Markdown::Document::parse(m_editor->text());
     if (document) {
     if (document) {
         auto html = document->render_to_html();
         auto html = document->render_to_html();
+        auto current_scroll_pos = m_page_view->visible_content_rect();
         m_page_view->load_html(html, URL::create_with_file_protocol(m_path));
         m_page_view->load_html(html, URL::create_with_file_protocol(m_path));
+        m_page_view->scroll_into_view(current_scroll_pos, true, true);
     }
     }
 }
 }
 
 
 void TextEditorWidget::update_html_preview()
 void TextEditorWidget::update_html_preview()
 {
 {
+    auto current_scroll_pos = m_page_view->visible_content_rect();
     m_page_view->load_html(m_editor->text(), URL::create_with_file_protocol(m_path));
     m_page_view->load_html(m_editor->text(), URL::create_with_file_protocol(m_path));
+    m_page_view->scroll_into_view(current_scroll_pos, true, true);
 }
 }