diff --git a/Configuration.cpp b/Configuration.cpp index 870639172..9e95feccf 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -594,6 +594,7 @@ private: Q_SLOT void on_cbAutoLog_clicked(bool); Q_SLOT void on_Field_Day_Exchange_textEdited (QString const&); Q_SLOT void on_RTTY_Exchange_textEdited (QString const&); + Q_SLOT void on_FoxKey_textEdited (QString const&); Q_SLOT void on_Contest_Name_textEdited (QString const&); // typenames used as arguments must match registered type names :( @@ -692,6 +693,7 @@ private: QString RTTY_exchange_; QString Contest_Name_; QString hamlib_backed_up_; + QString FoxKey_; qint32 id_interval_; qint32 ntrials_; @@ -1001,6 +1003,11 @@ QString Configuration::RTTY_Exchange() const return m_->RTTY_exchange_; } +QString Configuration::FoxKey() const +{ + return m_->FoxKey_; +} + QString Configuration::Contest_Name() const { return m_->Contest_Name_; @@ -1577,9 +1584,11 @@ void Configuration::impl::read_settings () my_grid_ = settings_->value ("MyGrid", QString {}).toString (); FD_exchange_ = settings_->value ("Field_Day_Exchange",QString {}).toString (); RTTY_exchange_ = settings_->value ("RTTY_Exchange",QString {}).toString (); + FoxKey_ = settings_->value ("FoxKey",QString {}).toString (); Contest_Name_ = settings_->value ("Contest_Name",QString {}).toString (); ui_->Field_Day_Exchange->setText(FD_exchange_); ui_->RTTY_Exchange->setText(RTTY_exchange_); + ui_->FoxKey->setText(FoxKey_); ui_->Contest_Name->setText(Contest_Name_); hamlib_backed_up_ = settings_->value ("HamlibBackedUp",QString {}).toString (); @@ -1808,6 +1817,7 @@ void Configuration::impl::write_settings () settings_->setValue ("MyGrid", my_grid_); settings_->setValue ("Field_Day_Exchange", FD_exchange_); settings_->setValue ("RTTY_Exchange", RTTY_exchange_); + settings_->setValue ("FoxKey", FoxKey_); settings_->setValue ("Contest_Name", Contest_Name_); settings_->setValue ("Font", font_.toString ()); settings_->setValue ("DecodedTextFont", decoded_text_font_.toString ()); @@ -2275,6 +2285,7 @@ void Configuration::impl::accept () my_grid_ = ui_->grid_line_edit->text (); FD_exchange_= ui_->Field_Day_Exchange->text ().toUpper (); RTTY_exchange_= ui_->RTTY_Exchange->text ().toUpper (); + FoxKey_= ui_->FoxKey->text().toUpper(); Contest_Name_= ui_->Contest_Name->text ().toUpper (); spot_to_psk_reporter_ = ui_->psk_reporter_check_box->isChecked (); psk_reporter_tcpip_ = ui_->psk_reporter_tcpip_check_box->isChecked (); @@ -3129,6 +3140,11 @@ void Configuration::impl::on_RTTY_Exchange_textEdited (QString const& exchange) ui_->RTTY_Exchange->setText (exchange.toUpper ()); } +void Configuration::impl::on_FoxKey_textEdited (QString const& ckey) +{ + ui_->FoxKey->setText (ckey.toUpper ()); +} + void Configuration::impl::on_Contest_Name_textEdited (QString const& exchange) { ui_->Contest_Name->setText (exchange.toUpper ()); diff --git a/Configuration.hpp b/Configuration.hpp index 6ae241f76..07a297eb8 100644 --- a/Configuration.hpp +++ b/Configuration.hpp @@ -100,6 +100,7 @@ public: QString my_grid () const; QString Field_Day_Exchange() const; QString RTTY_Exchange() const; + QString FoxKey() const; QString Contest_Name() const; void setEU_VHF_Contest(); QFont text_font () const; diff --git a/Configuration.ui b/Configuration.ui index 8f6662590..33a6f5f01 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -2908,18 +2908,40 @@ Right click for insert and delete options. false - - - - Qt::Horizontal + + + + + 0 + 0 + - - - 40 - 20 - + + <html><head/><body><p>North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.</p></body></html> - + + NA VHF Contest + + + NA VHF + + + special_op_activity_button_group + + + + + + + <html><head/><body><p>ARRL International Digital Contest</p></body></html> + + + ARRL Digi Contest + + + special_op_activity_button_group + + @@ -2940,8 +2962,8 @@ Right click for insert and delete options. - - + + 0 @@ -2949,13 +2971,124 @@ Right click for insert and delete options. - <html><head/><body><p>North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.</p></body></html> + <html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html> - NA VHF Contest + EU VHF Contest - NA VHF + EU VHF Contest + + + special_op_activity_button_group + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + <html><head/><body><p>Call CQ with an individual contest name instead of TEST, RU, or WW. </p></body></html> + + + CQ with individual contest name + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Contest name: + + + + + + + + 70 + 16777215 + + + + + + + 4 + + + 0 + + + Qt::AlignCenter + + + + + + + + + + + <html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html> + + + Fox + + + Fox + + + false + + + special_op_activity_button_group + + + + + + + <html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html> + + + Hound + + + Hound + + + true special_op_activity_button_group @@ -2984,6 +3117,13 @@ Right click for insert and delete options. + + + + SuperFox + + + @@ -3053,120 +3193,6 @@ Right click for insert and delete options. - - - - - - <html><head/><body><p>Call CQ with an individual contest name instead of TEST, RU, or WW. </p></body></html> - - - CQ with individual contest name - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Contest name: - - - - - - - - 70 - 16777215 - - - - - - - 4 - - - 0 - - - Qt::AlignCenter - - - - - - - - - - - <html><head/><body><p>ARRL International Digital Contest</p></body></html> - - - ARRL Digi Contest - - - special_op_activity_button_group - - - - - - - - 0 - 0 - - - - <html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html> - - - EU VHF Contest - - - EU VHF Contest - - - special_op_activity_button_group - - - - - - - <html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html> - - - Fox - - - Fox - - - false - - - special_op_activity_button_group - - - @@ -3236,31 +3262,38 @@ Right click for insert and delete options. - - - - <html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html> - - - Hound - - - Hound - - - true - - - special_op_activity_button_group - - - - - - - SuperFox - - + + + + + + Key: + + + + + + + + 0 + 0 + + + + + 80 + 16777215 + + + + 9 + + + Qt::AlignCenter + + + + @@ -3505,13 +3538,13 @@ Right click for insert and delete options. - - - - + + + + diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index bf5816d2f..3e2c3f8a3 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -5134,6 +5134,11 @@ void MainWindow::guiUpdate() //Once per second (onesec) if(nsec != m_sec0) { // qDebug() << "AAA" << nsec%60 << ipc_qmap[5]; + +// qint64 n64 = QDateTime::currentSecsSinceEpoch(); +// n64=n64/30; +// n64=n64*30; +// qDebug() << "bb" << m_config.FoxKey() << nsec%60 << dec_data.params.nutc << n64 << n64%60; if(m_mode=="FST4") chk_FST4_freq_range(); m_currentBand=m_config.bands()->find(m_freqNominal); if( SpecOp::HOUND == m_specOp ) { @@ -10933,7 +10938,10 @@ void MainWindow::on_jt65Button_clicked() void MainWindow::sfox_tx() { auto fname {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_1.dat")).toLocal8Bit()}; - p2.start(QDir::toNativeSeparators(m_appDir)+QDir::separator()+"sftx", QStringList {fname}); + QStringList args{fname}; + args.append(m_config.FoxKey()); + qDebug() << "aa" << args; + p2.start(QDir::toNativeSeparators(m_appDir)+QDir::separator()+"sftx", args); p2.waitForFinished(); auto fname2 {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_2.dat")).toLocal8Bit()}; sfox_wave_(fname2.constData(), (FCL)fname2.size());