mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-22 03:58:50 -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/ft8/bpdecode174_91.f90
|
||||
lib/baddata.f90
|
||||
lib/cablog.f90
|
||||
lib/calibrate.f90
|
||||
lib/ccf2.f90
|
||||
lib/ccf65.f90
|
||||
@ -1143,6 +1144,9 @@ target_link_libraries (jt65sim wsjt_fort wsjt_cxx)
|
||||
add_executable (sumsim lib/sumsim.f90)
|
||||
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)
|
||||
target_link_libraries (test_snr wsjt_fort)
|
||||
|
||||
@ -1599,7 +1603,7 @@ install (TARGETS jt9 wsprd fmtave fcal fmeasure
|
||||
|
||||
if(WSJT_BUILD_UTILS)
|
||||
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
|
||||
BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
|
||||
)
|
||||
|
@ -173,7 +173,6 @@
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
|
||||
|
||||
#include "pimpl_impl.hpp"
|
||||
#include "Logger.hpp"
|
||||
#include "qt_helpers.hpp"
|
||||
@ -331,9 +330,9 @@ public:
|
||||
|
||||
connect (button_box, &QDialogButtonBox::accepted, this, &FrequencyDialog::accept);
|
||||
connect (button_box, &QDialogButtonBox::rejected, this, &FrequencyDialog::reject);
|
||||
connect(start_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 (start_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);
|
||||
toggleValidity();
|
||||
}
|
||||
|
||||
@ -585,6 +584,7 @@ private:
|
||||
Q_SLOT void on_revert_update_button_clicked (bool);
|
||||
void error_during_hamlib_download (QString const& reason);
|
||||
void after_hamlib_downloaded();
|
||||
void display_file_information();
|
||||
|
||||
Q_SLOT void on_cbx2ToneSpacing_clicked(bool);
|
||||
Q_SLOT void on_cbx4ToneSpacing_clicked(bool);
|
||||
@ -689,6 +689,7 @@ private:
|
||||
QString FD_exchange_;
|
||||
QString RTTY_exchange_;
|
||||
QString Contest_Name_;
|
||||
QString hamlib_backed_up_;
|
||||
|
||||
qint32 id_interval_;
|
||||
qint32 ntrials_;
|
||||
@ -1575,6 +1576,7 @@ void Configuration::impl::read_settings ()
|
||||
ui_->Field_Day_Exchange->setText(FD_exchange_);
|
||||
ui_->RTTY_Exchange->setText(RTTY_exchange_);
|
||||
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 ())
|
||||
&& next_font_ != font_)
|
||||
@ -1751,6 +1753,18 @@ void Configuration::impl::read_settings ()
|
||||
pwrBandTuneMemory_ = settings_->value("pwrBandTuneMemory",false).toBool ();
|
||||
highlight_DXcall_ = settings_->value("highlight_DXcall",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 ()
|
||||
@ -2492,6 +2506,11 @@ void Configuration::impl::on_decoded_text_font_push_button_clicked ()
|
||||
void Configuration::impl::on_hamlib_download_button_clicked (bool /*clicked*/)
|
||||
{
|
||||
#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();
|
||||
QFile f1 {dataPath.absolutePath() + "/" + "libhamlib-4_old.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);
|
||||
if (ui_->rbHamlib32->isChecked()) {
|
||||
cty_download.configure(network_manager_,
|
||||
"https://n0nb.users.sourceforge.net/dll32/libhamlib-4.dll",
|
||||
dataPath.absoluteFilePath("libhamlib-4_new.dll"),
|
||||
"Downloading latest libhamlib-4.dll");
|
||||
"https://n0nb.users.sourceforge.net/dll32/libhamlib-4.dll",
|
||||
dataPath.absoluteFilePath("libhamlib-4_new.dll"),
|
||||
"Downloading latest libhamlib-4.dll");
|
||||
} else {
|
||||
cty_download.configure(network_manager_,
|
||||
"https://n0nb.users.sourceforge.net/dll64/libhamlib-4.dll",
|
||||
dataPath.absoluteFilePath("libhamlib-4_new.dll"),
|
||||
"Downloading latest libhamlib-4.dll");
|
||||
"https://n0nb.users.sourceforge.net/dll64/libhamlib-4.dll",
|
||||
dataPath.absoluteFilePath("libhamlib-4_new.dll"),
|
||||
"Downloading latest libhamlib-4.dll");
|
||||
}
|
||||
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);
|
||||
@ -2550,7 +2569,7 @@ void Configuration::impl::on_revert_update_button_clicked (bool /*clicked*/)
|
||||
ui_->hamlib_download_button->setEnabled (false);
|
||||
QFile::rename(dataPath.absolutePath() + "/" + "libhamlib-4.dll", dataPath.absolutePath() + "/" + "libhamlib-4_new.dll");
|
||||
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, [=] {
|
||||
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
|
||||
}
|
||||
|
||||
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 */)
|
||||
{
|
||||
|
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>684</width>
|
||||
<height>662</height>
|
||||
<width>800</width>
|
||||
<height>600</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -1371,7 +1371,7 @@ radio interface behave as expected.</string>
|
||||
<item row="12" column="0">
|
||||
<widget class="QGroupBox" name="hamlib_groupBox">
|
||||
<property name="title">
|
||||
<string>Update Hamlib (Windows only)</string>
|
||||
<string>Update Hamlib</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_18">
|
||||
<item row="0" column="0">
|
||||
@ -1391,6 +1391,16 @@ radio interface behave as expected.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</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">
|
||||
<widget class="QPushButton" name="hamlib_download_button">
|
||||
<property name="toolTip">
|
||||
@ -1401,15 +1411,37 @@ radio interface behave as expected.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</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 row="1" column="0" colspan="4">
|
||||
<layout class="QGridLayout" name="hamlib_version_gridLayout" columnstretch="0,1">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="in_use_text">
|
||||
<property name="text">
|
||||
<string>In use:</string>
|
||||
</property>
|
||||
</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>
|
||||
</layout>
|
||||
</widget>
|
||||
@ -3466,13 +3498,13 @@ Right click for insert and delete options.</string>
|
||||
</connection>
|
||||
</connections>
|
||||
<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="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="CAT_data_bits_button_group"/>
|
||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||
<buttongroup name="PTT_method_button_group"/>
|
||||
</buttongroups>
|
||||
</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
|
||||
sum2=sum2 + ss(i)-avg
|
||||
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
|
||||
if(sum2.ge.0.50*sum1 .and. xi2.eq.-999.0) then
|
||||
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) {
|
||||
m_mode=mode;
|
||||
ui->cbReadyOnly->setText("Ready only");
|
||||
if(m_mode=="Q65") {
|
||||
ui->header_label2->setText(" N Frx Fsked S/N Call Grid Tx Age");
|
||||
ui->label->setText("QSOs:");
|
||||
ui->cbReadyOnly->setText("CQ only");
|
||||
} else if(m_mode=="Q65-pileup") {
|
||||
ui->header_label2->setText(" N Freq Call Grid El Age(h)");
|
||||
} else {
|
||||
|
@ -213,6 +213,7 @@ QVector<QColor> g_ColorTbl;
|
||||
|
||||
using SpecOp = Configuration::SpecialOperatingActivity;
|
||||
|
||||
bool blocked = false;
|
||||
bool m_displayBand = false;
|
||||
bool no_a7_decodes = 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
|
||||
QDir dataPath = QCoreApplication::applicationDirPath();
|
||||
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
|
||||
|
||||
// this must be the last statement of constructor
|
||||
@ -1213,6 +1223,16 @@ void MainWindow::writeSettings()
|
||||
m_settings->setValue ("SerialNumber",ui->sbSerialNumber->value ());
|
||||
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->setValue("Mode",m_mode);
|
||||
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("FST4_FLow",ui->sbF_Low->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("Ftol", ui->sbFtol->value ());
|
||||
m_settings->setValue("MinSync",m_minSync);
|
||||
m_settings->setValue ("AutoSeq", ui->cbAutoSeq->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 ("DialFreq", QVariant::fromValue(m_lastMonitoredFrequency));
|
||||
m_settings->setValue("OutAttenuation", ui->outAttenuation->value ());
|
||||
@ -1248,7 +1267,6 @@ void MainWindow::writeSettings()
|
||||
m_settings->setValue("UploadSpots",m_uploadWSPRSpots);
|
||||
m_settings->setValue("NoOwnCall",ui->cbNoOwnCall->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 ("TRPeriod_FST4W", ui->sbTR_FST4W->value ());
|
||||
m_settings->setValue("FastMode",m_bFastMode);
|
||||
@ -1316,16 +1334,58 @@ void MainWindow::readSettings()
|
||||
ui->sbSerialNumber->setValue (m_settings->value ("SerialNumber", 1).toInt ());
|
||||
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
|
||||
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");
|
||||
ui->labDXped->setText(m_settings->value("labDXpedText",QString {}).toString ());
|
||||
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_monthly->setChecked(m_settings->value("splitAllTxtMonthly", 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->actionSave_decoded->setChecked(m_settings->value("SaveDecoded",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->sbF_Low->setValue(m_settings->value("FST4_FLow",600).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->sbFST4W_FTol->setValue(m_settings->value("FST4W_FTol",100).toInt());
|
||||
m_minSync=m_settings->value("MinSync",0).toInt();
|
||||
ui->syncSpinBox->setValue(m_minSync);
|
||||
ui->cbAutoSeq->setChecked (m_settings->value ("AutoSeq", 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_bFast9=m_settings->value("Fast9",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->sbTR_FST4W->setValue (m_settings->value ("TRPeriod_FST4W", 15).toInt());
|
||||
m_lastMonitoredFrequency = m_settings->value ("DialFreq",
|
||||
@ -6877,6 +6925,10 @@ void MainWindow::on_actionFST4_triggered()
|
||||
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
||||
});
|
||||
m_mode="FST4";
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
ui->actionFST4->setChecked(true);
|
||||
m_bFast9=false;
|
||||
m_bFastMode=false;
|
||||
@ -6919,6 +6971,10 @@ void MainWindow::on_actionFST4_triggered()
|
||||
void MainWindow::on_actionFST4W_triggered()
|
||||
{
|
||||
m_mode="FST4W";
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
ui->actionFST4W->setChecked(true);
|
||||
m_bFast9=false;
|
||||
m_bFastMode=false;
|
||||
@ -6954,6 +7010,10 @@ void MainWindow::on_actionFT4_triggered()
|
||||
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
||||
});
|
||||
m_mode="FT4";
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
m_TRperiod=7.5;
|
||||
bool bVHF=m_config.enable_VHF_features();
|
||||
m_bFast9=false;
|
||||
@ -7120,6 +7180,10 @@ void MainWindow::on_actionJT4_triggered()
|
||||
ui->RxFreqSpinBox->setValue(m_settings->value("RxFreq_old",1500).toInt());
|
||||
});
|
||||
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();
|
||||
WSPR_config(false);
|
||||
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->rh_decodes_headings_label->setText("UTC dB DT Freq " + tr ("Message"));
|
||||
if(bVHF) {
|
||||
// ui->sbSubmode->setValue(m_nSubMode);
|
||||
QTimer::singleShot (50, [=] {m_nSubMode=m_settings->value("SubMode_JT4",0).toInt();});
|
||||
QTimer::singleShot (75, [=] {ui->sbSubmode->setValue(m_settings->value("SubMode_JT4",0).toInt());});
|
||||
QTimer::singleShot (100, [=] {on_sbSubmode_valueChanged(m_nSubMode);});
|
||||
// restore last used parameters
|
||||
ui->sbFtol->setValue (m_settings->value ("Ftol_JT4", 50).toInt());
|
||||
m_nSubMode=m_settings->value("SubMode_JT4",0).toInt();
|
||||
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 {
|
||||
ui->sbSubmode->setValue(0);
|
||||
}
|
||||
@ -7163,8 +7230,25 @@ void MainWindow::on_actionJT4_triggered()
|
||||
void MainWindow::on_actionJT9_triggered()
|
||||
{
|
||||
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();
|
||||
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;
|
||||
WSPR_config(false);
|
||||
switch_mode (Modes::JT9);
|
||||
@ -7187,6 +7271,7 @@ void MainWindow::on_actionJT9_triggered()
|
||||
ui->sbSubmode->setMaximum(7);
|
||||
if(m_bFast9) {
|
||||
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());
|
||||
m_wideGraph->hide();
|
||||
m_fastGraph->showNormal();
|
||||
@ -7226,6 +7311,10 @@ void MainWindow::on_actionJT65_triggered()
|
||||
ui->RxFreqSpinBox->setValue(m_settings->value("RxFreq_old",1500).toInt());
|
||||
});
|
||||
on_actionJT9_triggered();
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
m_mode="JT65";
|
||||
bool bVHF=m_config.enable_VHF_features();
|
||||
WSPR_config(false);
|
||||
@ -7251,10 +7340,13 @@ void MainWindow::on_actionJT65_triggered()
|
||||
m_bFast9=false;
|
||||
ui->sbSubmode->setMaximum(2);
|
||||
if(bVHF) {
|
||||
// ui->sbSubmode->setValue(m_nSubMode);
|
||||
QTimer::singleShot (50, [=] {m_nSubMode=m_settings->value("SubMode_JT65",0).toInt();});
|
||||
QTimer::singleShot (75, [=] {ui->sbSubmode->setValue(m_settings->value("SubMode_JT65",0).toInt());});
|
||||
QTimer::singleShot (100, [=] {on_sbSubmode_valueChanged(m_nSubMode);});
|
||||
// restore last used parameters
|
||||
ui->sbFtol->setValue (m_settings->value ("Ftol_JT65", 50).toInt());
|
||||
m_nSubMode=m_settings->value("SubMode_JT65",0).toInt();
|
||||
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 {
|
||||
ui->sbSubmode->setValue(0);
|
||||
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());
|
||||
});
|
||||
m_mode="Q65";
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
ui->actionQ65->setChecked(true);
|
||||
switch_mode(Modes::Q65);
|
||||
ui->cbAutoSeq->setChecked(true);
|
||||
@ -7294,12 +7390,17 @@ void MainWindow::on_actionQ65_triggered()
|
||||
Q_EMIT FFTSize(m_FFTSize);
|
||||
m_hsymStop=49;
|
||||
ui->sbTR->values ({15, 30, 60, 120, 300});
|
||||
ui->sbTR->setValue (m_settings->value ("TRPeriod_Q65", 30).toInt()); // remember sbTR settings by mode
|
||||
QTimer::singleShot (50, [=] {on_sbTR_valueChanged (ui->sbTR->value());});
|
||||
// ui->sbSubmode->setValue(m_nSubMode);
|
||||
QTimer::singleShot (50, [=] {m_nSubMode=m_settings->value("SubMode_Q65",0).toInt();});
|
||||
QTimer::singleShot (75, [=] {ui->sbSubmode->setValue(m_settings->value("SubMode_Q65",0).toInt());});
|
||||
QTimer::singleShot (100, [=] {on_sbSubmode_valueChanged(m_nSubMode);});
|
||||
// restore last used parameters
|
||||
ui->sbTR->setValue (m_settings->value ("TRPeriod_Q65", 30).toInt());
|
||||
ui->sbFtol->setValue (m_settings->value ("Ftol_Q65", 50).toInt());
|
||||
m_nSubMode=m_settings->value("SubMode_Q65",0).toInt();
|
||||
ui->sbSubmode->setValue(m_settings->value("SubMode_Q65",0).toInt());
|
||||
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"))};
|
||||
m_wideGraph->setRedFile(fname);
|
||||
m_wideGraph->setMode(m_mode);
|
||||
@ -7361,6 +7462,10 @@ void MainWindow::on_actionMSK144_triggered()
|
||||
return;
|
||||
}
|
||||
m_mode="MSK144";
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
ui->actionMSK144->setChecked(true);
|
||||
switch_mode (Modes::MSK144);
|
||||
m_nsps=6;
|
||||
@ -7374,11 +7479,10 @@ void MainWindow::on_actionMSK144_triggered()
|
||||
m_bFastMode=true;
|
||||
m_bFast9=false;
|
||||
ui->sbTR->values ({5, 10, 15, 30});
|
||||
ui->sbTR->setValue (m_settings->value ("TRPeriod_MSK144", 15).toInt()); // remember sbTR settings by mode
|
||||
QTimer::singleShot (50, [=] {
|
||||
on_sbTR_valueChanged (ui->sbTR->value());
|
||||
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
||||
});
|
||||
ui->sbTR->setValue (m_settings->value ("TRPeriod_MSK144", 15).toInt()); // restore last used TRperiod
|
||||
QTimer::singleShot (50, [=] {on_sbTR_valueChanged (ui->sbTR->value());});
|
||||
m_bShMsgs=m_settings->value("ShMsgs_MSK144",false).toBool();
|
||||
ui->cbShMsgs->setChecked(m_bShMsgs);
|
||||
m_wideGraph->hide();
|
||||
m_fastGraph->showNormal();
|
||||
ui->TxFreqSpinBox->setValue(1500);
|
||||
@ -7419,6 +7523,10 @@ void MainWindow::on_actionMSK144_triggered()
|
||||
void MainWindow::on_actionWSPR_triggered()
|
||||
{
|
||||
m_mode="WSPR";
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
WSPR_config(true);
|
||||
switch_mode (Modes::WSPR);
|
||||
m_TRperiod=120.0;
|
||||
@ -7455,6 +7563,10 @@ void MainWindow::on_actionEcho_triggered()
|
||||
if(nd==3) ui->actionDeepestDecode->setChecked (true);
|
||||
|
||||
m_mode="Echo";
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
ui->actionEcho->setChecked(true);
|
||||
m_TRperiod=3.0;
|
||||
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||
@ -7489,6 +7601,10 @@ void MainWindow::on_actionFreqCal_triggered()
|
||||
{
|
||||
on_actionJT9_triggered();
|
||||
m_mode="FreqCal";
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
ui->actionFreqCal->setChecked(true);
|
||||
switch_mode(Modes::FreqCal);
|
||||
m_wideGraph->setMode(m_mode);
|
||||
@ -8482,6 +8598,14 @@ void MainWindow::on_sbFtol_valueChanged(int value)
|
||||
{
|
||||
m_wideGraph->setTol (value);
|
||||
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)
|
||||
@ -8543,19 +8667,25 @@ void MainWindow::on_sbTR_valueChanged(int value)
|
||||
m_wideGraph->setPeriod (value, m_nsps);
|
||||
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_mode=="FST4") chk_FST4_freq_range();
|
||||
on_sbSubmode_valueChanged(ui->sbSubmode->value());
|
||||
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)
|
||||
@ -8602,17 +8732,21 @@ void MainWindow::on_sbSubmode_valueChanged(int n)
|
||||
ui->sbTR->setVisible(false);
|
||||
m_TRperiod=60.0;
|
||||
} else {
|
||||
ui->cbFast9->setEnabled(true);
|
||||
if(!blocked) ui->cbFast9->setEnabled(true);
|
||||
}
|
||||
ui->sbTR->setVisible(m_bFast9);
|
||||
if(m_bFast9) ui->TxFreqSpinBox->setValue(700);
|
||||
}
|
||||
if(m_transmitting and m_bFast9 and m_nSubMode>=4) transmit (99.0);
|
||||
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 ();
|
||||
// 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)
|
||||
@ -8620,7 +8754,12 @@ void MainWindow::on_cbFast9_clicked(bool b)
|
||||
if(m_mode=="JT9") {
|
||||
m_bFast9=b;
|
||||
// ui->cbAutoSeq->setVisible(b);
|
||||
blocked=true; // needed to prevent a loop
|
||||
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) {
|
||||
@ -8652,6 +8791,12 @@ void MainWindow::on_cbShMsgs_toggled(bool b)
|
||||
if(ntx==4) ui->txrb4->setChecked(true);
|
||||
if(ntx==5) ui->txrb5->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)
|
||||
@ -9495,7 +9640,8 @@ void MainWindow::readWidebandDecodes()
|
||||
m_EMECall[dxcall].t=60*nhr + nmin;
|
||||
if(w3.contains(grid_regexp)) m_EMECall[dxcall].grid4=w3;
|
||||
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);
|
||||
bool bFromDisk=qmapcom.nQDecoderDone==2;
|
||||
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()
|
||||
{
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
on_actionFT8_triggered();
|
||||
}
|
||||
|
||||
void MainWindow::on_ft4Button_clicked()
|
||||
{
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
on_actionFT4_triggered();
|
||||
}
|
||||
|
||||
void MainWindow::on_msk144Button_clicked()
|
||||
{
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
on_actionMSK144_triggered();
|
||||
}
|
||||
|
||||
void MainWindow::on_q65Button_clicked()
|
||||
{
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
on_actionQ65_triggered();
|
||||
}
|
||||
|
||||
void MainWindow::on_jt65Button_clicked()
|
||||
{
|
||||
if(m_specOp==SpecOp::HOUND) {
|
||||
m_config.setSpecial_None();
|
||||
m_specOp=m_config.special_op_id();
|
||||
}
|
||||
on_actionJT65_triggered();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user