mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-29 07:28:54 -04:00
Merge branch 'develop' into qmap
This commit is contained in:
commit
330db0feb4
@ -363,6 +363,7 @@ set (wsjt_FSRCS
|
|||||||
lib/bpdecode128_90.f90
|
lib/bpdecode128_90.f90
|
||||||
lib/ft8/bpdecode174_91.f90
|
lib/ft8/bpdecode174_91.f90
|
||||||
lib/baddata.f90
|
lib/baddata.f90
|
||||||
|
lib/cablog.f90
|
||||||
lib/calibrate.f90
|
lib/calibrate.f90
|
||||||
lib/ccf2.f90
|
lib/ccf2.f90
|
||||||
lib/ccf65.f90
|
lib/ccf65.f90
|
||||||
@ -1143,6 +1144,9 @@ target_link_libraries (jt65sim wsjt_fort wsjt_cxx)
|
|||||||
add_executable (sumsim lib/sumsim.f90)
|
add_executable (sumsim lib/sumsim.f90)
|
||||||
target_link_libraries (sumsim wsjt_fort wsjt_cxx)
|
target_link_libraries (sumsim wsjt_fort wsjt_cxx)
|
||||||
|
|
||||||
|
add_executable (cablog lib/cablog.f90)
|
||||||
|
target_link_libraries (cablog)
|
||||||
|
|
||||||
add_executable (test_snr lib/test_snr.f90)
|
add_executable (test_snr lib/test_snr.f90)
|
||||||
target_link_libraries (test_snr wsjt_fort)
|
target_link_libraries (test_snr wsjt_fort)
|
||||||
|
|
||||||
@ -1599,7 +1603,7 @@ install (TARGETS jt9 wsprd fmtave fcal fmeasure
|
|||||||
|
|
||||||
if(WSJT_BUILD_UTILS)
|
if(WSJT_BUILD_UTILS)
|
||||||
install (TARGETS ft8code jt65code jt9code jt4code msk144code
|
install (TARGETS ft8code jt65code jt9code jt4code msk144code
|
||||||
q65code fst4sim q65sim echosim hash22calc
|
q65code fst4sim q65sim echosim hash22calc cablog
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
|
||||||
BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
|
BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
|
||||||
)
|
)
|
||||||
|
@ -173,7 +173,6 @@
|
|||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
#include <QJsonArray>
|
#include <QJsonArray>
|
||||||
|
|
||||||
|
|
||||||
#include "pimpl_impl.hpp"
|
#include "pimpl_impl.hpp"
|
||||||
#include "Logger.hpp"
|
#include "Logger.hpp"
|
||||||
#include "qt_helpers.hpp"
|
#include "qt_helpers.hpp"
|
||||||
@ -331,9 +330,9 @@ public:
|
|||||||
|
|
||||||
connect (button_box, &QDialogButtonBox::accepted, this, &FrequencyDialog::accept);
|
connect (button_box, &QDialogButtonBox::accepted, this, &FrequencyDialog::accept);
|
||||||
connect (button_box, &QDialogButtonBox::rejected, this, &FrequencyDialog::reject);
|
connect (button_box, &QDialogButtonBox::rejected, this, &FrequencyDialog::reject);
|
||||||
connect(start_date_time_edit_, &QDateTimeEdit::dateTimeChanged, this, &FrequencyDialog::checkSaneDates);
|
connect (start_date_time_edit_, &QDateTimeEdit::dateTimeChanged, this, &FrequencyDialog::checkSaneDates);
|
||||||
connect(end_date_time_edit_, &QDateTimeEdit::dateTimeChanged, this, &FrequencyDialog::checkSaneDates);
|
connect (end_date_time_edit_, &QDateTimeEdit::dateTimeChanged, this, &FrequencyDialog::checkSaneDates);
|
||||||
connect(enable_dates_checkbox_, &QCheckBox::stateChanged, this, &FrequencyDialog::toggleValidity);
|
connect (enable_dates_checkbox_, &QCheckBox::stateChanged, this, &FrequencyDialog::toggleValidity);
|
||||||
toggleValidity();
|
toggleValidity();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -585,6 +584,7 @@ private:
|
|||||||
Q_SLOT void on_revert_update_button_clicked (bool);
|
Q_SLOT void on_revert_update_button_clicked (bool);
|
||||||
void error_during_hamlib_download (QString const& reason);
|
void error_during_hamlib_download (QString const& reason);
|
||||||
void after_hamlib_downloaded();
|
void after_hamlib_downloaded();
|
||||||
|
void display_file_information();
|
||||||
|
|
||||||
Q_SLOT void on_cbx2ToneSpacing_clicked(bool);
|
Q_SLOT void on_cbx2ToneSpacing_clicked(bool);
|
||||||
Q_SLOT void on_cbx4ToneSpacing_clicked(bool);
|
Q_SLOT void on_cbx4ToneSpacing_clicked(bool);
|
||||||
@ -689,6 +689,7 @@ private:
|
|||||||
QString FD_exchange_;
|
QString FD_exchange_;
|
||||||
QString RTTY_exchange_;
|
QString RTTY_exchange_;
|
||||||
QString Contest_Name_;
|
QString Contest_Name_;
|
||||||
|
QString hamlib_backed_up_;
|
||||||
|
|
||||||
qint32 id_interval_;
|
qint32 id_interval_;
|
||||||
qint32 ntrials_;
|
qint32 ntrials_;
|
||||||
@ -1575,6 +1576,7 @@ void Configuration::impl::read_settings ()
|
|||||||
ui_->Field_Day_Exchange->setText(FD_exchange_);
|
ui_->Field_Day_Exchange->setText(FD_exchange_);
|
||||||
ui_->RTTY_Exchange->setText(RTTY_exchange_);
|
ui_->RTTY_Exchange->setText(RTTY_exchange_);
|
||||||
ui_->Contest_Name->setText(Contest_Name_);
|
ui_->Contest_Name->setText(Contest_Name_);
|
||||||
|
hamlib_backed_up_ = settings_->value ("HamlibBackedUp",QString {}).toString ();
|
||||||
|
|
||||||
if (next_font_.fromString (settings_->value ("Font", QGuiApplication::font ().toString ()).toString ())
|
if (next_font_.fromString (settings_->value ("Font", QGuiApplication::font ().toString ()).toString ())
|
||||||
&& next_font_ != font_)
|
&& next_font_ != font_)
|
||||||
@ -1751,6 +1753,18 @@ void Configuration::impl::read_settings ()
|
|||||||
pwrBandTuneMemory_ = settings_->value("pwrBandTuneMemory",false).toBool ();
|
pwrBandTuneMemory_ = settings_->value("pwrBandTuneMemory",false).toBool ();
|
||||||
highlight_DXcall_ = settings_->value("highlight_DXcall",false).toBool ();
|
highlight_DXcall_ = settings_->value("highlight_DXcall",false).toBool ();
|
||||||
highlight_DXgrid_ = settings_->value("highlight_DXgrid",false).toBool ();
|
highlight_DXgrid_ = settings_->value("highlight_DXgrid",false).toBool ();
|
||||||
|
#ifdef WIN32
|
||||||
|
QTimer::singleShot (2500, [=] {display_file_information ();});
|
||||||
|
#else
|
||||||
|
ui_->hamlib_groupBox->setTitle("Hamlib Version");
|
||||||
|
ui_->rbHamlib64->setVisible(false);
|
||||||
|
ui_->rbHamlib32->setVisible(false);
|
||||||
|
ui_->hamlib_download_button->setVisible(false);
|
||||||
|
ui_->revert_update_button->setVisible(false);
|
||||||
|
ui_->backed_up_text->setVisible(false);
|
||||||
|
ui_->backed_up->setVisible(false);
|
||||||
|
QTimer::singleShot (2500, [=] {display_file_information ();});
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Configuration::impl::find_audio_devices ()
|
void Configuration::impl::find_audio_devices ()
|
||||||
@ -2492,6 +2506,11 @@ void Configuration::impl::on_decoded_text_font_push_button_clicked ()
|
|||||||
void Configuration::impl::on_hamlib_download_button_clicked (bool /*clicked*/)
|
void Configuration::impl::on_hamlib_download_button_clicked (bool /*clicked*/)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
|
extern char* hamlib_version2;
|
||||||
|
QString hamlib = QString(QLatin1String(hamlib_version2));
|
||||||
|
SettingsGroup g {settings_, "Configuration"};
|
||||||
|
settings_->setValue ("HamlibBackedUp", hamlib);
|
||||||
|
settings_->sync ();
|
||||||
QDir dataPath = QCoreApplication::applicationDirPath();
|
QDir dataPath = QCoreApplication::applicationDirPath();
|
||||||
QFile f1 {dataPath.absolutePath() + "/" + "libhamlib-4_old.dll"};
|
QFile f1 {dataPath.absolutePath() + "/" + "libhamlib-4_old.dll"};
|
||||||
QFile f2 {dataPath.absolutePath() + "/" + "libhamlib-4_new.dll"};
|
QFile f2 {dataPath.absolutePath() + "/" + "libhamlib-4_new.dll"};
|
||||||
@ -2501,14 +2520,14 @@ void Configuration::impl::on_hamlib_download_button_clicked (bool /*clicked*/)
|
|||||||
ui_->revert_update_button->setEnabled (false);
|
ui_->revert_update_button->setEnabled (false);
|
||||||
if (ui_->rbHamlib32->isChecked()) {
|
if (ui_->rbHamlib32->isChecked()) {
|
||||||
cty_download.configure(network_manager_,
|
cty_download.configure(network_manager_,
|
||||||
"https://n0nb.users.sourceforge.net/dll32/libhamlib-4.dll",
|
"https://n0nb.users.sourceforge.net/dll32/libhamlib-4.dll",
|
||||||
dataPath.absoluteFilePath("libhamlib-4_new.dll"),
|
dataPath.absoluteFilePath("libhamlib-4_new.dll"),
|
||||||
"Downloading latest libhamlib-4.dll");
|
"Downloading latest libhamlib-4.dll");
|
||||||
} else {
|
} else {
|
||||||
cty_download.configure(network_manager_,
|
cty_download.configure(network_manager_,
|
||||||
"https://n0nb.users.sourceforge.net/dll64/libhamlib-4.dll",
|
"https://n0nb.users.sourceforge.net/dll64/libhamlib-4.dll",
|
||||||
dataPath.absoluteFilePath("libhamlib-4_new.dll"),
|
dataPath.absoluteFilePath("libhamlib-4_new.dll"),
|
||||||
"Downloading latest libhamlib-4.dll");
|
"Downloading latest libhamlib-4.dll");
|
||||||
}
|
}
|
||||||
connect (&cty_download, &FileDownload::complete, this, &Configuration::impl::after_hamlib_downloaded, Qt::UniqueConnection);
|
connect (&cty_download, &FileDownload::complete, this, &Configuration::impl::after_hamlib_downloaded, Qt::UniqueConnection);
|
||||||
connect (&cty_download, &FileDownload::error, this, &Configuration::impl::error_during_hamlib_download, Qt::UniqueConnection);
|
connect (&cty_download, &FileDownload::error, this, &Configuration::impl::error_during_hamlib_download, Qt::UniqueConnection);
|
||||||
@ -2550,7 +2569,7 @@ void Configuration::impl::on_revert_update_button_clicked (bool /*clicked*/)
|
|||||||
ui_->hamlib_download_button->setEnabled (false);
|
ui_->hamlib_download_button->setEnabled (false);
|
||||||
QFile::rename(dataPath.absolutePath() + "/" + "libhamlib-4.dll", dataPath.absolutePath() + "/" + "libhamlib-4_new.dll");
|
QFile::rename(dataPath.absolutePath() + "/" + "libhamlib-4.dll", dataPath.absolutePath() + "/" + "libhamlib-4_new.dll");
|
||||||
QTimer::singleShot (1000, [=] {
|
QTimer::singleShot (1000, [=] {
|
||||||
QFile::rename(dataPath.absolutePath() + "/" + "libhamlib-4_old.dll", dataPath.absolutePath() + "/" + "libhamlib-4.dll");
|
QFile::copy(dataPath.absolutePath() + "/" + "libhamlib-4_old.dll", dataPath.absolutePath() + "/" + "libhamlib-4.dll");
|
||||||
});
|
});
|
||||||
QTimer::singleShot (2000, [=] {
|
QTimer::singleShot (2000, [=] {
|
||||||
MessageBox::information_message (this, tr ("Hamlib successfully reverted \n\nReverted Hamlib will be used after restart"));
|
MessageBox::information_message (this, tr ("Hamlib successfully reverted \n\nReverted Hamlib will be used after restart"));
|
||||||
@ -2565,6 +2584,31 @@ void Configuration::impl::on_revert_update_button_clicked (bool /*clicked*/)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Configuration::impl::display_file_information ()
|
||||||
|
{
|
||||||
|
#ifdef WIN32
|
||||||
|
QDir dataPath = QCoreApplication::applicationDirPath();
|
||||||
|
extern char* hamlib_version2;
|
||||||
|
QString hamlib = QString(QLatin1String(hamlib_version2));
|
||||||
|
ui_->in_use->setText(hamlib);
|
||||||
|
QFileInfo fi2(dataPath.absolutePath() + "/" + "libhamlib-4_old.dll");
|
||||||
|
QString birthTime2 = fi2.birthTime().toString("yyyy-MM-dd hh:mm");
|
||||||
|
QFile f {dataPath.absolutePath() + "/" + "libhamlib-4_old.dll"};
|
||||||
|
if (f.exists()) {
|
||||||
|
if (hamlib_backed_up_=="") {
|
||||||
|
ui_->backed_up->setText(QString{"no hamlib data available, file saved %1"}.arg(birthTime2));
|
||||||
|
} else {
|
||||||
|
ui_->backed_up->setText(hamlib_backed_up_);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ui_->backed_up->setText("");
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
extern char* hamlib_version2;
|
||||||
|
QString hamlib = QString(QLatin1String(hamlib_version2));
|
||||||
|
ui_->in_use->setText(hamlib);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void Configuration::impl::on_PTT_port_combo_box_activated (int /* index */)
|
void Configuration::impl::on_PTT_port_combo_box_activated (int /* index */)
|
||||||
{
|
{
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>684</width>
|
<width>800</width>
|
||||||
<height>662</height>
|
<height>600</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -1371,7 +1371,7 @@ radio interface behave as expected.</string>
|
|||||||
<item row="12" column="0">
|
<item row="12" column="0">
|
||||||
<widget class="QGroupBox" name="hamlib_groupBox">
|
<widget class="QGroupBox" name="hamlib_groupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Update Hamlib (Windows only)</string>
|
<string>Update Hamlib</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_18">
|
<layout class="QGridLayout" name="gridLayout_18">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
@ -1391,6 +1391,16 @@ radio interface behave as expected.</string>
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="3">
|
||||||
|
<widget class="QPushButton" name="revert_update_button">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>Revert the last Hamlib update. </p><p>Note: This function is only available on Windows.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Revert Update</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="0" column="2">
|
<item row="0" column="2">
|
||||||
<widget class="QPushButton" name="hamlib_download_button">
|
<widget class="QPushButton" name="hamlib_download_button">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
@ -1401,15 +1411,37 @@ radio interface behave as expected.</string>
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="3">
|
<item row="1" column="0" colspan="4">
|
||||||
<widget class="QPushButton" name="revert_update_button">
|
<layout class="QGridLayout" name="hamlib_version_gridLayout" columnstretch="0,1">
|
||||||
<property name="toolTip">
|
<item row="0" column="0">
|
||||||
<string><html><head/><body><p>Revert the last Hamlib update. </p><p>Note: This function is only available on Windows.</p></body></html></string>
|
<widget class="QLabel" name="in_use_text">
|
||||||
</property>
|
<property name="text">
|
||||||
<property name="text">
|
<string>In use:</string>
|
||||||
<string>Revert Update</string>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="backed_up_text">
|
||||||
|
<property name="text">
|
||||||
|
<string>Backed up:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="in_use">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="backed_up">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
@ -3466,13 +3498,13 @@ Right click for insert and delete options.</string>
|
|||||||
</connection>
|
</connection>
|
||||||
</connections>
|
</connections>
|
||||||
<buttongroups>
|
<buttongroups>
|
||||||
<buttongroup name="TX_audio_source_button_group"/>
|
|
||||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
|
||||||
<buttongroup name="TX_mode_button_group"/>
|
|
||||||
<buttongroup name="split_mode_button_group"/>
|
|
||||||
<buttongroup name="CAT_data_bits_button_group"/>
|
|
||||||
<buttongroup name="CAT_handshake_button_group"/>
|
<buttongroup name="CAT_handshake_button_group"/>
|
||||||
|
<buttongroup name="split_mode_button_group"/>
|
||||||
|
<buttongroup name="TX_audio_source_button_group"/>
|
||||||
|
<buttongroup name="TX_mode_button_group"/>
|
||||||
<buttongroup name="special_op_activity_button_group"/>
|
<buttongroup name="special_op_activity_button_group"/>
|
||||||
|
<buttongroup name="CAT_data_bits_button_group"/>
|
||||||
|
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||||
<buttongroup name="PTT_method_button_group"/>
|
<buttongroup name="PTT_method_button_group"/>
|
||||||
</buttongroups>
|
</buttongroups>
|
||||||
</ui>
|
</ui>
|
||||||
|
105
lib/cablog.f90
Normal file
105
lib/cablog.f90
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
program cablog
|
||||||
|
|
||||||
|
character*100 line,infile,outfile
|
||||||
|
character cband*4,cmode*2,cdate*10,cutc*4,callsign*10,mycall*10
|
||||||
|
character csent*3,crcvd*3,dsent*3,drcvd*3
|
||||||
|
integer icomma(20)
|
||||||
|
|
||||||
|
nargs=iargc()
|
||||||
|
if(nargs.ne.4) then
|
||||||
|
print*,"Program cablog converts the file 'wsjtx.log' to a bare-bones"
|
||||||
|
print*,"Cabrillo log for the ARRL International EME Contest. You will"
|
||||||
|
print*,"certainly need to edit the header information, and you may"
|
||||||
|
print*,"edit the log elsewhere as required."
|
||||||
|
print*,' '
|
||||||
|
print*,'Usage: cablog <MyCall> <sent> <rcvd> <infile>'
|
||||||
|
print*,'Example: cablog W2ZQ -15 -16 wsjtx.log'
|
||||||
|
go to 999
|
||||||
|
endif
|
||||||
|
call getarg(1,mycall)
|
||||||
|
outfile=trim(mycall)//'.log'
|
||||||
|
call getarg(2,dsent)
|
||||||
|
call getarg(3,drcvd)
|
||||||
|
call getarg(4,infile)
|
||||||
|
open(10,file=trim(infile),status='old')
|
||||||
|
open(12,file=trim(outfile),status='unknown')
|
||||||
|
|
||||||
|
write(12,1000)
|
||||||
|
1000 format('START-OF-LOG: 3.0'/ &
|
||||||
|
'CONTEST: ARRL-EME'/ &
|
||||||
|
'CALLSIGN: '/ &
|
||||||
|
'CATEGORY-OPERATOR: '/ &
|
||||||
|
'CATEGORY-BAND: '/ &
|
||||||
|
'CATEGORY-MODE: '/ &
|
||||||
|
'EMAIL: '/ &
|
||||||
|
'OPERATORS: '/ &
|
||||||
|
'CATEGORY-POWER: HIGH'/ &
|
||||||
|
'CATEGORY-TRANSMITTER: ONE'/ &
|
||||||
|
'CATEGORY-STATION: FIXED'/ &
|
||||||
|
'CATEGORY-TIME: 24-HOURS'/ &
|
||||||
|
'CATEGORY-ASSISTED: ASSISTED'/ &
|
||||||
|
'LOCATION: SNJ'/ &
|
||||||
|
'CLAIMED-SCORE: '/ &
|
||||||
|
'CLUB: '/ &
|
||||||
|
'NAME: '/ &
|
||||||
|
'ADDRESS: '/ &
|
||||||
|
'ADDRESS: '/ &
|
||||||
|
'ADDRESS: '/ &
|
||||||
|
'CREATED-BY: cablog (C) K1JT')
|
||||||
|
|
||||||
|
n=0
|
||||||
|
do nn=1,9999
|
||||||
|
read(10,'(a100)',end=900) line
|
||||||
|
if(len(trim(line)).eq.0) cycle
|
||||||
|
n=n+1
|
||||||
|
k=0
|
||||||
|
do j=1,100
|
||||||
|
if(line(j:j).eq.',') then
|
||||||
|
k=k+1
|
||||||
|
icomma(k)=j
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
cmode='DG'
|
||||||
|
if(index(line,',CW,').gt.10) cmode='CW'
|
||||||
|
cdate=line(1:10)
|
||||||
|
cutc=line(32:33)//line(35:36)
|
||||||
|
i0=index(line(41:),',')
|
||||||
|
callsign=line(41:39+i0)
|
||||||
|
read(line(icomma(6)+1:icomma(7)-1),*,err=10,end=10) freq
|
||||||
|
go to 20
|
||||||
|
10 print*,'***Error at line ',n
|
||||||
|
print*,trim(line)
|
||||||
|
20 if(freq.ge.50.0 .and. freq.le.54.0) cband='50 '
|
||||||
|
if(freq.ge.144.0 .and. freq.le.148.0) cband='144 '
|
||||||
|
if(freq.ge.28.0 .and. freq.le.29.0) cband='144 '
|
||||||
|
if(freq.ge.222.0 .and. freq.le.225.0) cband='222 '
|
||||||
|
if(freq.ge.420.0 .and. freq.le.450.0) cband='432 '
|
||||||
|
if(freq.ge.902.0 .and. freq.le.928.0) cband='902 '
|
||||||
|
if(freq.ge.1240.0 .and. freq.le.1300.0) cband='1.2G'
|
||||||
|
if(freq.ge.2300.0 .and. freq.le.2450.0) cband='2.3G'
|
||||||
|
if(freq.ge.3300.0 .and. freq.le.3500.0) cband='3.4G'
|
||||||
|
if(freq.ge.5650.0 .and. freq.le.5925.0) cband='5.7G'
|
||||||
|
if(freq.ge.10000.0 .and. freq.le.10500.0) cband='10G '
|
||||||
|
if(freq.ge.24000.0 .and. freq.le.24250.0) cband='24G '
|
||||||
|
if(icomma(8).eq.icomma(9)-1) then
|
||||||
|
csent=dsent
|
||||||
|
else
|
||||||
|
csent=line(icomma(8)+1:icomma(9)-1)
|
||||||
|
endif
|
||||||
|
if(icomma(9).eq.icomma(10)-1) then
|
||||||
|
crcvd=drcvd
|
||||||
|
else
|
||||||
|
crcvd=line(icomma(9)+1:icomma(10)-1)
|
||||||
|
endif
|
||||||
|
write(12,1020) cband,cmode,cdate,cutc,mycall,csent,callsign,crcvd
|
||||||
|
1020 format('QSO: ',a4,1x,a2,1x,a10,1x,a4,1x,a6,1x,a3,5x,a10,1x,a3)
|
||||||
|
enddo
|
||||||
|
|
||||||
|
900 write(12,1900)
|
||||||
|
1900 format('END-OF-LOG:')
|
||||||
|
write(*,1910) n,trim(outfile)
|
||||||
|
1910 format('Processed',i5,' QSOs.'/'Output file: ',a)
|
||||||
|
|
||||||
|
999 end program cablog
|
||||||
|
|
||||||
|
!2023-10-28,00:17:00,2023-10-28,00:21:00,G7TZZ,IO92,1296.083100,Q65,-17,-17,,,,
|
@ -996,7 +996,7 @@ contains
|
|||||||
do i=-ia,ia !Find freq range that has 50% of signal power
|
do i=-ia,ia !Find freq range that has 50% of signal power
|
||||||
sum2=sum2 + ss(i)-avg
|
sum2=sum2 + ss(i)-avg
|
||||||
if(sum2.ge.0.25*sum1 .and. xi1.eq.-999.0) then
|
if(sum2.ge.0.25*sum1 .and. xi1.eq.-999.0) then
|
||||||
xi1=i - 1 + (sum2-0.25*sum1)/(sum2-sum2z)
|
xi1=i - 1 + (0.25*sum1-sum2)/(sum2-sum2z)
|
||||||
endif
|
endif
|
||||||
if(sum2.ge.0.50*sum1 .and. xi2.eq.-999.0) then
|
if(sum2.ge.0.50*sum1 .and. xi2.eq.-999.0) then
|
||||||
xi2=i - 1 + (sum2-0.50*sum1)/(sum2-sum2z)
|
xi2=i - 1 + (sum2-0.50*sum1)/(sum2-sum2z)
|
||||||
|
@ -64,9 +64,11 @@ void ActiveStations::displayRecentStations(QString mode, QString const& t)
|
|||||||
{
|
{
|
||||||
if(mode!=m_mode) {
|
if(mode!=m_mode) {
|
||||||
m_mode=mode;
|
m_mode=mode;
|
||||||
|
ui->cbReadyOnly->setText("Ready only");
|
||||||
if(m_mode=="Q65") {
|
if(m_mode=="Q65") {
|
||||||
ui->header_label2->setText(" N Frx Fsked S/N Call Grid Tx Age");
|
ui->header_label2->setText(" N Frx Fsked S/N Call Grid Tx Age");
|
||||||
ui->label->setText("QSOs:");
|
ui->label->setText("QSOs:");
|
||||||
|
ui->cbReadyOnly->setText("CQ only");
|
||||||
} else if(m_mode=="Q65-pileup") {
|
} else if(m_mode=="Q65-pileup") {
|
||||||
ui->header_label2->setText(" N Freq Call Grid El Age(h)");
|
ui->header_label2->setText(" N Freq Call Grid El Age(h)");
|
||||||
} else {
|
} else {
|
||||||
|
@ -213,6 +213,7 @@ QVector<QColor> g_ColorTbl;
|
|||||||
|
|
||||||
using SpecOp = Configuration::SpecialOperatingActivity;
|
using SpecOp = Configuration::SpecialOperatingActivity;
|
||||||
|
|
||||||
|
bool blocked = false;
|
||||||
bool m_displayBand = false;
|
bool m_displayBand = false;
|
||||||
bool no_a7_decodes = false;
|
bool no_a7_decodes = false;
|
||||||
bool keep_frequency = false;
|
bool keep_frequency = false;
|
||||||
@ -1088,7 +1089,16 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
// backup libhamlib-4.dll file, so it is still available after the next program update
|
// backup libhamlib-4.dll file, so it is still available after the next program update
|
||||||
QDir dataPath = QCoreApplication::applicationDirPath();
|
QDir dataPath = QCoreApplication::applicationDirPath();
|
||||||
QFile f {dataPath.absolutePath() + "/" + "libhamlib-4_old.dll"};
|
QFile f {dataPath.absolutePath() + "/" + "libhamlib-4_old.dll"};
|
||||||
if (!f.exists()) QFile::copy(dataPath.absolutePath() + "/" + "libhamlib-4.dll", dataPath.absolutePath() + "/" + "libhamlib-4_old.dll");
|
if (!f.exists()) {
|
||||||
|
QFile::copy(dataPath.absolutePath() + "/" + "libhamlib-4.dll", dataPath.absolutePath() + "/" + "libhamlib-4_old.dll");
|
||||||
|
QTimer::singleShot (5000, [=] { //wait until hamlib has been started
|
||||||
|
extern char* hamlib_version2;
|
||||||
|
QString hamlib = QString(QLatin1String(hamlib_version2));
|
||||||
|
m_settings->beginGroup("Configuration");
|
||||||
|
m_settings->setValue ("HamlibBackedUp", hamlib);
|
||||||
|
m_settings->endGroup();
|
||||||
|
});
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// this must be the last statement of constructor
|
// this must be the last statement of constructor
|
||||||
@ -1213,6 +1223,16 @@ void MainWindow::writeSettings()
|
|||||||
m_settings->setValue ("SerialNumber",ui->sbSerialNumber->value ());
|
m_settings->setValue ("SerialNumber",ui->sbSerialNumber->value ());
|
||||||
m_settings->endGroup();
|
m_settings->endGroup();
|
||||||
|
|
||||||
|
// do this in the General group because we save the parameters from various places
|
||||||
|
if(m_mode=="JT9") {
|
||||||
|
m_settings->setValue("SubMode",ui->sbSubmode->value());
|
||||||
|
m_settings->setValue("TRPeriod", ui->sbTR->value());
|
||||||
|
}
|
||||||
|
if(m_mode=="MSK144") m_settings->setValue("ShMsgs_MSK144",m_bShMsgs);
|
||||||
|
if(m_mode=="Q65") m_settings->setValue("ShMsgs_Q65",m_bShMsgs);
|
||||||
|
if(m_mode=="JT65") m_settings->setValue("ShMsgs_JT65",m_bShMsgs);
|
||||||
|
if(m_mode=="JT4") m_settings->setValue("ShMsgs_JT4",m_bShMsgs);
|
||||||
|
|
||||||
m_settings->beginGroup("Common");
|
m_settings->beginGroup("Common");
|
||||||
m_settings->setValue("Mode",m_mode);
|
m_settings->setValue("Mode",m_mode);
|
||||||
m_settings->setValue("SaveNone",ui->actionNone->isChecked());
|
m_settings->setValue("SaveNone",ui->actionNone->isChecked());
|
||||||
@ -1226,13 +1246,12 @@ void MainWindow::writeSettings()
|
|||||||
m_settings->setValue("FST4W_FTol",ui->sbFST4W_FTol->value());
|
m_settings->setValue("FST4W_FTol",ui->sbFST4W_FTol->value());
|
||||||
m_settings->setValue("FST4_FLow",ui->sbF_Low->value());
|
m_settings->setValue("FST4_FLow",ui->sbF_Low->value());
|
||||||
m_settings->setValue("FST4_FHigh",ui->sbF_High->value());
|
m_settings->setValue("FST4_FHigh",ui->sbF_High->value());
|
||||||
// m_settings->setValue("SubMode",ui->sbSubmode->value());
|
|
||||||
m_settings->setValue("DTtol",m_DTtol);
|
m_settings->setValue("DTtol",m_DTtol);
|
||||||
m_settings->setValue("Ftol", ui->sbFtol->value ());
|
m_settings->setValue("Ftol", ui->sbFtol->value ());
|
||||||
m_settings->setValue("MinSync",m_minSync);
|
m_settings->setValue("MinSync",m_minSync);
|
||||||
m_settings->setValue ("AutoSeq", ui->cbAutoSeq->isChecked ());
|
m_settings->setValue ("AutoSeq", ui->cbAutoSeq->isChecked ());
|
||||||
m_settings->setValue ("RxAll", ui->cbRxAll->isChecked ());
|
m_settings->setValue ("RxAll", ui->cbRxAll->isChecked ());
|
||||||
m_settings->setValue("ShMsgs",m_bShMsgs);
|
// m_settings->setValue("ShMsgs",m_bShMsgs);
|
||||||
m_settings->setValue("SWL",ui->cbSWL->isChecked());
|
m_settings->setValue("SWL",ui->cbSWL->isChecked());
|
||||||
m_settings->setValue ("DialFreq", QVariant::fromValue(m_lastMonitoredFrequency));
|
m_settings->setValue ("DialFreq", QVariant::fromValue(m_lastMonitoredFrequency));
|
||||||
m_settings->setValue("OutAttenuation", ui->outAttenuation->value ());
|
m_settings->setValue("OutAttenuation", ui->outAttenuation->value ());
|
||||||
@ -1248,7 +1267,6 @@ void MainWindow::writeSettings()
|
|||||||
m_settings->setValue("UploadSpots",m_uploadWSPRSpots);
|
m_settings->setValue("UploadSpots",m_uploadWSPRSpots);
|
||||||
m_settings->setValue("NoOwnCall",ui->cbNoOwnCall->isChecked());
|
m_settings->setValue("NoOwnCall",ui->cbNoOwnCall->isChecked());
|
||||||
m_settings->setValue ("BandHopping", ui->band_hopping_group_box->isChecked ());
|
m_settings->setValue ("BandHopping", ui->band_hopping_group_box->isChecked ());
|
||||||
// m_settings->setValue ("TRPeriod", ui->sbTR->value ());
|
|
||||||
m_settings->setValue ("MaxDrift", ui->sbMaxDrift->value());
|
m_settings->setValue ("MaxDrift", ui->sbMaxDrift->value());
|
||||||
m_settings->setValue ("TRPeriod_FST4W", ui->sbTR_FST4W->value ());
|
m_settings->setValue ("TRPeriod_FST4W", ui->sbTR_FST4W->value ());
|
||||||
m_settings->setValue("FastMode",m_bFastMode);
|
m_settings->setValue("FastMode",m_bFastMode);
|
||||||
@ -1316,16 +1334,58 @@ void MainWindow::readSettings()
|
|||||||
ui->sbSerialNumber->setValue (m_settings->value ("SerialNumber", 1).toInt ());
|
ui->sbSerialNumber->setValue (m_settings->value ("SerialNumber", 1).toInt ());
|
||||||
m_settings->endGroup();
|
m_settings->endGroup();
|
||||||
|
|
||||||
|
m_settings->beginGroup("Common");
|
||||||
|
m_mode=m_settings->value("Mode","FT8").toString();
|
||||||
|
m_settings->endGroup();
|
||||||
|
|
||||||
|
|
||||||
// do this outside of settings group because it uses groups internally
|
// do this outside of settings group because it uses groups internally
|
||||||
ui->actionAstronomical_data->setChecked (displayAstro);
|
ui->actionAstronomical_data->setChecked (displayAstro);
|
||||||
|
|
||||||
|
// do this in the General group because we save the parameters from various places
|
||||||
|
if(m_mode=="JT9") {
|
||||||
|
blocked=true;
|
||||||
|
m_nSubMode=m_settings->value("SubMode",0).toInt();
|
||||||
|
ui->sbSubmode->setValue(m_nSubMode);
|
||||||
|
ui->sbFtol->setValue (m_settings->value("Ftol_JT9", 50).toInt());
|
||||||
|
ui->sbTR->setValue (m_settings->value ("TRPeriod", 15).toInt());
|
||||||
|
QTimer::singleShot (50, [=] {blocked = false;});
|
||||||
|
}
|
||||||
|
if (m_mode=="Q65") {
|
||||||
|
m_nSubMode=m_settings->value("SubMode_Q65",0).toInt();
|
||||||
|
ui->sbSubmode->setValue(m_nSubMode_Q65);
|
||||||
|
ui->sbFtol->setValue (m_settings->value("Ftol_Q65", 50).toInt());
|
||||||
|
ui->sbTR->setValue (m_settings->value ("TRPeriod_Q65", 30).toInt());
|
||||||
|
}
|
||||||
|
if (m_mode=="JT65") {
|
||||||
|
m_nSubMode=m_settings->value("SubMode_JT65",0).toInt();
|
||||||
|
ui->sbSubmode->setValue(m_nSubMode_JT65);
|
||||||
|
ui->sbFtol->setValue (m_settings->value("Ftol_JT65", 50).toInt());
|
||||||
|
}
|
||||||
|
if (m_mode=="JT4") {
|
||||||
|
m_nSubMode=m_settings->value("SubMode_JT4",0).toInt();
|
||||||
|
ui->sbSubmode->setValue(m_nSubMode_JT4);
|
||||||
|
ui->sbFtol->setValue (m_settings->value("Ftol_JT4", 50).toInt());
|
||||||
|
ui->sbTR->setValue (m_settings->value ("TRPeriod_FST4", 60).toInt());
|
||||||
|
}
|
||||||
|
if (m_mode=="MSK144") {
|
||||||
|
ui->sbFtol->setValue (m_settings->value("Ftol_MSK144",50).toInt());
|
||||||
|
if (!(m_currentBand=="6m" or m_currentBand=="4m" or m_currentBand=="2m")) ui->sbTR->setValue (m_settings->value ("TRPeriod_MSK144", 30).toInt());
|
||||||
|
if (m_currentBand=="6m" or m_currentBand=="4m") ui->sbTR->setValue (m_settings->value ("TRPeriod_MSK144_6m", 15).toInt());
|
||||||
|
if (m_currentBand=="2m") ui->sbTR->setValue (m_settings->value ("TRPeriod_MSK144_2m", 30).toInt());
|
||||||
|
}
|
||||||
|
if (m_mode=="MSK144") m_bShMsgs=m_settings->value("ShMsgs_MSK144",false).toBool();
|
||||||
|
if (m_mode=="Q65") m_bShMsgs=m_settings->value("ShMsgs_Q65",false).toBool();
|
||||||
|
if (m_mode=="JT65") m_bShMsgs=m_settings->value("ShMsgs_JT65",false).toBool();
|
||||||
|
if (m_mode=="JT4") m_bShMsgs=m_settings->value("ShMsgs_JT4",false).toBool();
|
||||||
|
|
||||||
m_settings->beginGroup("Common");
|
m_settings->beginGroup("Common");
|
||||||
ui->labDXped->setText(m_settings->value("labDXpedText",QString {}).toString ());
|
ui->labDXped->setText(m_settings->value("labDXpedText",QString {}).toString ());
|
||||||
ui->actionDon_t_split_ALL_TXT->setChecked(m_settings->value("actionDontSplitALLTXT", true).toBool());
|
ui->actionDon_t_split_ALL_TXT->setChecked(m_settings->value("actionDontSplitALLTXT", true).toBool());
|
||||||
ui->actionSplit_ALL_TXT_yearly->setChecked(m_settings->value("splitAllTxtYearly", false).toBool());
|
ui->actionSplit_ALL_TXT_yearly->setChecked(m_settings->value("splitAllTxtYearly", false).toBool());
|
||||||
ui->actionSplit_ALL_TXT_monthly->setChecked(m_settings->value("splitAllTxtMonthly", false).toBool());
|
ui->actionSplit_ALL_TXT_monthly->setChecked(m_settings->value("splitAllTxtMonthly", false).toBool());
|
||||||
ui->actionDisable_writing_of_ALL_TXT->setChecked(m_settings->value("disableWritingOfAllTxt", false).toBool());
|
ui->actionDisable_writing_of_ALL_TXT->setChecked(m_settings->value("disableWritingOfAllTxt", false).toBool());
|
||||||
m_mode=m_settings->value("Mode","FT8").toString();
|
// m_mode=m_settings->value("Mode","FT8").toString();
|
||||||
ui->actionNone->setChecked(m_settings->value("SaveNone",true).toBool());
|
ui->actionNone->setChecked(m_settings->value("SaveNone",true).toBool());
|
||||||
ui->actionSave_decoded->setChecked(m_settings->value("SaveDecoded",false).toBool());
|
ui->actionSave_decoded->setChecked(m_settings->value("SaveDecoded",false).toBool());
|
||||||
ui->actionSave_all->setChecked(m_settings->value("SaveAll",false).toBool());
|
ui->actionSave_all->setChecked(m_settings->value("SaveAll",false).toBool());
|
||||||
@ -1335,28 +1395,16 @@ void MainWindow::readSettings()
|
|||||||
ui->sbFST4W_RxFreq->setValue(m_settings->value("FST4W_RxFreq",1500).toInt());
|
ui->sbFST4W_RxFreq->setValue(m_settings->value("FST4W_RxFreq",1500).toInt());
|
||||||
ui->sbF_Low->setValue(m_settings->value("FST4_FLow",600).toInt());
|
ui->sbF_Low->setValue(m_settings->value("FST4_FLow",600).toInt());
|
||||||
ui->sbF_High->setValue(m_settings->value("FST4_FHigh",1400).toInt());
|
ui->sbF_High->setValue(m_settings->value("FST4_FHigh",1400).toInt());
|
||||||
// m_nSubMode=m_settings->value("SubMode",0).toInt();
|
|
||||||
if (m_mode=="Q65") m_nSubMode=m_settings->value("SubMode_Q65",0).toInt();
|
|
||||||
if (m_mode=="JT65") m_nSubMode=m_settings->value("SubMode_JT65",0).toInt();
|
|
||||||
if (m_mode=="JT4") m_nSubMode=m_settings->value("SubMode_JT4",0).toInt();
|
|
||||||
// ui->sbSubmode->setValue(m_nSubMode);
|
|
||||||
if (m_mode=="Q65") ui->sbSubmode->setValue(m_nSubMode_Q65);
|
|
||||||
if (m_mode=="JT65") ui->sbSubmode->setValue(m_nSubMode_JT65);
|
|
||||||
if (m_mode=="JT4") ui->sbSubmode->setValue(m_nSubMode_JT4);
|
|
||||||
ui->sbFtol->setValue (m_settings->value("Ftol", 50).toInt());
|
ui->sbFtol->setValue (m_settings->value("Ftol", 50).toInt());
|
||||||
ui->sbFST4W_FTol->setValue(m_settings->value("FST4W_FTol",100).toInt());
|
ui->sbFST4W_FTol->setValue(m_settings->value("FST4W_FTol",100).toInt());
|
||||||
m_minSync=m_settings->value("MinSync",0).toInt();
|
m_minSync=m_settings->value("MinSync",0).toInt();
|
||||||
ui->syncSpinBox->setValue(m_minSync);
|
ui->syncSpinBox->setValue(m_minSync);
|
||||||
ui->cbAutoSeq->setChecked (m_settings->value ("AutoSeq", false).toBool());
|
ui->cbAutoSeq->setChecked (m_settings->value ("AutoSeq", false).toBool());
|
||||||
ui->cbRxAll->setChecked (m_settings->value ("RxAll", false).toBool());
|
ui->cbRxAll->setChecked (m_settings->value ("RxAll", false).toBool());
|
||||||
m_bShMsgs=m_settings->value("ShMsgs",false).toBool();
|
// m_bShMsgs=m_settings->value("ShMsgs",false).toBool();
|
||||||
m_bSWL=m_settings->value("SWL",false).toBool();
|
m_bSWL=m_settings->value("SWL",false).toBool();
|
||||||
m_bFast9=m_settings->value("Fast9",false).toBool();
|
m_bFast9=m_settings->value("Fast9",false).toBool();
|
||||||
m_bFastMode=m_settings->value("FastMode",false).toBool();
|
m_bFastMode=m_settings->value("FastMode",false).toBool();
|
||||||
// ui->sbTR->setValue (m_settings->value ("TRPeriod", 15).toInt());
|
|
||||||
if (m_mode=="Q65") ui->sbTR->setValue (m_settings->value ("TRPeriod_Q65", 30).toInt());
|
|
||||||
if (m_mode=="MSK144") ui->sbTR->setValue (m_settings->value ("TRPeriod_MSK144", 15).toInt());
|
|
||||||
if (m_mode=="FST4") ui->sbTR->setValue (m_settings->value ("TRPeriod_FST4", 60).toInt());
|
|
||||||
ui->sbMaxDrift->setValue (m_settings->value ("MaxDrift",0).toInt());
|
ui->sbMaxDrift->setValue (m_settings->value ("MaxDrift",0).toInt());
|
||||||
ui->sbTR_FST4W->setValue (m_settings->value ("TRPeriod_FST4W", 15).toInt());
|
ui->sbTR_FST4W->setValue (m_settings->value ("TRPeriod_FST4W", 15).toInt());
|
||||||
m_lastMonitoredFrequency = m_settings->value ("DialFreq",
|
m_lastMonitoredFrequency = m_settings->value ("DialFreq",
|
||||||
@ -6877,6 +6925,10 @@ void MainWindow::on_actionFST4_triggered()
|
|||||||
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
||||||
});
|
});
|
||||||
m_mode="FST4";
|
m_mode="FST4";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
ui->actionFST4->setChecked(true);
|
ui->actionFST4->setChecked(true);
|
||||||
m_bFast9=false;
|
m_bFast9=false;
|
||||||
m_bFastMode=false;
|
m_bFastMode=false;
|
||||||
@ -6919,6 +6971,10 @@ void MainWindow::on_actionFST4_triggered()
|
|||||||
void MainWindow::on_actionFST4W_triggered()
|
void MainWindow::on_actionFST4W_triggered()
|
||||||
{
|
{
|
||||||
m_mode="FST4W";
|
m_mode="FST4W";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
ui->actionFST4W->setChecked(true);
|
ui->actionFST4W->setChecked(true);
|
||||||
m_bFast9=false;
|
m_bFast9=false;
|
||||||
m_bFastMode=false;
|
m_bFastMode=false;
|
||||||
@ -6954,6 +7010,10 @@ void MainWindow::on_actionFT4_triggered()
|
|||||||
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
||||||
});
|
});
|
||||||
m_mode="FT4";
|
m_mode="FT4";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
m_TRperiod=7.5;
|
m_TRperiod=7.5;
|
||||||
bool bVHF=m_config.enable_VHF_features();
|
bool bVHF=m_config.enable_VHF_features();
|
||||||
m_bFast9=false;
|
m_bFast9=false;
|
||||||
@ -7120,6 +7180,10 @@ void MainWindow::on_actionJT4_triggered()
|
|||||||
ui->RxFreqSpinBox->setValue(m_settings->value("RxFreq_old",1500).toInt());
|
ui->RxFreqSpinBox->setValue(m_settings->value("RxFreq_old",1500).toInt());
|
||||||
});
|
});
|
||||||
m_mode="JT4";
|
m_mode="JT4";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
bool bVHF=m_config.enable_VHF_features();
|
bool bVHF=m_config.enable_VHF_features();
|
||||||
WSPR_config(false);
|
WSPR_config(false);
|
||||||
switch_mode (Modes::JT4);
|
switch_mode (Modes::JT4);
|
||||||
@ -7143,10 +7207,13 @@ void MainWindow::on_actionJT4_triggered()
|
|||||||
ui->lh_decodes_headings_label->setText("UTC dB DT Freq " + tr ("Message"));
|
ui->lh_decodes_headings_label->setText("UTC dB DT Freq " + tr ("Message"));
|
||||||
ui->rh_decodes_headings_label->setText("UTC dB DT Freq " + tr ("Message"));
|
ui->rh_decodes_headings_label->setText("UTC dB DT Freq " + tr ("Message"));
|
||||||
if(bVHF) {
|
if(bVHF) {
|
||||||
// ui->sbSubmode->setValue(m_nSubMode);
|
// restore last used parameters
|
||||||
QTimer::singleShot (50, [=] {m_nSubMode=m_settings->value("SubMode_JT4",0).toInt();});
|
ui->sbFtol->setValue (m_settings->value ("Ftol_JT4", 50).toInt());
|
||||||
QTimer::singleShot (75, [=] {ui->sbSubmode->setValue(m_settings->value("SubMode_JT4",0).toInt());});
|
m_nSubMode=m_settings->value("SubMode_JT4",0).toInt();
|
||||||
QTimer::singleShot (100, [=] {on_sbSubmode_valueChanged(m_nSubMode);});
|
ui->sbSubmode->setValue(m_settings->value("SubMode_JT4",0).toInt());
|
||||||
|
QTimer::singleShot (50, [=] {on_sbSubmode_valueChanged(ui->sbSubmode->value());});
|
||||||
|
m_bShMsgs=m_settings->value("ShMsgs_JT4",false).toBool();
|
||||||
|
ui->cbShMsgs->setChecked(m_bShMsgs);
|
||||||
} else {
|
} else {
|
||||||
ui->sbSubmode->setValue(0);
|
ui->sbSubmode->setValue(0);
|
||||||
}
|
}
|
||||||
@ -7163,8 +7230,25 @@ void MainWindow::on_actionJT4_triggered()
|
|||||||
void MainWindow::on_actionJT9_triggered()
|
void MainWindow::on_actionJT9_triggered()
|
||||||
{
|
{
|
||||||
m_mode="JT9";
|
m_mode="JT9";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
bool bVHF=m_config.enable_VHF_features();
|
bool bVHF=m_config.enable_VHF_features();
|
||||||
m_bFast9=ui->cbFast9->isChecked();
|
// restore last used parameters
|
||||||
|
if(bVHF && m_mode!="JT65" && !blocked) {
|
||||||
|
ui->sbSubmode->setMaximum(7);
|
||||||
|
m_bFast9=m_settings->value("JT9_Fast",false).toBool();
|
||||||
|
ui->cbFast9->setChecked(m_bFast9 or m_bFastMode);
|
||||||
|
ui->sbFtol->setValue (m_settings->value ("Ftol_JT9", 50).toInt());
|
||||||
|
m_nSubMode=m_settings->value("SubMode",0).toInt();
|
||||||
|
ui->sbSubmode->setValue(m_nSubMode);
|
||||||
|
QTimer::singleShot (50, [=] {
|
||||||
|
on_sbTR_valueChanged (ui->sbTR->value());
|
||||||
|
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// m_bFast9=ui->cbFast9->isChecked();
|
||||||
m_bFastMode=m_bFast9;
|
m_bFastMode=m_bFast9;
|
||||||
WSPR_config(false);
|
WSPR_config(false);
|
||||||
switch_mode (Modes::JT9);
|
switch_mode (Modes::JT9);
|
||||||
@ -7187,6 +7271,7 @@ void MainWindow::on_actionJT9_triggered()
|
|||||||
ui->sbSubmode->setMaximum(7);
|
ui->sbSubmode->setMaximum(7);
|
||||||
if(m_bFast9) {
|
if(m_bFast9) {
|
||||||
ui->sbTR->values ({5, 10, 15, 30});
|
ui->sbTR->values ({5, 10, 15, 30});
|
||||||
|
if(bVHF && m_mode!="JT65" && !blocked) ui->sbTR->setValue (m_settings->value ("TRPeriod", 15).toInt()); // restore last used TRperiod
|
||||||
on_sbTR_valueChanged (ui->sbTR->value());
|
on_sbTR_valueChanged (ui->sbTR->value());
|
||||||
m_wideGraph->hide();
|
m_wideGraph->hide();
|
||||||
m_fastGraph->showNormal();
|
m_fastGraph->showNormal();
|
||||||
@ -7226,6 +7311,10 @@ void MainWindow::on_actionJT65_triggered()
|
|||||||
ui->RxFreqSpinBox->setValue(m_settings->value("RxFreq_old",1500).toInt());
|
ui->RxFreqSpinBox->setValue(m_settings->value("RxFreq_old",1500).toInt());
|
||||||
});
|
});
|
||||||
on_actionJT9_triggered();
|
on_actionJT9_triggered();
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
m_mode="JT65";
|
m_mode="JT65";
|
||||||
bool bVHF=m_config.enable_VHF_features();
|
bool bVHF=m_config.enable_VHF_features();
|
||||||
WSPR_config(false);
|
WSPR_config(false);
|
||||||
@ -7251,10 +7340,13 @@ void MainWindow::on_actionJT65_triggered()
|
|||||||
m_bFast9=false;
|
m_bFast9=false;
|
||||||
ui->sbSubmode->setMaximum(2);
|
ui->sbSubmode->setMaximum(2);
|
||||||
if(bVHF) {
|
if(bVHF) {
|
||||||
// ui->sbSubmode->setValue(m_nSubMode);
|
// restore last used parameters
|
||||||
QTimer::singleShot (50, [=] {m_nSubMode=m_settings->value("SubMode_JT65",0).toInt();});
|
ui->sbFtol->setValue (m_settings->value ("Ftol_JT65", 50).toInt());
|
||||||
QTimer::singleShot (75, [=] {ui->sbSubmode->setValue(m_settings->value("SubMode_JT65",0).toInt());});
|
m_nSubMode=m_settings->value("SubMode_JT65",0).toInt();
|
||||||
QTimer::singleShot (100, [=] {on_sbSubmode_valueChanged(m_nSubMode);});
|
ui->sbSubmode->setValue(m_settings->value("SubMode_JT65",0).toInt());
|
||||||
|
QTimer::singleShot (50, [=] {on_sbSubmode_valueChanged(ui->sbSubmode->value());});
|
||||||
|
m_bShMsgs=m_settings->value("ShMsgs_JT65",false).toBool();
|
||||||
|
ui->cbShMsgs->setChecked(m_bShMsgs);
|
||||||
} else {
|
} else {
|
||||||
ui->sbSubmode->setValue(0);
|
ui->sbSubmode->setValue(0);
|
||||||
ui->lh_decodes_title_label->setText(tr ("Band Activity"));
|
ui->lh_decodes_title_label->setText(tr ("Band Activity"));
|
||||||
@ -7281,6 +7373,10 @@ void MainWindow::on_actionQ65_triggered()
|
|||||||
ui->RxFreqSpinBox->setValue(m_settings->value("RxFreq_old",1500).toInt());
|
ui->RxFreqSpinBox->setValue(m_settings->value("RxFreq_old",1500).toInt());
|
||||||
});
|
});
|
||||||
m_mode="Q65";
|
m_mode="Q65";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
ui->actionQ65->setChecked(true);
|
ui->actionQ65->setChecked(true);
|
||||||
switch_mode(Modes::Q65);
|
switch_mode(Modes::Q65);
|
||||||
ui->cbAutoSeq->setChecked(true);
|
ui->cbAutoSeq->setChecked(true);
|
||||||
@ -7294,12 +7390,17 @@ void MainWindow::on_actionQ65_triggered()
|
|||||||
Q_EMIT FFTSize(m_FFTSize);
|
Q_EMIT FFTSize(m_FFTSize);
|
||||||
m_hsymStop=49;
|
m_hsymStop=49;
|
||||||
ui->sbTR->values ({15, 30, 60, 120, 300});
|
ui->sbTR->values ({15, 30, 60, 120, 300});
|
||||||
ui->sbTR->setValue (m_settings->value ("TRPeriod_Q65", 30).toInt()); // remember sbTR settings by mode
|
// restore last used parameters
|
||||||
QTimer::singleShot (50, [=] {on_sbTR_valueChanged (ui->sbTR->value());});
|
ui->sbTR->setValue (m_settings->value ("TRPeriod_Q65", 30).toInt());
|
||||||
// ui->sbSubmode->setValue(m_nSubMode);
|
ui->sbFtol->setValue (m_settings->value ("Ftol_Q65", 50).toInt());
|
||||||
QTimer::singleShot (50, [=] {m_nSubMode=m_settings->value("SubMode_Q65",0).toInt();});
|
m_nSubMode=m_settings->value("SubMode_Q65",0).toInt();
|
||||||
QTimer::singleShot (75, [=] {ui->sbSubmode->setValue(m_settings->value("SubMode_Q65",0).toInt());});
|
ui->sbSubmode->setValue(m_settings->value("SubMode_Q65",0).toInt());
|
||||||
QTimer::singleShot (100, [=] {on_sbSubmode_valueChanged(m_nSubMode);});
|
QTimer::singleShot (50, [=] {
|
||||||
|
on_sbTR_valueChanged (ui->sbTR->value());
|
||||||
|
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
||||||
|
});
|
||||||
|
m_bShMsgs=m_settings->value("ShMsgs_Q65",false).toBool();
|
||||||
|
ui->cbShMsgs->setChecked(m_bShMsgs);
|
||||||
QString fname {QDir::toNativeSeparators(m_config.temp_dir().absoluteFilePath ("red.dat"))};
|
QString fname {QDir::toNativeSeparators(m_config.temp_dir().absoluteFilePath ("red.dat"))};
|
||||||
m_wideGraph->setRedFile(fname);
|
m_wideGraph->setRedFile(fname);
|
||||||
m_wideGraph->setMode(m_mode);
|
m_wideGraph->setMode(m_mode);
|
||||||
@ -7361,6 +7462,10 @@ void MainWindow::on_actionMSK144_triggered()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m_mode="MSK144";
|
m_mode="MSK144";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
ui->actionMSK144->setChecked(true);
|
ui->actionMSK144->setChecked(true);
|
||||||
switch_mode (Modes::MSK144);
|
switch_mode (Modes::MSK144);
|
||||||
m_nsps=6;
|
m_nsps=6;
|
||||||
@ -7374,11 +7479,10 @@ void MainWindow::on_actionMSK144_triggered()
|
|||||||
m_bFastMode=true;
|
m_bFastMode=true;
|
||||||
m_bFast9=false;
|
m_bFast9=false;
|
||||||
ui->sbTR->values ({5, 10, 15, 30});
|
ui->sbTR->values ({5, 10, 15, 30});
|
||||||
ui->sbTR->setValue (m_settings->value ("TRPeriod_MSK144", 15).toInt()); // remember sbTR settings by mode
|
ui->sbTR->setValue (m_settings->value ("TRPeriod_MSK144", 15).toInt()); // restore last used TRperiod
|
||||||
QTimer::singleShot (50, [=] {
|
QTimer::singleShot (50, [=] {on_sbTR_valueChanged (ui->sbTR->value());});
|
||||||
on_sbTR_valueChanged (ui->sbTR->value());
|
m_bShMsgs=m_settings->value("ShMsgs_MSK144",false).toBool();
|
||||||
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
ui->cbShMsgs->setChecked(m_bShMsgs);
|
||||||
});
|
|
||||||
m_wideGraph->hide();
|
m_wideGraph->hide();
|
||||||
m_fastGraph->showNormal();
|
m_fastGraph->showNormal();
|
||||||
ui->TxFreqSpinBox->setValue(1500);
|
ui->TxFreqSpinBox->setValue(1500);
|
||||||
@ -7419,6 +7523,10 @@ void MainWindow::on_actionMSK144_triggered()
|
|||||||
void MainWindow::on_actionWSPR_triggered()
|
void MainWindow::on_actionWSPR_triggered()
|
||||||
{
|
{
|
||||||
m_mode="WSPR";
|
m_mode="WSPR";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
WSPR_config(true);
|
WSPR_config(true);
|
||||||
switch_mode (Modes::WSPR);
|
switch_mode (Modes::WSPR);
|
||||||
m_TRperiod=120.0;
|
m_TRperiod=120.0;
|
||||||
@ -7455,6 +7563,10 @@ void MainWindow::on_actionEcho_triggered()
|
|||||||
if(nd==3) ui->actionDeepestDecode->setChecked (true);
|
if(nd==3) ui->actionDeepestDecode->setChecked (true);
|
||||||
|
|
||||||
m_mode="Echo";
|
m_mode="Echo";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
ui->actionEcho->setChecked(true);
|
ui->actionEcho->setChecked(true);
|
||||||
m_TRperiod=3.0;
|
m_TRperiod=3.0;
|
||||||
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||||
@ -7489,6 +7601,10 @@ void MainWindow::on_actionFreqCal_triggered()
|
|||||||
{
|
{
|
||||||
on_actionJT9_triggered();
|
on_actionJT9_triggered();
|
||||||
m_mode="FreqCal";
|
m_mode="FreqCal";
|
||||||
|
if(m_specOp==SpecOp::HOUND) {
|
||||||
|
m_config.setSpecial_None();
|
||||||
|
m_specOp=m_config.special_op_id();
|
||||||
|
}
|
||||||
ui->actionFreqCal->setChecked(true);
|
ui->actionFreqCal->setChecked(true);
|
||||||
switch_mode(Modes::FreqCal);
|
switch_mode(Modes::FreqCal);
|
||||||
m_wideGraph->setMode(m_mode);
|
m_wideGraph->setMode(m_mode);
|
||||||
@ -8482,6 +8598,14 @@ void MainWindow::on_sbFtol_valueChanged(int value)
|
|||||||
{
|
{
|
||||||
m_wideGraph->setTol (value);
|
m_wideGraph->setTol (value);
|
||||||
statusUpdate ();
|
statusUpdate ();
|
||||||
|
// save last used parameters
|
||||||
|
QTimer::singleShot (200, [=] {
|
||||||
|
if (m_mode=="Q65") m_settings->setValue ("Ftol_Q65", ui->sbFtol->value());
|
||||||
|
if (m_mode=="MSK144") m_settings->setValue ("Ftol_MSK144", ui->sbFtol->value());
|
||||||
|
if (m_mode=="JT65") m_settings->setValue ("Ftol_JT65", ui->sbFtol->value ());
|
||||||
|
if (m_mode=="JT4") m_settings->setValue ("Ftol_JT4", ui->sbFtol->value());
|
||||||
|
if (m_mode=="JT9") m_settings->setValue ("Ftol_JT9", ui->sbFtol->value ());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void::MainWindow::VHF_features_enabled(bool b)
|
void::MainWindow::VHF_features_enabled(bool b)
|
||||||
@ -8543,19 +8667,25 @@ void MainWindow::on_sbTR_valueChanged(int value)
|
|||||||
m_wideGraph->setPeriod (value, m_nsps);
|
m_wideGraph->setPeriod (value, m_nsps);
|
||||||
progressBar.setMaximum (value);
|
progressBar.setMaximum (value);
|
||||||
}
|
}
|
||||||
if (m_mode=="Q65") {
|
|
||||||
QTimer::singleShot (200, [=] {m_settings->setValue ("TRPeriod_Q65", ui->sbTR->value ());});
|
|
||||||
}
|
|
||||||
if (m_mode=="MSK144") {
|
|
||||||
QTimer::singleShot (200, [=] {m_settings->setValue ("TRPeriod_MSK144", ui->sbTR->value ());});
|
|
||||||
}
|
|
||||||
if (m_mode=="FST4") {
|
|
||||||
chk_FST4_freq_range();
|
|
||||||
QTimer::singleShot (200, [=] {m_settings->setValue ("TRPeriod_FST4", ui->sbTR->value ());});
|
|
||||||
}
|
|
||||||
// if(m_transmitting) on_stopTxButton_clicked(); //### Is this needed or desirable? ###
|
// if(m_transmitting) on_stopTxButton_clicked(); //### Is this needed or desirable? ###
|
||||||
|
if (m_mode=="FST4") chk_FST4_freq_range();
|
||||||
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
||||||
statusUpdate ();
|
statusUpdate ();
|
||||||
|
// save last used parameters
|
||||||
|
QTimer::singleShot (200, [=] {
|
||||||
|
if (m_mode=="Q65") m_settings->setValue ("TRPeriod_Q65", ui->sbTR->value ());
|
||||||
|
if (m_mode=="MSK144" && (!(m_currentBand=="6m" or m_currentBand=="4m" or m_currentBand=="2m"))) {
|
||||||
|
m_settings->setValue ("TRPeriod_MSK144", ui->sbTR->value ());
|
||||||
|
}
|
||||||
|
if (m_mode=="MSK144" && (m_currentBand=="6m" or m_currentBand=="4m")) {
|
||||||
|
m_settings->setValue ("TRPeriod_MSK144_6m", ui->sbTR->value ());
|
||||||
|
}
|
||||||
|
if (m_mode=="MSK144" && m_currentBand=="2m") {
|
||||||
|
m_settings->setValue ("TRPeriod_MSK144_2m", ui->sbTR->value ());
|
||||||
|
}
|
||||||
|
if (m_mode=="FST4") m_settings->setValue ("TRPeriod_FST4", ui->sbTR->value ());
|
||||||
|
if (m_mode=="JT9") m_settings->setValue ("TRPeriod", ui->sbTR->value ());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_sbTR_FST4W_valueChanged(int value)
|
void MainWindow::on_sbTR_FST4W_valueChanged(int value)
|
||||||
@ -8602,17 +8732,21 @@ void MainWindow::on_sbSubmode_valueChanged(int n)
|
|||||||
ui->sbTR->setVisible(false);
|
ui->sbTR->setVisible(false);
|
||||||
m_TRperiod=60.0;
|
m_TRperiod=60.0;
|
||||||
} else {
|
} else {
|
||||||
ui->cbFast9->setEnabled(true);
|
if(!blocked) ui->cbFast9->setEnabled(true);
|
||||||
}
|
}
|
||||||
ui->sbTR->setVisible(m_bFast9);
|
ui->sbTR->setVisible(m_bFast9);
|
||||||
if(m_bFast9) ui->TxFreqSpinBox->setValue(700);
|
if(m_bFast9) ui->TxFreqSpinBox->setValue(700);
|
||||||
}
|
}
|
||||||
if(m_transmitting and m_bFast9 and m_nSubMode>=4) transmit (99.0);
|
if(m_transmitting and m_bFast9 and m_nSubMode>=4) transmit (99.0);
|
||||||
if (m_mode !="Q65") ui->TxFreqSpinBox->setStyleSheet("");
|
if (m_mode !="Q65") ui->TxFreqSpinBox->setStyleSheet("");
|
||||||
if (m_mode=="Q65") {QTimer::singleShot (200, [=] {m_settings->setValue("SubMode_Q65",ui->sbSubmode->value());});}
|
|
||||||
if (m_mode=="JT65") {QTimer::singleShot (200, [=] {m_settings->setValue("SubMode_JT65",ui->sbSubmode->value());});}
|
|
||||||
if (m_mode=="JT4") {QTimer::singleShot (200, [=] {m_settings->setValue("SubMode_JT4",ui->sbSubmode->value());});}
|
|
||||||
statusUpdate ();
|
statusUpdate ();
|
||||||
|
// save last used parameters
|
||||||
|
QTimer::singleShot (200, [=] {
|
||||||
|
if (m_mode=="Q65") m_settings->setValue("SubMode_Q65",ui->sbSubmode->value());
|
||||||
|
if (m_mode=="JT65") m_settings->setValue("SubMode_JT65",ui->sbSubmode->value());
|
||||||
|
if (m_mode=="JT4") m_settings->setValue("SubMode_JT4",ui->sbSubmode->value());
|
||||||
|
if (m_mode=="JT9") m_settings->setValue("SubMode",ui->sbSubmode->value());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_cbFast9_clicked(bool b)
|
void MainWindow::on_cbFast9_clicked(bool b)
|
||||||
@ -8620,7 +8754,12 @@ void MainWindow::on_cbFast9_clicked(bool b)
|
|||||||
if(m_mode=="JT9") {
|
if(m_mode=="JT9") {
|
||||||
m_bFast9=b;
|
m_bFast9=b;
|
||||||
// ui->cbAutoSeq->setVisible(b);
|
// ui->cbAutoSeq->setVisible(b);
|
||||||
|
blocked=true; // needed to prevent a loop
|
||||||
on_actionJT9_triggered();
|
on_actionJT9_triggered();
|
||||||
|
QTimer::singleShot (50, [=] {blocked = false;}); // needed to prevent a loop
|
||||||
|
QTimer::singleShot (200, [=] {
|
||||||
|
if(m_mode=="JT9") m_settings->setValue("JT9_Fast",m_bFast9);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if(b) {
|
if(b) {
|
||||||
@ -8652,6 +8791,12 @@ void MainWindow::on_cbShMsgs_toggled(bool b)
|
|||||||
if(ntx==4) ui->txrb4->setChecked(true);
|
if(ntx==4) ui->txrb4->setChecked(true);
|
||||||
if(ntx==5) ui->txrb5->setChecked(true);
|
if(ntx==5) ui->txrb5->setChecked(true);
|
||||||
if(ntx==6) ui->txrb6->setChecked(true);
|
if(ntx==6) ui->txrb6->setChecked(true);
|
||||||
|
QTimer::singleShot (200, [=] {
|
||||||
|
if(m_mode=="MSK144") m_settings->setValue("ShMsgs_MSK144",m_bShMsgs);
|
||||||
|
if(m_mode=="Q65") m_settings->setValue("ShMsgs_Q65",m_bShMsgs);
|
||||||
|
if(m_mode=="JT65") m_settings->setValue("ShMsgs_JT65",m_bShMsgs);
|
||||||
|
if(m_mode=="JT4") m_settings->setValue("ShMsgs_JT4",m_bShMsgs);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_cbSWL_toggled(bool b)
|
void MainWindow::on_cbSWL_toggled(bool b)
|
||||||
@ -9495,7 +9640,8 @@ void MainWindow::readWidebandDecodes()
|
|||||||
m_EMECall[dxcall].t=60*nhr + nmin;
|
m_EMECall[dxcall].t=60*nhr + nmin;
|
||||||
if(w3.contains(grid_regexp)) m_EMECall[dxcall].grid4=w3;
|
if(w3.contains(grid_regexp)) m_EMECall[dxcall].grid4=w3;
|
||||||
bool bCQ=line.contains(" CQ ");
|
bool bCQ=line.contains(" CQ ");
|
||||||
m_EMECall[dxcall].ready2call=(bCQ or line.contains(" 73") or line.contains(" RR73"));
|
// m_EMECall[dxcall].ready2call=(bCQ or line.contains(" 73") or line.contains(" RR73"));
|
||||||
|
m_EMECall[dxcall].ready2call=(bCQ);
|
||||||
Frequency frequency = (m_freqNominal/1000000) * 1000000 + int(fsked*1000.0);
|
Frequency frequency = (m_freqNominal/1000000) * 1000000 + int(fsked*1000.0);
|
||||||
bool bFromDisk=qmapcom.nQDecoderDone==2;
|
bool bFromDisk=qmapcom.nQDecoderDone==2;
|
||||||
if(!bFromDisk and (m_EMECall[dxcall].grid4.contains(grid_regexp) or bCQ)) {
|
if(!bFromDisk and (m_EMECall[dxcall].grid4.contains(grid_regexp) or bCQ)) {
|
||||||
@ -10630,45 +10776,25 @@ void MainWindow::on_houndButton_clicked (bool checked)
|
|||||||
|
|
||||||
void MainWindow::on_ft8Button_clicked()
|
void MainWindow::on_ft8Button_clicked()
|
||||||
{
|
{
|
||||||
if(m_specOp==SpecOp::HOUND) {
|
|
||||||
m_config.setSpecial_None();
|
|
||||||
m_specOp=m_config.special_op_id();
|
|
||||||
}
|
|
||||||
on_actionFT8_triggered();
|
on_actionFT8_triggered();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_ft4Button_clicked()
|
void MainWindow::on_ft4Button_clicked()
|
||||||
{
|
{
|
||||||
if(m_specOp==SpecOp::HOUND) {
|
|
||||||
m_config.setSpecial_None();
|
|
||||||
m_specOp=m_config.special_op_id();
|
|
||||||
}
|
|
||||||
on_actionFT4_triggered();
|
on_actionFT4_triggered();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_msk144Button_clicked()
|
void MainWindow::on_msk144Button_clicked()
|
||||||
{
|
{
|
||||||
if(m_specOp==SpecOp::HOUND) {
|
|
||||||
m_config.setSpecial_None();
|
|
||||||
m_specOp=m_config.special_op_id();
|
|
||||||
}
|
|
||||||
on_actionMSK144_triggered();
|
on_actionMSK144_triggered();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_q65Button_clicked()
|
void MainWindow::on_q65Button_clicked()
|
||||||
{
|
{
|
||||||
if(m_specOp==SpecOp::HOUND) {
|
|
||||||
m_config.setSpecial_None();
|
|
||||||
m_specOp=m_config.special_op_id();
|
|
||||||
}
|
|
||||||
on_actionQ65_triggered();
|
on_actionQ65_triggered();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_jt65Button_clicked()
|
void MainWindow::on_jt65Button_clicked()
|
||||||
{
|
{
|
||||||
if(m_specOp==SpecOp::HOUND) {
|
|
||||||
m_config.setSpecial_None();
|
|
||||||
m_specOp=m_config.special_op_id();
|
|
||||||
}
|
|
||||||
on_actionJT65_triggered();
|
on_actionJT65_triggered();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user