mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-22 04:11:16 -05:00
Another try at optimizing the GUI for simplex and split behavior. Details below:
1. Checkbox "Double-click on call sets Tx and Rx freqs" has been removed from the Settings -> General tab. 2. Checkbox "Lock Tx Freq" on main window is relabled "Hold Tx Freq". 3. Behavior now defaults to the "simplex" behavior in use up to code revision r8123. In particular, double-clicking on decoded mesages that do not contain your own call moves both Rx and Tx frequencies. If the first callsign is your own call, only Rx freq moves. 4. If "Hold Tx Freq" is checked, double-clicking on decoded messages moves the Rx frequency; Tx frequency is moved only if CTRL was held down. 5. Clicking on the waterfall moves Rx and Tx frequencies as before: Rx only on a simple click, Tx only on SHIFT-click, and both on CTRL-click. This happens even if "Hold Tx Freq" is checked (which is why this box is no longer labeled "Lock Tx Freq"). git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8146 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
869f613b7d
commit
d7baae12f8
@ -553,7 +553,6 @@ private:
|
||||
bool clear_DX_;
|
||||
bool miles_;
|
||||
bool quick_call_;
|
||||
bool default_simplex_;
|
||||
bool disable_TX_on_73_;
|
||||
int watchdog_;
|
||||
bool TX_messages_;
|
||||
@ -644,7 +643,6 @@ bool Configuration::DXCC () const {return m_->DXCC_;}
|
||||
bool Configuration::clear_DX () const {return m_->clear_DX_;}
|
||||
bool Configuration::miles () const {return m_->miles_;}
|
||||
bool Configuration::quick_call () const {return m_->quick_call_;}
|
||||
bool Configuration::default_simplex () const {return m_->default_simplex_;}
|
||||
bool Configuration::disable_TX_on_73 () const {return m_->disable_TX_on_73_;}
|
||||
int Configuration::watchdog () const {return m_->watchdog_;}
|
||||
bool Configuration::TX_messages () const {return m_->TX_messages_;}
|
||||
@ -1084,7 +1082,6 @@ void Configuration::impl::initialize_models ()
|
||||
ui_->clear_DX_check_box->setChecked (clear_DX_);
|
||||
ui_->miles_check_box->setChecked (miles_);
|
||||
ui_->quick_call_check_box->setChecked (quick_call_);
|
||||
ui_->cbDefaultSimplex->setChecked (default_simplex_);
|
||||
ui_->disable_TX_on_73_check_box->setChecked (disable_TX_on_73_);
|
||||
ui_->tx_watchdog_spin_box->setValue (watchdog_);
|
||||
ui_->TX_messages_check_box->setChecked (TX_messages_);
|
||||
@ -1315,7 +1312,6 @@ void Configuration::impl::read_settings ()
|
||||
clear_DX_ = settings_->value ("ClearCallGrid", false).toBool ();
|
||||
miles_ = settings_->value ("Miles", false).toBool ();
|
||||
quick_call_ = settings_->value ("QuickCall", false).toBool ();
|
||||
default_simplex_ = settings_->value ("DefaultSimplex", false).toBool ();
|
||||
disable_TX_on_73_ = settings_->value ("73TxDisable", false).toBool ();
|
||||
watchdog_ = settings_->value ("TxWatchdog", 6).toInt ();
|
||||
TX_messages_ = settings_->value ("Tx2QSO", true).toBool ();
|
||||
@ -1407,7 +1403,6 @@ void Configuration::impl::write_settings ()
|
||||
settings_->setValue ("ClearCallGrid", clear_DX_);
|
||||
settings_->setValue ("Miles", miles_);
|
||||
settings_->setValue ("QuickCall", quick_call_);
|
||||
settings_->setValue ("DefaultSimplex", default_simplex_);
|
||||
settings_->setValue ("73TxDisable", disable_TX_on_73_);
|
||||
settings_->setValue ("TxWatchdog", watchdog_);
|
||||
settings_->setValue ("Tx2QSO", TX_messages_);
|
||||
@ -1807,7 +1802,6 @@ void Configuration::impl::accept ()
|
||||
clear_DX_ = ui_->clear_DX_check_box->isChecked ();
|
||||
miles_ = ui_->miles_check_box->isChecked ();
|
||||
quick_call_ = ui_->quick_call_check_box->isChecked ();
|
||||
default_simplex_ = ui_->cbDefaultSimplex->isChecked ();
|
||||
disable_TX_on_73_ = ui_->disable_TX_on_73_check_box->isChecked ();
|
||||
watchdog_ = ui_->tx_watchdog_spin_box->value ();
|
||||
TX_messages_ = ui_->TX_messages_check_box->isChecked ();
|
||||
|
@ -117,7 +117,6 @@ public:
|
||||
bool clear_DX () const;
|
||||
bool miles () const;
|
||||
bool quick_call () const;
|
||||
bool default_simplex() const;
|
||||
bool disable_TX_on_73 () const;
|
||||
int watchdog () const;
|
||||
bool TX_messages () const;
|
||||
|
@ -438,7 +438,7 @@ quiet period when decoding is done.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="disable_TX_on_73_check_box">
|
||||
<property name="toolTip">
|
||||
<string>Turns off automatic transmissions after sending a 73 or any other free
|
||||
@ -449,13 +449,6 @@ text message.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="cbDefaultSimplex">
|
||||
<property name="text">
|
||||
<string>Double-click on call sets Tx and Rx freqs</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
@ -2629,12 +2622,12 @@ soundcard changes</string>
|
||||
</connection>
|
||||
</connections>
|
||||
<buttongroups>
|
||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||
<buttongroup name="TX_audio_source_button_group"/>
|
||||
<buttongroup name="CAT_data_bits_button_group"/>
|
||||
<buttongroup name="CAT_handshake_button_group"/>
|
||||
<buttongroup name="PTT_method_button_group"/>
|
||||
<buttongroup name="split_mode_button_group"/>
|
||||
<buttongroup name="TX_mode_button_group"/>
|
||||
<buttongroup name="PTT_method_button_group"/>
|
||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||
<buttongroup name="split_mode_button_group"/>
|
||||
</buttongroups>
|
||||
</ui>
|
||||
|
@ -257,7 +257,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
m_sentFirst73 {false},
|
||||
m_currentMessageType {-1},
|
||||
m_lastMessageType {-1},
|
||||
m_lockTxFreq {false},
|
||||
m_holdTxFreq {false},
|
||||
m_bShMsgs {false},
|
||||
m_bSWL {false},
|
||||
m_uploading {false},
|
||||
@ -818,7 +818,6 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
morse_(const_cast<char *> (m_config.my_callsign ().toLatin1().constData()),
|
||||
const_cast<int *> (icw), &m_ncw, m_config.my_callsign ().length());
|
||||
on_actionWide_Waterfall_triggered();
|
||||
m_wideGraph->setLockTxFreq(m_lockTxFreq);
|
||||
ui->cbShMsgs->setChecked(m_bShMsgs);
|
||||
ui->cbSWL->setChecked(m_bSWL);
|
||||
if(m_bFast9) m_bFastMode=true;
|
||||
@ -849,8 +848,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
ui->sbTxPercent->setValue(m_pctx);
|
||||
ui->TxPowerComboBox->setCurrentIndex(int(0.3*(m_dBm + 30.0)+0.2));
|
||||
ui->cbUploadWSPR_Spots->setChecked(m_uploadSpots);
|
||||
ui->cbTxLock->setChecked(m_lockTxFreq);
|
||||
ui->TxFreqSpinBox->setEnabled(!m_lockTxFreq);
|
||||
ui->cbHoldTxFreq->setChecked(m_holdTxFreq);
|
||||
if((m_ndepth&7)==1) ui->actionQuickDecode->setChecked(true);
|
||||
if((m_ndepth&7)==2) ui->actionMediumDecode->setChecked(true);
|
||||
if((m_ndepth&7)==3) ui->actionDeepestDecode->setChecked(true);
|
||||
@ -1002,7 +1000,7 @@ void MainWindow::writeSettings()
|
||||
m_settings->setValue("NoSuffix",m_noSuffix);
|
||||
m_settings->setValue("GUItab",ui->tabWidget->currentIndex());
|
||||
m_settings->setValue("OutBufSize",outBufSize);
|
||||
m_settings->setValue("LockTxFreq",m_lockTxFreq);
|
||||
m_settings->setValue("HoldTxFreq",m_holdTxFreq);
|
||||
m_settings->setValue("PctTx",m_pctx);
|
||||
m_settings->setValue("dBm",m_dBm);
|
||||
m_settings->setValue ("WSPRPreferType1", ui->WSPR_prefer_type_1_check_box->isChecked ());
|
||||
@ -1091,7 +1089,7 @@ void MainWindow::readSettings()
|
||||
int n=m_settings->value("GUItab",0).toInt();
|
||||
ui->tabWidget->setCurrentIndex(n);
|
||||
outBufSize=m_settings->value("OutBufSize",4096).toInt();
|
||||
m_lockTxFreq=m_settings->value("LockTxFreq",false).toBool();
|
||||
m_holdTxFreq=m_settings->value("HoldTxFreq",false).toBool();
|
||||
m_pwrBandTxMemory=m_settings->value("pwrBandTxMemory").toHash();
|
||||
m_pwrBandTuneMemory=m_settings->value("pwrBandTuneMemory").toHash();
|
||||
ui->actionEnable_AP->setChecked (m_settings->value ("FT8AP", false).toBool());
|
||||
@ -1732,7 +1730,7 @@ void MainWindow::keyPressEvent (QKeyEvent * e)
|
||||
n=11;
|
||||
if(e->modifiers() & Qt::ControlModifier) n+=100;
|
||||
if(e->modifiers() & Qt::ShiftModifier) {
|
||||
if(ui->TxFreqSpinBox->isEnabled()) ui->TxFreqSpinBox->setValue(ui->TxFreqSpinBox->value()-60);
|
||||
ui->TxFreqSpinBox->setValue(ui->TxFreqSpinBox->value()-60);
|
||||
} else{
|
||||
bumpFqso(n);
|
||||
}
|
||||
@ -1741,7 +1739,7 @@ void MainWindow::keyPressEvent (QKeyEvent * e)
|
||||
n=12;
|
||||
if(e->modifiers() & Qt::ControlModifier) n+=100;
|
||||
if(e->modifiers() & Qt::ShiftModifier) {
|
||||
if(ui->TxFreqSpinBox->isEnabled()) ui->TxFreqSpinBox->setValue(ui->TxFreqSpinBox->value()+60);
|
||||
ui->TxFreqSpinBox->setValue(ui->TxFreqSpinBox->value()+60);
|
||||
} else {
|
||||
bumpFqso(n);
|
||||
}
|
||||
@ -1819,7 +1817,7 @@ void MainWindow::bumpFqso(int n) //bumpFqso()
|
||||
if(ctrl and m_mode.startsWith ("WSPR")) {
|
||||
ui->WSPRfreqSpinBox->setValue(i);
|
||||
} else {
|
||||
if(ctrl && ui->TxFreqSpinBox->isEnabled ()) {
|
||||
if(ctrl) {
|
||||
ui->TxFreqSpinBox->setValue (i);
|
||||
}
|
||||
}
|
||||
@ -3750,9 +3748,9 @@ void MainWindow::processMessage(DecodedText const& message, bool shift, bool ctr
|
||||
//Skip the rest if no decoded text extracted
|
||||
int frequency = message.frequencyOffset();
|
||||
if (message.isTX()) {
|
||||
if (!m_config.enable_VHF_features() && ui->TxFreqSpinBox->isEnabled()) {
|
||||
if (!m_config.enable_VHF_features()) {
|
||||
if(!shift) ui->RxFreqSpinBox->setValue(frequency); //Set Rx freq
|
||||
if(ctrl or shift) ui->TxFreqSpinBox->setValue(frequency); //Set Tx freq
|
||||
if((ctrl or shift) and !m_holdTxFreq) ui->TxFreqSpinBox->setValue(frequency); //Set Tx freq
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -3839,10 +3837,9 @@ void MainWindow::processMessage(DecodedText const& message, bool shift, bool ctr
|
||||
&& firstcall != m_config.my_callsign () && firstcall != m_baseCall
|
||||
&& firstcall != "DE")
|
||||
|| "CQ" == firstcall || "QRZ" == firstcall || ctrl || shift) {
|
||||
if (ui->TxFreqSpinBox->isEnabled()) {
|
||||
if(ctrl or shift or m_config.default_simplex()) ui->TxFreqSpinBox->setValue(frequency);
|
||||
} else if(m_mode != "JT4" && m_mode != "JT65" && !m_mode.startsWith ("JT9") &&
|
||||
m_mode != "QRA64" && m_mode!="FT8") {
|
||||
if (!m_holdTxFreq or shift or ctrl) ui->TxFreqSpinBox->setValue(frequency);
|
||||
if(m_mode != "JT4" && m_mode != "JT65" && !m_mode.startsWith ("JT9") &&
|
||||
m_mode != "QRA64" && m_mode!="FT8") {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -4627,8 +4624,8 @@ void MainWindow::displayWidgets(int n)
|
||||
if(i==11) ui->pbTxMode->setVisible(b);
|
||||
if(i==12) ui->pbR2T->setVisible(b);
|
||||
if(i==13) ui->pbT2R->setVisible(b);
|
||||
if(i==14) ui->cbTxLock->setVisible(b);
|
||||
if(i==14 and (!b)) ui->cbTxLock->setChecked(false);
|
||||
if(i==14) ui->cbHoldTxFreq->setVisible(b);
|
||||
if(i==14 and (!b)) ui->cbHoldTxFreq->setChecked(false);
|
||||
if(i==15) ui->sbSubmode->setVisible(b);
|
||||
if(i==16) ui->syncSpinBox->setVisible(b);
|
||||
if(i==17) ui->WSPR_controls_widget->setVisible(b);
|
||||
@ -5171,7 +5168,7 @@ void MainWindow::fast_config(bool b)
|
||||
void MainWindow::on_TxFreqSpinBox_valueChanged(int n)
|
||||
{
|
||||
m_wideGraph->setTxFreq(n);
|
||||
// if(m_lockTxFreq) ui->RxFreqSpinBox->setValue(n);
|
||||
// if(m_holdTxFreq) ui->RxFreqSpinBox->setValue(n);
|
||||
if(m_mode!="MSK144") {
|
||||
Q_EMIT transmitFrequency (n - m_XIT);
|
||||
}
|
||||
@ -5544,7 +5541,7 @@ void MainWindow::rigOpen ()
|
||||
|
||||
void MainWindow::on_pbR2T_clicked()
|
||||
{
|
||||
if (ui->TxFreqSpinBox->isEnabled ()) ui->TxFreqSpinBox->setValue(ui->RxFreqSpinBox->value ());
|
||||
ui->TxFreqSpinBox->setValue(ui->RxFreqSpinBox->value ());
|
||||
}
|
||||
|
||||
void MainWindow::on_pbT2R_clicked()
|
||||
@ -5641,11 +5638,9 @@ void MainWindow::setFreq4(int rxFreq, int txFreq)
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::on_cbTxLock_clicked(bool checked)
|
||||
void MainWindow::on_cbHoldTxFreq_clicked(bool checked)
|
||||
{
|
||||
m_lockTxFreq=checked;
|
||||
m_wideGraph->setLockTxFreq(m_lockTxFreq);
|
||||
ui->TxFreqSpinBox->setEnabled(!m_lockTxFreq);
|
||||
m_holdTxFreq=checked;
|
||||
}
|
||||
|
||||
void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const& s)
|
||||
@ -5992,7 +5987,7 @@ void MainWindow::transmitDisplay (bool transmitting)
|
||||
|
||||
auto QSY_allowed = !transmitting or m_config.tx_QSY_allowed () or
|
||||
!m_config.split_mode ();
|
||||
if (ui->cbTxLock->isChecked ()) {
|
||||
if (ui->cbHoldTxFreq->isChecked ()) {
|
||||
ui->RxFreqSpinBox->setEnabled (QSY_allowed);
|
||||
ui->pbT2R->setEnabled (QSY_allowed);
|
||||
}
|
||||
@ -6003,12 +5998,12 @@ void MainWindow::transmitDisplay (bool transmitting)
|
||||
// used fixed 1000Hz Tx DF for VHF & up QSO modes
|
||||
// ui->TxFreqSpinBox->setValue(1000);
|
||||
// ui->TxFreqSpinBox->setEnabled (false);
|
||||
ui->TxFreqSpinBox->setEnabled (!ui->cbTxLock->isChecked());
|
||||
ui->TxFreqSpinBox->setEnabled (true);
|
||||
//###
|
||||
} else {
|
||||
ui->TxFreqSpinBox->setEnabled (QSY_allowed and !m_bFastMode and !ui->cbTxLock->isChecked());
|
||||
ui->TxFreqSpinBox->setEnabled (QSY_allowed and !m_bFastMode and !ui->cbHoldTxFreq->isChecked());
|
||||
ui->pbR2T->setEnabled (QSY_allowed);
|
||||
ui->cbTxLock->setEnabled (QSY_allowed);
|
||||
ui->cbHoldTxFreq->setEnabled (QSY_allowed);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -225,7 +225,7 @@ private slots:
|
||||
void on_readFreq_clicked();
|
||||
void on_pbTxMode_clicked();
|
||||
void on_RxFreqSpinBox_valueChanged(int n);
|
||||
void on_cbTxLock_clicked(bool checked);
|
||||
void on_cbHoldTxFreq_clicked(bool checked);
|
||||
void on_outAttenuation_valueChanged (int);
|
||||
void rigOpen ();
|
||||
void handle_transceiver_update (Transceiver::TransceiverState const&);
|
||||
@ -429,7 +429,7 @@ private:
|
||||
QString m_currentMessage;
|
||||
int m_lastMessageType;
|
||||
QString m_lastMessageSent;
|
||||
bool m_lockTxFreq;
|
||||
bool m_holdTxFreq;
|
||||
bool m_bShMsgs;
|
||||
bool m_bSWL;
|
||||
bool m_uploadSpots;
|
||||
|
@ -798,12 +798,12 @@ QLabel[oob="true"] {
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbTxLock">
|
||||
<widget class="QCheckBox" name="cbHoldTxFreq">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Tx frequency tracks Rx frequency. </p><p>Not recommended for general use!</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Lock Tx Freq</string>
|
||||
<string>Hold Tx Freq</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -3018,7 +3018,7 @@ QPushButton[state="ok"] {
|
||||
<tabstop>pbTxMode</tabstop>
|
||||
<tabstop>pbR2T</tabstop>
|
||||
<tabstop>pbT2R</tabstop>
|
||||
<tabstop>cbTxLock</tabstop>
|
||||
<tabstop>cbHoldTxFreq</tabstop>
|
||||
<tabstop>sbSubmode</tabstop>
|
||||
<tabstop>syncSpinBox</tabstop>
|
||||
<tabstop>tabWidget</tabstop>
|
||||
|
@ -639,11 +639,10 @@ void CPlotter::mousePressEvent(QMouseEvent *event) //mousePressEvent
|
||||
int newFreq = int(FreqfromX(x)+0.5);
|
||||
int oldTxFreq = m_txFreq;
|
||||
int oldRxFreq = m_rxFreq;
|
||||
|
||||
if (ctrl and !m_lockTxFreq) {
|
||||
if (ctrl) {
|
||||
emit setFreq1 (newFreq, newFreq);
|
||||
} else if (shift) {
|
||||
if(!m_lockTxFreq) emit setFreq1 (oldRxFreq, newFreq);
|
||||
emit setFreq1 (oldRxFreq, newFreq);
|
||||
} else {
|
||||
emit setFreq1(newFreq,oldTxFreq);
|
||||
}
|
||||
|
@ -75,7 +75,6 @@ public:
|
||||
void setBreadth(qint32 w) {m_w = w;}
|
||||
qint32 breadth() const {return m_w;}
|
||||
float fSpan() const {return m_fSpan;}
|
||||
void setLockTxFreq(bool b) {m_lockTxFreq = b;}
|
||||
void setColours(QVector<QColor> const& cl);
|
||||
void setFlatten(bool b1, bool b2);
|
||||
void setTol(int n);
|
||||
@ -106,7 +105,6 @@ private:
|
||||
bool m_bLinearAvg;
|
||||
bool m_bReference;
|
||||
bool m_bReference0;
|
||||
bool m_lockTxFreq;
|
||||
bool m_bVHF;
|
||||
|
||||
float m_fSpan;
|
||||
|
@ -22,7 +22,6 @@ WideGraph::WideGraph(QSettings * settings, QWidget *parent) :
|
||||
m_settings (settings),
|
||||
m_palettes_path {":/Palettes"},
|
||||
m_ntr0 {0},
|
||||
m_lockTxFreq {false},
|
||||
m_bHaveTransmitted {false},
|
||||
m_n {0}
|
||||
{
|
||||
@ -230,7 +229,6 @@ void WideGraph::setRxFreq(int n) //set
|
||||
{
|
||||
ui->widePlot->setRxFreq(n);
|
||||
ui->widePlot->draw(swide,false,false);
|
||||
// if(m_lockTxFreq) setTxFreq(n);
|
||||
}
|
||||
|
||||
int WideGraph::rxFreq() //rxFreq
|
||||
@ -333,12 +331,6 @@ void WideGraph::on_fSplitSpinBox_valueChanged(int n) //fSplit
|
||||
setRxRange ();
|
||||
}
|
||||
|
||||
void WideGraph::setLockTxFreq(bool b) //LockTxFreq
|
||||
{
|
||||
m_lockTxFreq=b;
|
||||
ui->widePlot->setLockTxFreq(b);
|
||||
}
|
||||
|
||||
void WideGraph::setFreq2(int rxFreq, int txFreq) //setFreq2
|
||||
{
|
||||
emit setFreq3(rxFreq,txFreq);
|
||||
|
@ -40,7 +40,6 @@ public:
|
||||
void setMode(QString mode);
|
||||
void setSubMode(int n);
|
||||
void setModeTx(QString modeTx);
|
||||
void setLockTxFreq(bool b);
|
||||
bool flatten();
|
||||
bool useRef();
|
||||
void setTol(int n);
|
||||
@ -104,7 +103,6 @@ private:
|
||||
qint32 m_nSubMode;
|
||||
qint32 m_nsmo;
|
||||
qint32 m_Percent2DScreen;
|
||||
bool m_lockTxFreq;
|
||||
bool m_bFlatten;
|
||||
bool m_bRef;
|
||||
bool m_bHaveTransmitted; //Set true at end of a WSPR transmission
|
||||
|
Loading…
Reference in New Issue
Block a user