From 6cc021bcaf4ff40d18bec5bb6d6ebca64de1cc8e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 25 Aug 2023 17:35:29 -0400 Subject: [PATCH] when updating the highlight also update cursor position --- tools/lammps-gui/codeeditor.cpp | 13 ++++++++++++- tools/lammps-gui/lammpsgui.cpp | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/tools/lammps-gui/codeeditor.cpp b/tools/lammps-gui/codeeditor.cpp index ba50a1db1d..6acba416f2 100644 --- a/tools/lammps-gui/codeeditor.cpp +++ b/tools/lammps-gui/codeeditor.cpp @@ -96,7 +96,18 @@ void CodeEditor::setFont(const QFont &newfont) void CodeEditor::setHighlight(int block) { - highlight = block; + highlight = block; + + // also move cursor to current position + auto cursor = textCursor(); + int moves = block - cursor.blockNumber(); + if (moves < 0) + cursor.movePosition(QTextCursor::Up, QTextCursor::MoveAnchor, -moves); + else + cursor.movePosition(QTextCursor::Down, QTextCursor::MoveAnchor, moves); + setTextCursor(cursor); + + // update graphics repaint(); } diff --git a/tools/lammps-gui/lammpsgui.cpp b/tools/lammps-gui/lammpsgui.cpp index 91a8fe0053..d0ab79fdea 100644 --- a/tools/lammps-gui/lammpsgui.cpp +++ b/tools/lammps-gui/lammpsgui.cpp @@ -922,7 +922,7 @@ void LammpsGui::do_run(bool use_buffer) logupdater = new QTimer(this); connect(logupdater, &QTimer::timeout, this, &LammpsGui::logupdate); - logupdater->start(50); + logupdater->start(100); } void LammpsGui::render_image()