Add user controls for Nsig, Nslots, Max_dB.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8238 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2017-11-15 20:47:24 +00:00
parent 5a023e8ea9
commit e5dce12086
3 changed files with 78 additions and 36 deletions

View File

@ -867,7 +867,6 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
m_bDisplayedOnce=false; m_bDisplayedOnce=false;
m_wait=0; m_wait=0;
m_isort=-3; m_isort=-3;
m_max_N=10;
m_min_dB=-30; m_min_dB=-30;
m_max_dB=30; m_max_dB=30;
m_CQtype="CQ"; m_CQtype="CQ";
@ -996,7 +995,8 @@ void MainWindow::writeSettings()
m_settings->setValue("FoxSortRandom",ui->rbRandom->isChecked()); m_settings->setValue("FoxSortRandom",ui->rbRandom->isChecked());
m_settings->setValue("FoxSortReverse",ui->cbReverse->isChecked()); m_settings->setValue("FoxSortReverse",ui->cbReverse->isChecked());
m_settings->setValue("FoxNsig",ui->sbNsig->value()); m_settings->setValue("FoxNsig",ui->sbNsig->value());
m_settings->setValue("FoxNslots",ui->sbNslots->value());
m_settings->setValue("FoxMaxDB",ui->sbMax_dB->value());
m_settings->endGroup(); m_settings->endGroup();
m_settings->beginGroup("Common"); m_settings->beginGroup("Common");
@ -1070,7 +1070,9 @@ void MainWindow::readSettings()
ui->rbDist->setChecked(m_settings->value("FoxSortDist",false).toBool()); ui->rbDist->setChecked(m_settings->value("FoxSortDist",false).toBool());
ui->rbRandom->setChecked(m_settings->value("FoxSortRandom",false).toBool()); ui->rbRandom->setChecked(m_settings->value("FoxSortRandom",false).toBool());
ui->cbReverse->setChecked(m_settings->value("FoxSortReverse",true).toBool()); ui->cbReverse->setChecked(m_settings->value("FoxSortReverse",true).toBool());
ui->sbNsig->setValue(m_settings->value("FoxNsig",5).toInt()); ui->sbNsig->setValue(m_settings->value("FoxNsig",12).toInt());
ui->sbNslots->setValue(m_settings->value("FoxNslots",5).toInt());
ui->sbMax_dB->setValue(m_settings->value("FoxMaxDB",30).toInt());
m_settings->endGroup(); 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
@ -3454,7 +3456,7 @@ void MainWindow::guiUpdate()
} }
if(m_config.bFox()) { if(m_config.bFox()) {
QString t; QString t;
t.sprintf("DXpedition: Fox %d %d %d %d",m_isort,m_max_N, t.sprintf("DXpedition: Fox %d %d %d %d",m_isort,m_Nsig,
m_min_dB,m_max_dB); m_min_dB,m_max_dB);
ui->labDXped->setText(t); ui->labDXped->setText(t);
} }
@ -3828,7 +3830,7 @@ void MainWindow::doubleClickOnCall(Qt::KeyboardModifiers modifiers)
} }
if(m_config.bFox() and m_decodedText2) { if(m_config.bFox() and m_decodedText2) {
if(m_nToBeCalled >= m_Nsig or m_nFoxCallers==0) return; if(m_nToBeCalled >= m_Nslots or m_nFoxCallers==0) return;
QString t=cursor.block().text(); QString t=cursor.block().text();
QString c2=t.split(" ",QString::SkipEmptyParts).at(0); QString c2=t.split(" ",QString::SkipEmptyParts).at(0);
if(ui->textBrowser3->toPlainText().indexOf(c2) >= 0) return; if(ui->textBrowser3->toPlainText().indexOf(c2) >= 0) return;
@ -3847,6 +3849,7 @@ void MainWindow::doubleClickOnCall(Qt::KeyboardModifiers modifiers)
QString t1=c2 + " "; QString t1=c2 + " ";
QString t2=rpt; QString t2=rpt;
if(rpt.mid(0,1) != "-") t2="+" + rpt; if(rpt.mid(0,1) != "-") t2="+" + rpt;
if(t2.length()==2) t2=t2.mid(0,1) + "0" + t2.mid(1,1);
t1=t1.mid(0,7) + t2; t1=t1.mid(0,7) + t2;
t2.sprintf("%1d. ",m_nToBeCalled); t2.sprintf("%1d. ",m_nToBeCalled);
t1=t2 + t1; t1=t2 + t1;
@ -7105,8 +7108,8 @@ QString MainWindow::sortFoxCalls(QString t, int isort, int min_dB, int max_dB)
int i0=t.indexOf("\n") + 1; int i0=t.indexOf("\n") + 1;
m_nFoxCallers=0; m_nFoxCallers=0;
if(i0 > 0) m_nFoxCallers=qMin(t.length(),m_max_N*i0)/i0; if(i0 > 0) m_nFoxCallers=qMin(t.length(),m_Nsig*i0)/i0;
m_FoxCallers=t.mid(0,m_max_N*i0); m_FoxCallers=t.mid(0,m_Nsig*i0);
return m_FoxCallers; return m_FoxCallers;
} }
@ -7143,4 +7146,12 @@ void MainWindow::on_sbNsig_valueChanged(int n)
m_Nsig=n; m_Nsig=n;
} }
void MainWindow::on_sbNslots_valueChanged(int n)
{
m_Nslots=n;
}
void MainWindow::on_sbMax_dB_valueChanged(int n)
{
m_max_dB=n;
}

View File

@ -288,6 +288,8 @@ private slots:
void on_rbDist_toggled(bool b); void on_rbDist_toggled(bool b);
void on_rbRandom_toggled(bool b); void on_rbRandom_toggled(bool b);
void on_sbNsig_valueChanged(int n); void on_sbNsig_valueChanged(int n);
void on_sbNslots_valueChanged(int n);
void on_sbMax_dB_valueChanged(int n);
private: private:
Q_SIGNAL void initializeAudioOutputStream (QAudioDeviceInfo, Q_SIGNAL void initializeAudioOutputStream (QAudioDeviceInfo,
@ -415,12 +417,12 @@ private:
qint32 m_wait; qint32 m_wait;
qint32 m_i3bit; qint32 m_i3bit;
qint32 m_isort; qint32 m_isort;
qint32 m_max_N;
qint32 m_max_dB; qint32 m_max_dB;
qint32 m_min_dB; qint32 m_min_dB;
qint32 m_nFoxCallers=0; qint32 m_nFoxCallers=0;
qint32 m_nToBeCalled=0; qint32 m_nToBeCalled=0;
qint32 m_Nsig=5; qint32 m_Nsig=12;
qint32 m_Nslots=5;
bool m_btxok; //True if OK to transmit bool m_btxok; //True if OK to transmit
bool m_diskData; bool m_diskData;

View File

@ -1637,8 +1637,8 @@ list. The list can be maintained in Settings (F2).</string>
<rect> <rect>
<x>10</x> <x>10</x>
<y>100</y> <y>100</y>
<width>131</width> <width>221</width>
<height>91</height> <height>101</height>
</rect> </rect>
</property> </property>
<property name="title"> <property name="title">
@ -1647,10 +1647,10 @@ list. The list can be maintained in Settings (F2).</string>
<widget class="QWidget" name=""> <widget class="QWidget" name="">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>10</x> <x>11</x>
<y>20</y> <y>20</y>
<width>113</width> <width>201</width>
<height>65</height> <height>74</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_10"> <layout class="QGridLayout" name="gridLayout_10">
@ -1671,6 +1671,22 @@ list. The list can be maintained in Settings (F2).</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2">
<widget class="QSpinBox" name="sbNsig">
<property name="prefix">
<string>Nsigs </string>
</property>
<property name="minimum">
<number>5</number>
</property>
<property name="maximum">
<number>20</number>
</property>
<property name="value">
<number>12</number>
</property>
</widget>
</item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QRadioButton" name="rbGrid"> <widget class="QRadioButton" name="rbGrid">
<property name="text"> <property name="text">
@ -1685,6 +1701,25 @@ list. The list can be maintained in Settings (F2).</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="2">
<widget class="QSpinBox" name="sbNslots">
<property name="suffix">
<string/>
</property>
<property name="prefix">
<string>Nslots </string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>5</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QRadioButton" name="rbSNR"> <widget class="QRadioButton" name="rbSNR">
<property name="text"> <property name="text">
@ -1699,31 +1734,25 @@ list. The list can be maintained in Settings (F2).</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> <item row="2" column="2">
</widget> <widget class="QSpinBox" name="sbMax_dB">
</widget>
<widget class="QSpinBox" name="sbNsig">
<property name="geometry">
<rect>
<x>150</x>
<y>140</y>
<width>61</width>
<height>22</height>
</rect>
</property>
<property name="prefix"> <property name="prefix">
<string>Nsig: </string> <string>Max dB </string>
</property> </property>
<property name="minimum"> <property name="minimum">
<number>1</number> <number>-15</number>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>5</number> <number>30</number>
</property> </property>
<property name="value"> <property name="value">
<number>5</number> <number>30</number>
</property> </property>
</widget> </widget>
</item>
</layout>
</widget>
</widget>
</widget> </widget>
</widget> </widget>
</item> </item>