diff --git a/src/libs/utils/multitextcursor.cpp b/src/libs/utils/multitextcursor.cpp index f22490eb7db..c5d8feac0ab 100644 --- a/src/libs/utils/multitextcursor.cpp +++ b/src/libs/utils/multitextcursor.cpp @@ -50,6 +50,12 @@ void MultiTextCursor::addCursor(const QTextCursor &cursor) mergeCursors(); } +void MultiTextCursor::addCursors(const QList &cursors) +{ + m_cursors.append(cursors); + mergeCursors(); +} + void MultiTextCursor::setCursors(const QList &cursors) { m_cursors = cursors; diff --git a/src/libs/utils/multitextcursor.h b/src/libs/utils/multitextcursor.h index 8fdf041faa0..4aaaee933ee 100644 --- a/src/libs/utils/multitextcursor.h +++ b/src/libs/utils/multitextcursor.h @@ -57,6 +57,7 @@ public: /// the \param cursor that is appended by added by \brief addCursor /// will be interpreted as the new main cursor void addCursor(const QTextCursor &cursor); + void addCursors(const QList &cursors); /// convenience function that removes the old main cursor and appends /// \param cursor as the new main cursor void replaceMainCursor(const QTextCursor &cursor); diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 8951630dd53..35d764a33e5 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -5335,7 +5335,7 @@ void TextEditorWidget::mouseMoveEvent(QMouseEvent *e) anchorCursor.blockNumber(), anchorColumn}; - cursor.setCursors(d->generateCursorsForBlockSelection(blockSelection)); + cursor.addCursors(d->generateCursorsForBlockSelection(blockSelection)); if (!cursor.isNull()) setMultiTextCursor(cursor); } else {