diff --git a/src/libs/utils/plaintextedit/plaintextedit.cpp b/src/libs/utils/plaintextedit/plaintextedit.cpp index 833bf70226f..f5f9b6ba3f2 100644 --- a/src/libs/utils/plaintextedit/plaintextedit.cpp +++ b/src/libs/utils/plaintextedit/plaintextedit.cpp @@ -2973,6 +2973,11 @@ bool PlainTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags } #endif +void PlainTextEdit::setTopBlock(const QTextBlock &block) +{ + d->setTopBlock(block.firstLineNumber(), 0, 0); +} + /*! \fn void PlainTextEdit::copyAvailable(bool yes) diff --git a/src/libs/utils/plaintextedit/plaintextedit.h b/src/libs/utils/plaintextedit/plaintextedit.h index d822ae64462..da4ed0050f2 100644 --- a/src/libs/utils/plaintextedit/plaintextedit.h +++ b/src/libs/utils/plaintextedit/plaintextedit.h @@ -111,6 +111,7 @@ public: inline QString toPlainText() const { return document()->toPlainText(); } + void setTopBlock(const QTextBlock &block); void ensureCursorVisible(); virtual QVariant loadResource(int type, const QUrl &name); diff --git a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp index a340af435f8..ffc512c5e78 100644 --- a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp +++ b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp @@ -834,7 +834,7 @@ void SideBySideDiffEditorWidget::setCurrentDiffFileIndex(int diffFileIndex) QTextCursor cursor = editor->textCursor(); cursor.setPosition(block.position()); editor->setTextCursor(cursor); - editor->verticalScrollBar()->setValue(blockNumber); + editor->setTopBlock(block); } } diff --git a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp index f0591e7519f..7e1148cd59f 100644 --- a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp +++ b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp @@ -578,7 +578,7 @@ void UnifiedDiffEditorWidget::setCurrentDiffFileIndex(int diffFileIndex) QTextCursor cursor = textCursor(); cursor.setPosition(block.position()); setTextCursor(cursor); - verticalScrollBar()->setValue(blockNumber); + setTopBlock(block); } } // namespace DiffEditor::Internal