VCS: update the text cursor of VcsBaseEditorWidget

TextEditorWidget::slotCursorPositionChanged makes sure that the multi
text cursor in the TextEditorWidget reflects all changes of the
QPlainTextEdit cursor.

Fixes: QTCREATORBUG-26360
Change-Id: I43d612c6f85fedbf45179898e044b516a93a3ed8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
David Schulz
2021-10-12 13:42:19 +02:00
parent 6703162783
commit 9ea3d61aaa

View File

@@ -958,18 +958,19 @@ void VcsBaseEditorWidget::slotCursorPositionChanged()
// Adapt entries combo to new position
// if the cursor goes across a file line.
const int newCursorLine = textCursor().blockNumber();
if (newCursorLine == d->m_cursorLine)
return;
// Which section does it belong to?
d->m_cursorLine = newCursorLine;
const int section = sectionOfLine(d->m_cursorLine, d->m_entrySections);
if (section != -1) {
QComboBox *entriesComboBox = d->entriesComboBox();
if (entriesComboBox->currentIndex() != section) {
QSignalBlocker blocker(entriesComboBox);
entriesComboBox->setCurrentIndex(section);
if (newCursorLine != d->m_cursorLine) {
// Which section does it belong to?
d->m_cursorLine = newCursorLine;
const int section = sectionOfLine(d->m_cursorLine, d->m_entrySections);
if (section != -1) {
QComboBox *entriesComboBox = d->entriesComboBox();
if (entriesComboBox->currentIndex() != section) {
QSignalBlocker blocker(entriesComboBox);
entriesComboBox->setCurrentIndex(section);
}
}
}
TextEditorWidget::slotCursorPositionChanged();
}
void VcsBaseEditorWidget::contextMenuEvent(QContextMenuEvent *e)