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