Fix two ways that Loxk Tx Freq could be circumvented; display Echo Graph

automatically when Echo mode is started; clean up display of FreqCal parameters.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8131 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2017-09-28 15:09:46 +00:00
parent 129d9821ac
commit 2ae63fa87c
2 changed files with 25 additions and 45 deletions

View File

@ -1617,30 +1617,23 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
void MainWindow::on_monitorButton_clicked (bool checked) void MainWindow::on_monitorButton_clicked (bool checked)
{ {
if (!m_transmitting) if (!m_transmitting) {
{ auto prior = m_monitoring;
auto prior = m_monitoring; monitor (checked);
monitor (checked); if (checked && !prior) {
if (m_config.monitor_last_used ()) {
if (checked && !prior)
{
if (m_config.monitor_last_used ())
{
// put rig back where it was when last in control // put rig back where it was when last in control
setRig (m_lastMonitoredFrequency); setRig (m_lastMonitoredFrequency);
setXIT (ui->TxFreqSpinBox->value ()); setXIT (ui->TxFreqSpinBox->value ());
} }
// ensure FreqCal triggers // ensure FreqCal triggers
on_RxFreqSpinBox_valueChanged (ui->RxFreqSpinBox->value ()); on_RxFreqSpinBox_valueChanged (ui->RxFreqSpinBox->value ());
} }
//Get Configuration in/out of strict split and mode checking //Get Configuration in/out of strict split and mode checking
Q_EMIT m_config.sync_transceiver (true, checked); Q_EMIT m_config.sync_transceiver (true, checked);
} } else {
else ui->monitorButton->setChecked (false); // disallow
{ }
ui->monitorButton->setChecked (false); // disallow
}
} }
void MainWindow::monitor (bool state) void MainWindow::monitor (bool state)
@ -1739,12 +1732,7 @@ void MainWindow::keyPressEvent (QKeyEvent * e)
n=11; n=11;
if(e->modifiers() & Qt::ControlModifier) n+=100; if(e->modifiers() & Qt::ControlModifier) n+=100;
if(e->modifiers() & Qt::ShiftModifier) { if(e->modifiers() & Qt::ShiftModifier) {
/* if(ui->TxFreqSpinBox->isEnabled()) ui->TxFreqSpinBox->setValue(ui->TxFreqSpinBox->value()-60);
int f=ui->TxFreqSpinBox->value()/50;
if((ui->TxFreqSpinBox->value() % 50) == 0) f=f-1;
ui->TxFreqSpinBox->setValue(50*f);
*/
ui->TxFreqSpinBox->setValue(ui->TxFreqSpinBox->value()-60);
} else{ } else{
bumpFqso(n); bumpFqso(n);
} }
@ -1753,12 +1741,7 @@ void MainWindow::keyPressEvent (QKeyEvent * e)
n=12; n=12;
if(e->modifiers() & Qt::ControlModifier) n+=100; if(e->modifiers() & Qt::ControlModifier) n+=100;
if(e->modifiers() & Qt::ShiftModifier) { if(e->modifiers() & Qt::ShiftModifier) {
/* if(ui->TxFreqSpinBox->isEnabled()) ui->TxFreqSpinBox->setValue(ui->TxFreqSpinBox->value()+60);
int f=ui->TxFreqSpinBox->value()/50;
ui->TxFreqSpinBox->setValue(50*(f+1));
*/
ui->TxFreqSpinBox->setValue(ui->TxFreqSpinBox->value()+60);
} else { } else {
bumpFqso(n); bumpFqso(n);
} }
@ -2130,8 +2113,8 @@ void MainWindow::on_actionSolve_FreqCal_triggered()
strncpy(data_dir,dpath.toLatin1(),len); strncpy(data_dir,dpath.toLatin1(),len);
calibrate_(data_dir,&iz,&a,&b,&rms,&sigmaa,&sigmab,&irc,len); calibrate_(data_dir,&iz,&a,&b,&rms,&sigmaa,&sigmab,&irc,len);
QString t1; QString t1;
t1.sprintf("Slope: %8.4f ±%7.4f ppm\nIntercept: %7.2f ±%5.2f Hz\n\nStdDev: %8.3f Hz", t1.sprintf("Slope: %10.3f ±%7.3f ppm\nIntercept: %7.2f ±%5.2f Hz\n\nNgroups: %6d\nStdDev: %8.2f Hz",
b,sigmab,a,sigmaa,rms); b,sigmab,a,sigmaa,iz,rms);
QString t2{"Solution looks good."}; QString t2{"Solution looks good."};
if(irc<0) t1=""; if(irc<0) t1="";
if(irc==-1) t2="Cannot open " + dpath + "fmt.all"; if(irc==-1) t2="Cannot open " + dpath + "fmt.all";
@ -4648,11 +4631,7 @@ void MainWindow::displayWidgets(int n)
if(i==20) ui->actionInclude_averaging->setVisible (b); if(i==20) ui->actionInclude_averaging->setVisible (b);
if(i==21) ui->actionInclude_correlation->setVisible (b); if(i==21) ui->actionInclude_correlation->setVisible (b);
if(i==22) { if(i==22) {
if(b && !m_echoGraph->isVisible()) { if(!b && m_echoGraph->isVisible()) m_echoGraph->hide();
m_echoGraph->show();
} else {
if(m_echoGraph->isVisible()) m_echoGraph->hide();
}
} }
if(i==23) { if(i==23) {
ui->cbSWL->setVisible(b); ui->cbSWL->setVisible(b);
@ -5659,7 +5638,6 @@ void MainWindow::on_cbTxLock_clicked(bool checked)
m_lockTxFreq=checked; m_lockTxFreq=checked;
m_wideGraph->setLockTxFreq(m_lockTxFreq); m_wideGraph->setLockTxFreq(m_lockTxFreq);
ui->TxFreqSpinBox->setEnabled(!m_lockTxFreq); ui->TxFreqSpinBox->setEnabled(!m_lockTxFreq);
// if(m_lockTxFreq) on_pbR2T_clicked();
} }
void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const& s) void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const& s)
@ -6017,10 +5995,10 @@ void MainWindow::transmitDisplay (bool transmitting)
// used fixed 1000Hz Tx DF for VHF & up QSO modes // used fixed 1000Hz Tx DF for VHF & up QSO modes
// ui->TxFreqSpinBox->setValue(1000); // ui->TxFreqSpinBox->setValue(1000);
// ui->TxFreqSpinBox->setEnabled (false); // ui->TxFreqSpinBox->setEnabled (false);
ui->TxFreqSpinBox->setEnabled (true); ui->TxFreqSpinBox->setEnabled (!ui->cbTxLock->isChecked());
//### //###
} else { } else {
ui->TxFreqSpinBox->setEnabled (QSY_allowed and !m_bFastMode); ui->TxFreqSpinBox->setEnabled (QSY_allowed and !m_bFastMode and !ui->cbTxLock->isChecked());
ui->pbR2T->setEnabled (QSY_allowed); ui->pbR2T->setEnabled (QSY_allowed);
ui->cbTxLock->setEnabled (QSY_allowed); ui->cbTxLock->setEnabled (QSY_allowed);
} }

View File

@ -355,8 +355,10 @@ void CPlotter::DrawOverlay() //DrawOverlay()
//draw frequency values //draw frequency values
for( int i=0; i<=m_hdivs; i++) { for( int i=0; i<=m_hdivs; i++) {
x = (int)((m_xOffset+i)*pixperdiv - pixperdiv/2); x = (int)((m_xOffset+i)*pixperdiv - pixperdiv/2);
rect0.setRect(x,0, (int)pixperdiv, 20); if(x > 40 and x < m_w) {
painter0.drawText(rect0, Qt::AlignHCenter|Qt::AlignVCenter,m_HDivText[i]); rect0.setRect(x,0, (int)pixperdiv, 20);
painter0.drawText(rect0, Qt::AlignHCenter|Qt::AlignVCenter,m_HDivText[i]);
}
} }
float bw=9.0*12000.0/m_nsps; //JT9 float bw=9.0*12000.0/m_nsps; //JT9