From c1172ab8b5f4810e956cc86052060627a3d8c11e Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Sat, 14 Feb 2026 11:00:07 -0500 Subject: [PATCH] refactor: MainWindow only act on when the rb for mode is Checked, this prevents doing the full coreModeToggled twice when changing modes --- src/lib/gui/MainWindow.cpp | 8 +++++++- src/lib/gui/MainWindow.h | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/gui/MainWindow.cpp b/src/lib/gui/MainWindow.cpp index 0cfbe93e9..b3f2e6b5a 100644 --- a/src/lib/gui/MainWindow.cpp +++ b/src/lib/gui/MainWindow.cpp @@ -523,8 +523,14 @@ void MainWindow::showMyFingerprint() fingerprintDialog.exec(); } -void MainWindow::coreModeToggled() +void MainWindow::coreModeToggled(bool checked) { + // this method is called when rbClient or rbServer toggles + // with both being in the same group one must be turned on if the other is turned off + // only react to toggle on to avoid calling everything twice when the user switches modes + if (!checked) + return; + auto serverMode = ui->rbModeServer->isChecked(); const auto mode = serverMode ? QStringLiteral("server enabled") : QStringLiteral("client enabled"); diff --git a/src/lib/gui/MainWindow.h b/src/lib/gui/MainWindow.h index 0ffacfbf2..7134dbc19 100644 --- a/src/lib/gui/MainWindow.h +++ b/src/lib/gui/MainWindow.h @@ -124,7 +124,7 @@ private: void updateSecurityIcon(bool visible); void updateNetworkInfo(); - void coreModeToggled(); + void coreModeToggled(bool checked); void updateModeControls(bool serverMode); void updateModeControlLabels(); std::unique_ptr ui;