From 276e6a238deb9821475ea97534cdc17ba430ab5e Mon Sep 17 00:00:00 2001 From: VA3THP Date: Sun, 31 May 2026 21:17:54 -0400 Subject: [PATCH] Fix WSJT-X QSO panel mode updates --- core/WsjtxUDPReceiver.cpp | 2 +- ui/WsjtxWidget.cpp | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/core/WsjtxUDPReceiver.cpp b/core/WsjtxUDPReceiver.cpp index 6f07d4a1..1a5f8a3b 100644 --- a/core/WsjtxUDPReceiver.cpp +++ b/core/WsjtxUDPReceiver.cpp @@ -287,7 +287,7 @@ void WsjtxUDPReceiver::readPendingDatagrams() status.id = QString(id); status.mode = QString(mode); - status.tx_mode = QString(mode); + status.tx_mode = QString(tx_mode); status.sub_mode = QString(sub_mode); status.report = QString(report); status.dx_call = QString(dx_call); diff --git a/ui/WsjtxWidget.cpp b/ui/WsjtxWidget.cpp index ced19e8b..426b677c 100644 --- a/ui/WsjtxWidget.cpp +++ b/ui/WsjtxWidget.cpp @@ -209,14 +209,17 @@ void WsjtxWidget::statusReceived(WsjtxStatus newStatus) clearTable(); } + const QString wsjtxMode = ( !newStatus.tx_mode.isEmpty() ) ? newStatus.tx_mode + : newStatus.mode; + const QPair& legacy = Data::instance()->legacyMode(wsjtxMode); + QString mode = ( !legacy.first.isEmpty() ) ? legacy.first + : wsjtxMode.toUpper(); + QString submode = ( !legacy.first.isEmpty() ) ? legacy.second + : QString(); + emit modeChanged(VFO1, wsjtxMode, mode, submode, 0); + if ( !Rig::instance()->isRigConnected() ) { - const QPair& legacy = Data::instance()->legacyMode(newStatus.mode); - QString mode = ( !legacy.first.isEmpty() ) ? legacy.first - : newStatus.mode.toUpper(); - QString submode = ( !legacy.first.isEmpty() ) ? legacy.second - : QString(); - emit modeChanged(VFO1, newStatus.mode, mode, submode, 0); emit frequencyChanged(VFO1, currFreq, currFreq, currFreq); }