forked from qt-creator/qt-creator
Markdown: Implement navigation history
The text editor widget now tells us when it thinks a new navigation point should be added, so do it. Change-Id: I20e65134420cb1d94d7bc5310791d07ff951647c Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -110,6 +110,21 @@ public:
|
|||||||
m_textEditorWidget->setTextDocument(m_document);
|
m_textEditorWidget->setTextDocument(m_document);
|
||||||
m_textEditorWidget->setupGenericHighlighter();
|
m_textEditorWidget->setupGenericHighlighter();
|
||||||
m_textEditorWidget->setMarksVisible(false);
|
m_textEditorWidget->setMarksVisible(false);
|
||||||
|
QObject::connect(
|
||||||
|
m_textEditorWidget,
|
||||||
|
&TextEditorWidget::saveCurrentStateForNavigationHistory,
|
||||||
|
this,
|
||||||
|
&MarkdownEditor::saveCurrentStateForNavigationHistory);
|
||||||
|
QObject::connect(
|
||||||
|
m_textEditorWidget,
|
||||||
|
&TextEditorWidget::addSavedStateToNavigationHistory,
|
||||||
|
this,
|
||||||
|
&MarkdownEditor::addSavedStateToNavigationHistory);
|
||||||
|
QObject::connect(
|
||||||
|
m_textEditorWidget,
|
||||||
|
&TextEditorWidget::addCurrentStateToNavigationHistory,
|
||||||
|
this,
|
||||||
|
&MarkdownEditor::addCurrentStateToNavigationHistory);
|
||||||
auto context = new IContext(this);
|
auto context = new IContext(this);
|
||||||
context->setWidget(m_textEditorWidget);
|
context->setWidget(m_textEditorWidget);
|
||||||
context->setContext(Context(MARKDOWNVIEWER_TEXT_CONTEXT));
|
context->setContext(Context(MARKDOWNVIEWER_TEXT_CONTEXT));
|
||||||
@@ -476,6 +491,18 @@ private:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void saveCurrentStateForNavigationHistory() { m_savedNavigationState = saveState(); }
|
||||||
|
|
||||||
|
void addSavedStateToNavigationHistory()
|
||||||
|
{
|
||||||
|
EditorManager::addCurrentPositionToNavigationHistory(m_savedNavigationState);
|
||||||
|
}
|
||||||
|
|
||||||
|
void addCurrentStateToNavigationHistory()
|
||||||
|
{
|
||||||
|
EditorManager::addCurrentPositionToNavigationHistory();
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTimer m_previewTimer;
|
QTimer m_previewTimer;
|
||||||
bool m_performDelayedUpdate = false;
|
bool m_performDelayedUpdate = false;
|
||||||
@@ -491,6 +518,7 @@ private:
|
|||||||
QAction *m_togglePreviewVisibleAction;
|
QAction *m_togglePreviewVisibleAction;
|
||||||
QAction *m_swapViewsAction;
|
QAction *m_swapViewsAction;
|
||||||
std::optional<QPoint> m_previewRestoreScrollPosition;
|
std::optional<QPoint> m_previewRestoreScrollPosition;
|
||||||
|
QByteArray m_savedNavigationState;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MarkdownEditorFactory final : public IEditorFactory
|
class MarkdownEditorFactory final : public IEditorFactory
|
||||||
|
Reference in New Issue
Block a user