Skip to content

Commit d10430c

Browse files
committed
DataTab: Keep selection unchanged when appending received data
1 parent 92c4db7 commit d10430c

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/datatab.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,8 @@ void DataTab::appendSendedData(const QByteArray& data)
469469
// void MainWindow::syncEditWithData()
470470
void DataTab::appendReceivedData(const QByteArray &data, const QVector<Metadata>& metadata)
471471
{
472-
int cursorPos;
472+
// Record cursor position and selection
473+
QTextCursor textCursor = ui->receivedEdit->textCursor();
473474
int sliderPos;
474475

475476
if(!ui->receivedLatestBox->isChecked())
@@ -478,7 +479,6 @@ void DataTab::appendReceivedData(const QByteArray &data, const QVector<Metadata>
478479
sliderPos = RxSlider->sliderPosition();
479480
}
480481

481-
cursorPos = ui->receivedEdit->textCursor().position();
482482
ui->receivedEdit->moveCursor(QTextCursor::End);
483483
if(isReceivedDataHex)
484484
{
@@ -533,7 +533,7 @@ void DataTab::appendReceivedData(const QByteArray &data, const QVector<Metadata>
533533
ui->receivedEdit->insertPlainText(RxDecoder->toUnicode(dataItem));
534534
lastReceivedByte = *dataItem.crbegin();
535535
}
536-
ui->receivedEdit->textCursor().setPosition(cursorPos);
536+
ui->receivedEdit->setTextCursor(textCursor);
537537
if(!ui->receivedLatestBox->isChecked())
538538
{
539539
// Restore slider position

0 commit comments

Comments
 (0)