DiffEditor: fix jumping to selected file from toolbar dropdown

Change-Id: I968ddc798c6f66072947031bab2dd3855a99bdee
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
David Schulz
2025-06-16 15:22:07 +02:00
parent 1369bec9e2
commit edbfd96d4b
4 changed files with 8 additions and 2 deletions

View File

@@ -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)

View File

@@ -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);

View File

@@ -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);
}
}

View File

@@ -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