diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e04ad2c..3a5113a 100755 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2045,18 +2045,28 @@ void MainWindow::setupDebugLogTab() { ui->debugLog->setPlainText( readDebugLines() ); - // Set up timer - QTimer* debugTimer = new QTimer(); - QObject::connect(debugTimer, &QTimer::timeout, [=]() { - uint32_t debugLines = ui->debugLines->text().trimmed().toInt(); - if (debugLines == 0) { debugLines = 50; } - ui->debugLog->setPlainText( readDebugLines(debugLines) ); - DEBUG("Refreshed debug data with debugLines=" << debugLines); + QObject::connect(ui->debugAuto, &QCheckBox::stateChanged, [=](auto checked) { + if(checked) { + QTimer* debugTimer = new QTimer(); + DEBUG("debugAuto checkbox checked"); + // Set up timer + QObject::connect(debugTimer, &QTimer::timeout, [=]() { + uint32_t debugLines = ui->debugLines->text().trimmed().toInt(); + if (debugLines == 0) { debugLines = 50; } + ui->debugLog->setPlainText( readDebugLines(debugLines) ); + DEBUG("Refreshed debug data with debugLines=" << debugLines); + }); + //TODO: allow customizing refresh speed + uint32_t debugRefreshSpeed = 30*1000; + debugTimer->start(debugRefreshSpeed); + DEBUG("started debug refresh at speed=" << debugRefreshSpeed); //Settings::debugRefreshSpeed; + } else { + DEBUG("debugAuto checkbox unchecked"); + //TODO: store debugTimer in class so we can access it here and stop it + // debugTimer->stop(); + } }); - //TODO: allow customizing refresh speed - uint32_t debugRefreshSpeed = 30*1000; - debugTimer->start(debugRefreshSpeed); - DEBUG("started debug refresh at speed=" << debugRefreshSpeed); //Settings::debugRefreshSpeed; + } void MainWindow::setupPeersTab() { diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 242e94b..9b88ada 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1183,13 +1183,16 @@ - + Auto refresh false + + true +