diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 1d6a5434f..0cb86ae22 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -2376,6 +2376,16 @@ void MainWindow::keyPressEvent (QKeyEvent * e) } break; case Qt::Key_R: + if(m_mode=="Q65" and e->modifiers() & Qt::ShiftModifier and + e->modifiers() & Qt::ControlModifier) { + if(m_specOp==SpecOp::Q65_PILEUP) { + refreshPileupList(); + } else { + m_fetched=0; + readWidebandDecodes(); + } + return; + } if(e->modifiers() & Qt::AltModifier) { if(!m_send_RR73) on_txrb4_doubleClicked(); return; @@ -2384,11 +2394,6 @@ void MainWindow::keyPressEvent (QKeyEvent * e) if(m_send_RR73) on_txrb4_doubleClicked(); return; } - if((e->modifiers() & Qt::ShiftModifier) and m_specOp!=SpecOp::Q65_PILEUP and m_mode=="Q65") { - m_fetched=0; - readWidebandDecodes(); - return; - } break; case Qt::Key_X: if(e->modifiers() & Qt::AltModifier) { @@ -3192,6 +3197,7 @@ void MainWindow::on_actionKeyboard_shortcuts_triggered() Alt+Q Open "Log QSO" window Ctrl+R Set Tx4 message to RRR (not in FT4) Alt+R Set Tx4 message to RR73 + Ctrl+Shift+R Refresh Active Stations window Alt+S Stop monitoring Alt+T Toggle Tune status Alt+Z Clear hung decoder status @@ -3591,29 +3597,34 @@ void MainWindow::decodeDone () if(m_mode=="Q65" and (m_specOp==SpecOp::NA_VHF or m_specOp==SpecOp::ARRL_DIGI or m_specOp==SpecOp::WW_DIGI or m_specOp==SpecOp::Q65_PILEUP) and m_ActiveStationsWidget!=NULL) { -// Update the ActiveStations display for Q65 pileup situation... - int nlist=0; - char list[2000]; - char line[36]; - list[0]=0; - auto fname {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("tsil.3q"))}; - get_q3list_(const_cast (fname.toLatin1().constData()), &m_diskData, &nlist, - &list[0], (FCL)fname.length(), (FCL)2000); - QString t=""; - QString t0=""; - for(int i=0; isetClickOK(false); - m_ActiveStationsWidget->displayRecentStations("Q65-pileup",t); - m_ActiveStationsWidget->setClickOK(true); + refreshPileupList(); } } +void MainWindow::refreshPileupList() +{ + // Update the ActiveStations display for Q65 pileup situation... + int nlist=0; + char list[2000]; + char line[36]; + list[0]=0; + auto fname {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("tsil.3q"))}; + get_q3list_(const_cast (fname.toLatin1().constData()), &m_diskData, &nlist, + &list[0], (FCL)fname.length(), (FCL)2000); + QString t=""; + QString t0=""; + for(int i=0; isetClickOK(false); + m_ActiveStationsWidget->displayRecentStations("Q65-pileup",t); + m_ActiveStationsWidget->setClickOK(true); +} + void MainWindow::read_log() { static QFile f {QDir {QStandardPaths::writableLocation (QStandardPaths::DataLocation)}.absoluteFilePath ("wsjtx.log")}; @@ -3797,6 +3808,7 @@ void MainWindow::callSandP2(int n) if(bCtrl) { // Remove this call from q3list. rm_q3list_(const_cast (m_deCall.toLatin1().constData()), m_deCall.size()); + refreshPileupList(); return; } m_deGrid=w[3]; diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index 7b525f379..4f33167e9 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -868,6 +868,7 @@ private: void ARRL_Digi_Update(DecodedText dt); void activeWorked(QString call, QString band); void read_log(); + void refreshPileupList(); }; extern int killbyname(const char* progName);