Added configuration options to style transmit and receive text
This commit is contained in:
parent
b0937ffe18
commit
775008be48
@ -433,7 +433,6 @@ private:
|
|||||||
void insert_station ();
|
void insert_station ();
|
||||||
|
|
||||||
Q_SLOT void on_font_push_button_clicked ();
|
Q_SLOT void on_font_push_button_clicked ();
|
||||||
Q_SLOT void on_decoded_text_font_push_button_clicked ();
|
|
||||||
Q_SLOT void on_PTT_port_combo_box_activated (int);
|
Q_SLOT void on_PTT_port_combo_box_activated (int);
|
||||||
Q_SLOT void on_CAT_port_combo_box_activated (int);
|
Q_SLOT void on_CAT_port_combo_box_activated (int);
|
||||||
Q_SLOT void on_CAT_serial_baud_combo_box_currentIndexChanged (int);
|
Q_SLOT void on_CAT_serial_baud_combo_box_currentIndexChanged (int);
|
||||||
@ -467,9 +466,13 @@ private:
|
|||||||
Q_SLOT void handle_transceiver_failure (QString const& reason);
|
Q_SLOT void handle_transceiver_failure (QString const& reason);
|
||||||
Q_SLOT void on_pbCQmsg_clicked();
|
Q_SLOT void on_pbCQmsg_clicked();
|
||||||
Q_SLOT void on_pbMyCall_clicked();
|
Q_SLOT void on_pbMyCall_clicked();
|
||||||
Q_SLOT void on_pbTxMsg_clicked();
|
Q_SLOT void on_rxBackgroundButton_clicked();
|
||||||
Q_SLOT void on_pbNewDXCC_clicked();
|
Q_SLOT void on_rxForegroundButton_clicked();
|
||||||
Q_SLOT void on_pbNewCall_clicked();
|
Q_SLOT void on_rxFontButton_clicked();
|
||||||
|
Q_SLOT void on_txBackgroundButton_clicked();
|
||||||
|
Q_SLOT void on_txForegroundButton_clicked();
|
||||||
|
Q_SLOT void on_txFontButton_clicked();
|
||||||
|
|
||||||
Q_SLOT void on_cbFox_clicked (bool);
|
Q_SLOT void on_cbFox_clicked (bool);
|
||||||
Q_SLOT void on_cbHound_clicked (bool);
|
Q_SLOT void on_cbHound_clicked (bool);
|
||||||
Q_SLOT void on_cbx2ToneSpacing_clicked(bool);
|
Q_SLOT void on_cbx2ToneSpacing_clicked(bool);
|
||||||
@ -503,8 +506,11 @@ private:
|
|||||||
QFont font_;
|
QFont font_;
|
||||||
QFont next_font_;
|
QFont next_font_;
|
||||||
|
|
||||||
QFont decoded_text_font_;
|
QFont rx_text_font_;
|
||||||
QFont next_decoded_text_font_;
|
QFont next_rx_text_font_;
|
||||||
|
|
||||||
|
QFont tx_text_font_;
|
||||||
|
QFont next_tx_text_font_;
|
||||||
|
|
||||||
bool restart_sound_input_device_;
|
bool restart_sound_input_device_;
|
||||||
bool restart_sound_output_device_;
|
bool restart_sound_output_device_;
|
||||||
@ -561,12 +567,18 @@ private:
|
|||||||
QString reply_;
|
QString reply_;
|
||||||
int callsign_aging_;
|
int callsign_aging_;
|
||||||
int activity_aging_;
|
int activity_aging_;
|
||||||
QColor color_CQ_;
|
QColor color_cq_;
|
||||||
QColor next_color_CQ_;
|
QColor next_color_cq_;
|
||||||
QColor color_MyCall_;
|
QColor color_mycall_;
|
||||||
QColor next_color_MyCall_;
|
QColor next_color_mycall_;
|
||||||
QColor color_ReceivedMsg_;
|
QColor color_rx_background_;
|
||||||
QColor next_color_ReceivedMsg_;
|
QColor next_color_rx_background_;
|
||||||
|
QColor color_rx_foreground_;
|
||||||
|
QColor next_color_rx_foreground_;
|
||||||
|
QColor color_tx_background_;
|
||||||
|
QColor next_color_tx_background_;
|
||||||
|
QColor color_tx_foreground_;
|
||||||
|
QColor next_color_tx_foreground_;
|
||||||
QColor color_DXCC_;
|
QColor color_DXCC_;
|
||||||
QColor next_color_DXCC_;
|
QColor next_color_DXCC_;
|
||||||
QColor color_NewCall_;
|
QColor color_NewCall_;
|
||||||
@ -671,13 +683,17 @@ bool Configuration::restart_audio_output () const {return m_->restart_sound_outp
|
|||||||
auto Configuration::type_2_msg_gen () const -> Type2MsgGen {return m_->type_2_msg_gen_;}
|
auto Configuration::type_2_msg_gen () const -> Type2MsgGen {return m_->type_2_msg_gen_;}
|
||||||
bool Configuration::use_dynamic_grid() const {return m_->use_dynamic_info_; }
|
bool Configuration::use_dynamic_grid() const {return m_->use_dynamic_info_; }
|
||||||
QString Configuration::my_callsign () const {return m_->my_callsign_;}
|
QString Configuration::my_callsign () const {return m_->my_callsign_;}
|
||||||
QColor Configuration::color_CQ () const {return m_->color_CQ_;}
|
QColor Configuration::color_CQ () const {return m_->color_cq_;}
|
||||||
QColor Configuration::color_MyCall () const {return m_->color_MyCall_;}
|
QColor Configuration::color_MyCall () const {return m_->color_mycall_;}
|
||||||
QColor Configuration::color_ReceivedMsg () const {return m_->color_ReceivedMsg_;}
|
QColor Configuration::color_rx_background () const {return m_->color_rx_background_;}
|
||||||
|
QColor Configuration::color_rx_foreground () const {return m_->color_rx_foreground_;}
|
||||||
|
QColor Configuration::color_tx_background () const {return m_->color_tx_background_;}
|
||||||
|
QColor Configuration::color_tx_foreground () const {return m_->color_tx_foreground_;}
|
||||||
QColor Configuration::color_DXCC () const {return m_->color_DXCC_;}
|
QColor Configuration::color_DXCC () const {return m_->color_DXCC_;}
|
||||||
QColor Configuration::color_NewCall () const {return m_->color_NewCall_;}
|
QColor Configuration::color_NewCall () const {return m_->color_NewCall_;}
|
||||||
QFont Configuration::text_font () const {return m_->font_;}
|
QFont Configuration::text_font () const {return m_->font_;}
|
||||||
QFont Configuration::decoded_text_font () const {return m_->decoded_text_font_;}
|
QFont Configuration::rx_text_font () const {return m_->rx_text_font_;}
|
||||||
|
QFont Configuration::tx_text_font () const {return m_->tx_text_font_;}
|
||||||
qint32 Configuration::id_interval () const {return m_->id_interval_;}
|
qint32 Configuration::id_interval () const {return m_->id_interval_;}
|
||||||
qint32 Configuration::ntrials() const {return m_->ntrials_;}
|
qint32 Configuration::ntrials() const {return m_->ntrials_;}
|
||||||
qint32 Configuration::aggressive() const {return m_->aggressive_;}
|
qint32 Configuration::aggressive() const {return m_->aggressive_;}
|
||||||
@ -1244,11 +1260,14 @@ void Configuration::impl::initialize_models ()
|
|||||||
ui_->cq_message_line_edit->setText(cq_.toUpper());
|
ui_->cq_message_line_edit->setText(cq_.toUpper());
|
||||||
ui_->reply_message_line_edit->setText (reply_.toUpper());
|
ui_->reply_message_line_edit->setText (reply_.toUpper());
|
||||||
ui_->use_dynamic_grid->setChecked(use_dynamic_info_);
|
ui_->use_dynamic_grid->setChecked(use_dynamic_info_);
|
||||||
ui_->labCQ->setStyleSheet(QString("background: %1").arg(color_CQ_.name()));
|
ui_->labCQ->setStyleSheet(QString("background: %1").arg(color_cq_.name()));
|
||||||
ui_->labMyCall->setStyleSheet(QString("background: %1").arg(color_MyCall_.name()));
|
ui_->labMyCall->setStyleSheet(QString("background: %1").arg(color_mycall_.name()));
|
||||||
ui_->labTx->setStyleSheet(QString("background: %1").arg(color_ReceivedMsg_.name()));
|
|
||||||
ui_->labDXCC->setStyleSheet(QString("background: %1").arg(color_DXCC_.name()));
|
ui_->rxLabel->setStyleSheet(QString("background: %1").arg(color_rx_background_.name()));
|
||||||
ui_->labNewCall->setStyleSheet(QString("background: %1").arg(color_NewCall_.name()));
|
ui_->txLabel->setStyleSheet(QString("background: %1").arg(color_tx_background_.name()));
|
||||||
|
ui_->rxForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(color_rx_background_.name()).arg(color_rx_foreground_.name()));
|
||||||
|
ui_->txForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(color_rx_background_.name()).arg(color_tx_foreground_.name()));
|
||||||
|
|
||||||
ui_->CW_id_interval_spin_box->setValue (id_interval_);
|
ui_->CW_id_interval_spin_box->setValue (id_interval_);
|
||||||
ui_->sbNtrials->setValue (ntrials_);
|
ui_->sbNtrials->setValue (ntrials_);
|
||||||
ui_->sbTxDelay->setValue (txDelay_);
|
ui_->sbTxDelay->setValue (txDelay_);
|
||||||
@ -1376,9 +1395,12 @@ void Configuration::impl::read_settings ()
|
|||||||
my_qth_ = settings_->value("MyQTH", QString {}).toString();
|
my_qth_ = settings_->value("MyQTH", QString {}).toString();
|
||||||
cq_ = settings_->value("CQMessage", QString {"CQCQCQ"}).toString();
|
cq_ = settings_->value("CQMessage", QString {"CQCQCQ"}).toString();
|
||||||
reply_ = settings_->value("Reply", QString {"HW CPY?"}).toString();
|
reply_ = settings_->value("Reply", QString {"HW CPY?"}).toString();
|
||||||
next_color_CQ_ = color_CQ_ = settings_->value("colorCQ","#66ff66").toString();
|
next_color_cq_ = color_cq_ = settings_->value("colorCQ","#66ff66").toString();
|
||||||
next_color_MyCall_ = color_MyCall_ = settings_->value("colorMyCall","#ff6666").toString();
|
next_color_mycall_ = color_mycall_ = settings_->value("colorMyCall","#ff6666").toString();
|
||||||
next_color_ReceivedMsg_ = color_ReceivedMsg_ = settings_->value("colorReceivedMsg","#ffeaa7").toString();
|
next_color_rx_background_ = color_rx_background_ = settings_->value("color_rx_background","#ffeaa7").toString();
|
||||||
|
next_color_rx_foreground_ = color_rx_foreground_ = settings_->value("color_rx_foreground","#000000").toString();
|
||||||
|
next_color_tx_background_ = color_tx_background_ = settings_->value("color_tx_background","#ffffff").toString();
|
||||||
|
next_color_tx_foreground_ = color_tx_foreground_ = settings_->value("color_tx_foreground","#000000").toString();
|
||||||
next_color_DXCC_ = color_DXCC_ = settings_->value("colorDXCC","#ff00ff").toString();
|
next_color_DXCC_ = color_DXCC_ = settings_->value("colorDXCC","#ff00ff").toString();
|
||||||
next_color_NewCall_ = color_NewCall_ = settings_->value("colorNewCall","#ffaaff").toString();
|
next_color_NewCall_ = color_NewCall_ = settings_->value("colorNewCall","#ffaaff").toString();
|
||||||
|
|
||||||
@ -1386,23 +1408,39 @@ void Configuration::impl::read_settings ()
|
|||||||
&& next_font_ != font_)
|
&& next_font_ != font_)
|
||||||
{
|
{
|
||||||
font_ = next_font_;
|
font_ = next_font_;
|
||||||
Q_EMIT self_->text_font_changed (font_);
|
Q_EMIT self_->gui_text_font_changed (font_);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
next_font_ = font_;
|
next_font_ = font_;
|
||||||
}
|
}
|
||||||
if (next_decoded_text_font_.fromString (settings_->value ("DecodedTextFont", "Courier, 10").toString ())
|
|
||||||
&& next_decoded_text_font_ != decoded_text_font_)
|
if (next_tx_text_font_.fromString (settings_->value ("TXTextFont", QGuiApplication::font ().toString ()).toString ())
|
||||||
|
&& next_tx_text_font_ != tx_text_font_)
|
||||||
{
|
{
|
||||||
decoded_text_font_ = next_decoded_text_font_;
|
tx_text_font_ = next_tx_text_font_;
|
||||||
Q_EMIT self_->decoded_text_font_changed (decoded_text_font_);
|
Q_EMIT self_->tx_text_font_changed (tx_text_font_);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
next_decoded_text_font_ = decoded_text_font_;
|
next_tx_text_font_ = tx_text_font_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui_->txFontButton->setText(QString("Font (%1 %2)").arg(next_tx_text_font_.family()).arg(next_tx_text_font_.pointSize()));
|
||||||
|
|
||||||
|
if (next_rx_text_font_.fromString (settings_->value ("RXTextFont", QGuiApplication::font ().toString ()).toString ())
|
||||||
|
&& next_rx_text_font_ != rx_text_font_)
|
||||||
|
{
|
||||||
|
rx_text_font_ = next_rx_text_font_;
|
||||||
|
Q_EMIT self_->rx_text_font_changed (rx_text_font_);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
next_rx_text_font_ = rx_text_font_;
|
||||||
|
}
|
||||||
|
|
||||||
|
ui_->rxFontButton->setText(QString("Font (%1 %2)").arg(next_rx_text_font_.family()).arg(next_rx_text_font_.pointSize()));
|
||||||
|
|
||||||
id_interval_ = settings_->value ("IDint", 0).toInt ();
|
id_interval_ = settings_->value ("IDint", 0).toInt ();
|
||||||
ntrials_ = settings_->value ("nTrials", 6).toInt ();
|
ntrials_ = settings_->value ("nTrials", 6).toInt ();
|
||||||
txDelay_ = settings_->value ("TxDelay",0.2).toDouble();
|
txDelay_ = settings_->value ("TxDelay",0.2).toDouble();
|
||||||
@ -1575,13 +1613,17 @@ void Configuration::impl::write_settings ()
|
|||||||
settings_->setValue ("Reply", reply_);
|
settings_->setValue ("Reply", reply_);
|
||||||
settings_->setValue ("CallsignAging", callsign_aging_);
|
settings_->setValue ("CallsignAging", callsign_aging_);
|
||||||
settings_->setValue ("ActivityAging", activity_aging_);
|
settings_->setValue ("ActivityAging", activity_aging_);
|
||||||
settings_->setValue("colorCQ",color_CQ_);
|
settings_->setValue("colorCQ",color_cq_);
|
||||||
settings_->setValue("colorMyCall",color_MyCall_);
|
settings_->setValue("colorMyCall",color_mycall_);
|
||||||
settings_->setValue("colorReceivedMsg",color_ReceivedMsg_);
|
settings_->setValue("color_rx_background",color_rx_background_);
|
||||||
|
settings_->setValue("color_rx_foreground",color_rx_foreground_);
|
||||||
|
settings_->setValue("color_tx_background",color_tx_background_);
|
||||||
|
settings_->setValue("color_tx_foreground",color_tx_foreground_);
|
||||||
settings_->setValue("colorDXCC",color_DXCC_);
|
settings_->setValue("colorDXCC",color_DXCC_);
|
||||||
settings_->setValue("colorNewCall",color_NewCall_);
|
settings_->setValue("colorNewCall",color_NewCall_);
|
||||||
settings_->setValue ("Font", font_.toString ());
|
settings_->setValue ("Font", font_.toString ());
|
||||||
settings_->setValue ("DecodedTextFont", decoded_text_font_.toString ());
|
settings_->setValue ("RXTextFont", rx_text_font_.toString ());
|
||||||
|
settings_->setValue ("TXTextFont", tx_text_font_.toString ());
|
||||||
settings_->setValue ("IDint", id_interval_);
|
settings_->setValue ("IDint", id_interval_);
|
||||||
settings_->setValue ("nTrials", ntrials_);
|
settings_->setValue ("nTrials", ntrials_);
|
||||||
settings_->setValue ("TxDelay", txDelay_);
|
settings_->setValue ("TxDelay", txDelay_);
|
||||||
@ -1937,18 +1979,27 @@ void Configuration::impl::accept ()
|
|||||||
if (next_font_ != font_)
|
if (next_font_ != font_)
|
||||||
{
|
{
|
||||||
font_ = next_font_;
|
font_ = next_font_;
|
||||||
Q_EMIT self_->text_font_changed (font_);
|
Q_EMIT self_->gui_text_font_changed (font_);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (next_decoded_text_font_ != decoded_text_font_)
|
if (next_tx_text_font_ != tx_text_font_)
|
||||||
{
|
{
|
||||||
decoded_text_font_ = next_decoded_text_font_;
|
tx_text_font_ = next_tx_text_font_;
|
||||||
Q_EMIT self_->decoded_text_font_changed (decoded_text_font_);
|
Q_EMIT self_->tx_text_font_changed (tx_text_font_);
|
||||||
}
|
}
|
||||||
|
|
||||||
color_CQ_ = next_color_CQ_;
|
if (next_rx_text_font_ != rx_text_font_)
|
||||||
color_MyCall_ = next_color_MyCall_;
|
{
|
||||||
color_ReceivedMsg_ = next_color_ReceivedMsg_;
|
rx_text_font_ = next_rx_text_font_;
|
||||||
|
Q_EMIT self_->rx_text_font_changed (rx_text_font_);
|
||||||
|
}
|
||||||
|
|
||||||
|
color_cq_ = next_color_cq_;
|
||||||
|
color_mycall_ = next_color_mycall_;
|
||||||
|
color_rx_background_ = next_color_rx_background_;
|
||||||
|
color_rx_foreground_ = next_color_rx_foreground_;
|
||||||
|
color_tx_background_ = next_color_tx_background_;
|
||||||
|
color_tx_foreground_ = next_color_tx_foreground_;
|
||||||
color_DXCC_ = next_color_DXCC_;
|
color_DXCC_ = next_color_DXCC_;
|
||||||
color_NewCall_ = next_color_NewCall_;
|
color_NewCall_ = next_color_NewCall_;
|
||||||
|
|
||||||
@ -2176,64 +2227,115 @@ void Configuration::impl::on_font_push_button_clicked ()
|
|||||||
next_font_ = QFontDialog::getFont (0, next_font_, this);
|
next_font_ = QFontDialog::getFont (0, next_font_, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QColor getColor(QColor initial, QWidget *parent, QString title){
|
||||||
|
QList<QColor> custom = {
|
||||||
|
QColor("#66FF66"),
|
||||||
|
QColor("#FF6666"),
|
||||||
|
QColor("#FFEAA7")
|
||||||
|
};
|
||||||
|
|
||||||
|
auto d = new QColorDialog(initial, parent);
|
||||||
|
d->setWindowTitle(title);
|
||||||
|
for(int i = 0; i < custom.length(); i++){
|
||||||
|
d->setCustomColor(i, custom.at(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(d->exec() == QColorDialog::Accepted){
|
||||||
|
return d->selectedColor();
|
||||||
|
} else {
|
||||||
|
return initial;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Configuration::impl::on_pbCQmsg_clicked()
|
void Configuration::impl::on_pbCQmsg_clicked()
|
||||||
{
|
{
|
||||||
auto new_color = QColorDialog::getColor(next_color_CQ_, this, "CQ and BEACON Messages Color");
|
auto new_color = getColor(next_color_cq_, this, "CQ Messages Color");
|
||||||
if (new_color.isValid ())
|
if (new_color.isValid ())
|
||||||
{
|
{
|
||||||
next_color_CQ_ = new_color;
|
next_color_cq_ = new_color;
|
||||||
ui_->labCQ->setStyleSheet(QString("background: %1").arg(next_color_CQ_.name()));
|
ui_->labCQ->setStyleSheet(QString("background: %1").arg(next_color_cq_.name()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Configuration::impl::on_pbMyCall_clicked()
|
void Configuration::impl::on_pbMyCall_clicked()
|
||||||
{
|
{
|
||||||
auto new_color = QColorDialog::getColor(next_color_MyCall_, this, "Directed Messages Color");
|
auto new_color = getColor(next_color_mycall_, this, "Directed Messages Color");
|
||||||
if (new_color.isValid ())
|
if (new_color.isValid ())
|
||||||
{
|
{
|
||||||
next_color_MyCall_ = new_color;
|
next_color_mycall_ = new_color;
|
||||||
ui_->labMyCall->setStyleSheet(QString("background: %1").arg(next_color_MyCall_.name()));
|
ui_->labMyCall->setStyleSheet(QString("background: %1").arg(next_color_mycall_.name()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Configuration::impl::on_pbTxMsg_clicked()
|
void Configuration::impl::on_rxBackgroundButton_clicked()
|
||||||
{
|
{
|
||||||
auto new_color = QColorDialog::getColor(next_color_ReceivedMsg_, this, "Received Messages Textarea Color");
|
auto new_color = getColor(next_color_rx_background_, this, "Received Messages Background Color");
|
||||||
if (new_color.isValid ())
|
if (new_color.isValid ())
|
||||||
{
|
{
|
||||||
next_color_ReceivedMsg_ = new_color;
|
next_color_rx_background_ = new_color;
|
||||||
ui_->labTx->setStyleSheet(QString("background: %1").arg(next_color_ReceivedMsg_.name()));
|
ui_->rxLabel->setStyleSheet(QString("background: %1").arg(next_color_rx_background_.name()));
|
||||||
|
ui_->rxForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(next_color_rx_background_.name()).arg(next_color_rx_foreground_.name()));
|
||||||
|
ui_->txForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(next_color_rx_background_.name()).arg(next_color_tx_foreground_.name()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Configuration::impl::on_pbNewDXCC_clicked()
|
void Configuration::impl::on_rxForegroundButton_clicked()
|
||||||
{
|
{
|
||||||
auto new_color = QColorDialog::getColor(next_color_DXCC_, this, "New DXCC Messages Color");
|
auto new_color = getColor(next_color_rx_foreground_, this, "Received Messages Foreground Color");
|
||||||
if (new_color.isValid ())
|
if (new_color.isValid ())
|
||||||
{
|
{
|
||||||
next_color_DXCC_ = new_color;
|
next_color_rx_foreground_ = new_color;
|
||||||
ui_->labDXCC->setStyleSheet(QString("background: %1").arg(next_color_DXCC_.name()));
|
ui_->rxLabel->setStyleSheet(QString("background: %1").arg(next_color_rx_background_.name()));
|
||||||
|
ui_->rxForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(next_color_rx_background_.name()).arg(next_color_rx_foreground_.name()));
|
||||||
|
ui_->txForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(next_color_rx_background_.name()).arg(next_color_tx_foreground_.name()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Configuration::impl::on_pbNewCall_clicked()
|
void Configuration::impl::on_rxFontButton_clicked ()
|
||||||
{
|
{
|
||||||
auto new_color = QColorDialog::getColor(next_color_NewCall_, this, "New Call Messages Color");
|
next_rx_text_font_ = QFontDialog::getFont (0, rx_text_font_ , this
|
||||||
if (new_color.isValid ())
|
|
||||||
{
|
|
||||||
next_color_NewCall_ = new_color;
|
|
||||||
ui_->labNewCall->setStyleSheet(QString("background: %1").arg(next_color_NewCall_.name()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Configuration::impl::on_decoded_text_font_push_button_clicked ()
|
|
||||||
{
|
|
||||||
next_decoded_text_font_ = QFontDialog::getFont (0, decoded_text_font_ , this
|
|
||||||
, tr ("Font Chooser")
|
, tr ("Font Chooser")
|
||||||
#if QT_VERSION >= 0x050201
|
#if QT_VERSION >= 0x050201
|
||||||
, QFontDialog::MonospacedFonts
|
, 0
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
ui_->rxFontButton->setText(QString("Font (%1 %2)").arg(next_rx_text_font_.family()).arg(next_rx_text_font_.pointSize()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void Configuration::impl::on_txBackgroundButton_clicked()
|
||||||
|
{
|
||||||
|
auto new_color = getColor(next_color_tx_background_, this, "Transmitted Messages Background Color");
|
||||||
|
if (new_color.isValid ())
|
||||||
|
{
|
||||||
|
next_color_tx_background_ = new_color;
|
||||||
|
ui_->txLabel->setStyleSheet(QString("background: %1").arg(next_color_tx_background_.name()));
|
||||||
|
ui_->rxForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(next_color_rx_background_.name()).arg(next_color_rx_foreground_.name()));
|
||||||
|
ui_->txForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(next_color_rx_background_.name()).arg(next_color_tx_foreground_.name()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Configuration::impl::on_txForegroundButton_clicked()
|
||||||
|
{
|
||||||
|
auto new_color = getColor(next_color_tx_foreground_, this, "Transmitted Messages Foreground Color");
|
||||||
|
if (new_color.isValid ())
|
||||||
|
{
|
||||||
|
next_color_tx_foreground_ = new_color;
|
||||||
|
ui_->txLabel->setStyleSheet(QString("background: %1").arg(next_color_tx_background_.name()));
|
||||||
|
ui_->rxForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(next_color_rx_background_.name()).arg(next_color_rx_foreground_.name()));
|
||||||
|
ui_->txForegroundLabel->setStyleSheet(QString("background: %1; color: %2").arg(next_color_rx_background_.name()).arg(next_color_tx_foreground_.name()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Configuration::impl::on_txFontButton_clicked ()
|
||||||
|
{
|
||||||
|
next_tx_text_font_ = QFontDialog::getFont (0, tx_text_font_ , this
|
||||||
|
, tr ("Font Chooser")
|
||||||
|
#if QT_VERSION >= 0x050201
|
||||||
|
, 0
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
|
||||||
|
ui_->txFontButton->setText(QString("Font (%1 %2)").arg(next_tx_text_font_.family()).arg(next_tx_text_font_.pointSize()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Configuration::impl::on_PTT_port_combo_box_activated (int /* index */)
|
void Configuration::impl::on_PTT_port_combo_box_activated (int /* index */)
|
||||||
|
@ -104,7 +104,8 @@ public:
|
|||||||
QString cq_message () const;
|
QString cq_message () const;
|
||||||
QString reply_message () const;
|
QString reply_message () const;
|
||||||
QFont text_font () const;
|
QFont text_font () const;
|
||||||
QFont decoded_text_font () const;
|
QFont rx_text_font () const;
|
||||||
|
QFont tx_text_font () const;
|
||||||
qint32 id_interval () const;
|
qint32 id_interval () const;
|
||||||
qint32 ntrials() const;
|
qint32 ntrials() const;
|
||||||
qint32 aggressive() const;
|
qint32 aggressive() const;
|
||||||
@ -178,7 +179,10 @@ public:
|
|||||||
Type2MsgGen type_2_msg_gen () const;
|
Type2MsgGen type_2_msg_gen () const;
|
||||||
QColor color_CQ () const;
|
QColor color_CQ () const;
|
||||||
QColor color_MyCall () const;
|
QColor color_MyCall () const;
|
||||||
QColor color_ReceivedMsg () const;
|
QColor color_rx_background () const;
|
||||||
|
QColor color_rx_foreground () const;
|
||||||
|
QColor color_tx_background () const;
|
||||||
|
QColor color_tx_foreground () const;
|
||||||
QColor color_DXCC () const;
|
QColor color_DXCC () const;
|
||||||
QColor color_NewCall () const;
|
QColor color_NewCall () const;
|
||||||
bool pwrBandTxMemory () const;
|
bool pwrBandTxMemory () const;
|
||||||
@ -271,8 +275,9 @@ public:
|
|||||||
// These signals indicate a font has been selected and accepted for
|
// These signals indicate a font has been selected and accepted for
|
||||||
// the application text and decoded text respectively.
|
// the application text and decoded text respectively.
|
||||||
//
|
//
|
||||||
Q_SIGNAL void text_font_changed (QFont);
|
Q_SIGNAL void gui_text_font_changed (QFont);
|
||||||
Q_SIGNAL void decoded_text_font_changed (QFont);
|
Q_SIGNAL void tx_text_font_changed (QFont);
|
||||||
|
Q_SIGNAL void rx_text_font_changed (QFont);
|
||||||
Q_SIGNAL void colors_changed ();
|
Q_SIGNAL void colors_changed ();
|
||||||
|
|
||||||
//
|
//
|
||||||
|
1050
Configuration.ui
1050
Configuration.ui
File diff suppressed because it is too large
Load Diff
113
mainwindow.cpp
113
mainwindow.cpp
@ -65,6 +65,9 @@
|
|||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "moc_mainwindow.cpp"
|
#include "moc_mainwindow.cpp"
|
||||||
|
|
||||||
|
#define STATE_RX 1
|
||||||
|
#define STATE_TX 2
|
||||||
|
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
//----------------------------------------------------- C and Fortran routines
|
//----------------------------------------------------- C and Fortran routines
|
||||||
@ -277,6 +280,52 @@ namespace
|
|||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setTextEditFont(QTextEdit *edit, QFont font){
|
||||||
|
edit->setFont(font);
|
||||||
|
edit->setFontFamily(font.family());
|
||||||
|
edit->setFontItalic(font.italic());
|
||||||
|
edit->setFontPointSize(font.pointSize());
|
||||||
|
edit->setFontUnderline(font.underline());
|
||||||
|
edit->setFontWeight(font.weight());
|
||||||
|
|
||||||
|
auto d = edit->document();
|
||||||
|
d->setDefaultFont(font);
|
||||||
|
edit->setDocument(d);
|
||||||
|
|
||||||
|
auto c = edit->textCursor();
|
||||||
|
c.select(QTextCursor::Document);
|
||||||
|
auto cf = c.blockCharFormat();
|
||||||
|
cf.setFont(font);
|
||||||
|
c.mergeBlockCharFormat(cf);
|
||||||
|
|
||||||
|
edit->updateGeometry();
|
||||||
|
}
|
||||||
|
|
||||||
|
void setTextEditBackground(QTextEdit *edit, QColor color){
|
||||||
|
edit->setStyleSheet(QString("QTextEdit{ background: %1 }").arg(color.name()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void highlightBlock(QTextBlock block, QFont font, QColor foreground, QColor background){
|
||||||
|
QTextCursor cursor(block);
|
||||||
|
|
||||||
|
// Set background color
|
||||||
|
QTextBlockFormat blockFormat = cursor.blockFormat();
|
||||||
|
blockFormat.setBackground(background);
|
||||||
|
cursor.setBlockFormat(blockFormat);
|
||||||
|
|
||||||
|
// Set font
|
||||||
|
for (QTextBlock::iterator it = cursor.block().begin(); !(it.atEnd()); ++it) {
|
||||||
|
QTextCharFormat charFormat = it.fragment().charFormat();
|
||||||
|
charFormat.setFont(font);
|
||||||
|
charFormat.setForeground(QBrush(foreground));
|
||||||
|
|
||||||
|
QTextCursor tempCursor = cursor;
|
||||||
|
tempCursor.setPosition(it.fragment().position());
|
||||||
|
tempCursor.setPosition(it.fragment().position() + it.fragment().length(), QTextCursor::KeepAnchor);
|
||||||
|
tempCursor.setCharFormat(charFormat);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------- MainWindow constructor
|
//--------------------------------------------------- MainWindow constructor
|
||||||
@ -628,14 +677,37 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
// defer initialization until after construction otherwise menu
|
// defer initialization until after construction otherwise menu
|
||||||
// fonts do not get set
|
// fonts do not get set
|
||||||
QTimer::singleShot (0, this, SLOT (initialize_fonts ()));
|
QTimer::singleShot (0, this, SLOT (initialize_fonts ()));
|
||||||
connect (&m_config, &Configuration::text_font_changed, [this] (QFont const& font) {
|
connect (&m_config, &Configuration::gui_text_font_changed, [this] (QFont const& font) {
|
||||||
set_application_font (font);
|
set_application_font (font);
|
||||||
});
|
});
|
||||||
connect (&m_config, &Configuration::decoded_text_font_changed, [this] (QFont const& font) {
|
connect (&m_config, &Configuration::rx_text_font_changed, [this] (QFont const&) {
|
||||||
setDecodedTextFont (font);
|
setTextEditFont(ui->textEditRX, m_config.rx_text_font());
|
||||||
});
|
});
|
||||||
|
connect (&m_config, &Configuration::tx_text_font_changed, [this] (QFont const&) {
|
||||||
|
setTextEditFont(ui->extFreeTextMsgEdit, m_config.tx_text_font());
|
||||||
|
});
|
||||||
connect (&m_config, &Configuration::colors_changed, [this](){
|
connect (&m_config, &Configuration::colors_changed, [this](){
|
||||||
ui->textEditRX->setStyleSheet(QString("QTextEdit{ background: %1 }").arg(m_config.color_ReceivedMsg().name()));
|
setTextEditBackground(ui->textEditRX, m_config.color_rx_background());
|
||||||
|
setTextEditBackground(ui->extFreeTextMsgEdit, m_config.color_tx_background());
|
||||||
|
|
||||||
|
// rehighlight
|
||||||
|
auto d = ui->textEditRX->document();
|
||||||
|
if(d){
|
||||||
|
for(int i = 0; i < d->lineCount(); i++){
|
||||||
|
auto b = d->findBlockByLineNumber(i);
|
||||||
|
|
||||||
|
switch(b.userState()){
|
||||||
|
case STATE_RX:
|
||||||
|
highlightBlock(b, m_config.rx_text_font(), m_config.color_rx_foreground(), QColor(Qt::transparent));
|
||||||
|
break;
|
||||||
|
case STATE_TX:
|
||||||
|
highlightBlock(b, m_config.tx_text_font(), m_config.color_tx_foreground(), QColor(Qt::transparent));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
setWindowTitle (program_title ());
|
setWindowTitle (program_title ());
|
||||||
@ -1376,7 +1448,9 @@ void MainWindow::not_GA_warning_message ()
|
|||||||
void MainWindow::initialize_fonts ()
|
void MainWindow::initialize_fonts ()
|
||||||
{
|
{
|
||||||
set_application_font (m_config.text_font ());
|
set_application_font (m_config.text_font ());
|
||||||
setDecodedTextFont (m_config.decoded_text_font ());
|
|
||||||
|
setTextEditFont(ui->textEditRX, m_config.rx_text_font());
|
||||||
|
setTextEditFont(ui->extFreeTextMsgEdit, m_config.tx_text_font());
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::splash_done ()
|
void MainWindow::splash_done ()
|
||||||
@ -1716,7 +1790,7 @@ void MainWindow::readSettings()
|
|||||||
//ui->bandHorizontalWidget->setGeometry( m_settings->value("PanelWaterfallGeometry", ui->bandHorizontalWidget->geometry()).toRect());
|
//ui->bandHorizontalWidget->setGeometry( m_settings->value("PanelWaterfallGeometry", ui->bandHorizontalWidget->geometry()).toRect());
|
||||||
//qDebug() << m_settings->value("PanelTopGeometry") << ui->extFreeTextMsg;
|
//qDebug() << m_settings->value("PanelTopGeometry") << ui->extFreeTextMsg;
|
||||||
|
|
||||||
ui->textEditRX->setStyleSheet(QString("QTextEdit { background: %1 }").arg(m_config.color_ReceivedMsg().name()));
|
ui->textEditRX->setStyleSheet(QString("QTextEdit { background: %1 }").arg(m_config.color_rx_background().name()));
|
||||||
|
|
||||||
{
|
{
|
||||||
auto const& coeffs = m_settings->value ("PhaseEqualizationCoefficients"
|
auto const& coeffs = m_settings->value ("PhaseEqualizationCoefficients"
|
||||||
@ -2898,6 +2972,7 @@ void MainWindow::on_actionFox_Log_triggered()
|
|||||||
|
|
||||||
void MainWindow::on_actionMessage_averaging_triggered()
|
void MainWindow::on_actionMessage_averaging_triggered()
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
if (!m_msgAvgWidget)
|
if (!m_msgAvgWidget)
|
||||||
{
|
{
|
||||||
m_msgAvgWidget.reset (new MessageAveraging {m_settings, m_config.decoded_text_font ()});
|
m_msgAvgWidget.reset (new MessageAveraging {m_settings, m_config.decoded_text_font ()});
|
||||||
@ -2908,6 +2983,7 @@ void MainWindow::on_actionMessage_averaging_triggered()
|
|||||||
m_msgAvgWidget->showNormal();
|
m_msgAvgWidget->showNormal();
|
||||||
m_msgAvgWidget->raise ();
|
m_msgAvgWidget->raise ();
|
||||||
m_msgAvgWidget->activateWindow ();
|
m_msgAvgWidget->activateWindow ();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionOpen_triggered() //Open File
|
void MainWindow::on_actionOpen_triggered() //Open File
|
||||||
@ -4347,7 +4423,7 @@ void MainWindow::guiUpdate()
|
|||||||
write_transmit_entry ("ALL.TXT");
|
write_transmit_entry ("ALL.TXT");
|
||||||
if (m_config.TX_messages ()) {
|
if (m_config.TX_messages ()) {
|
||||||
ui->decodedTextBrowser2->displayTransmittedText(m_currentMessage,m_modeTx,
|
ui->decodedTextBrowser2->displayTransmittedText(m_currentMessage,m_modeTx,
|
||||||
ui->TxFreqSpinBox->value(),m_config.color_ReceivedMsg(),m_bFastMode);
|
ui->TxFreqSpinBox->value(),m_config.color_rx_background(),m_bFastMode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4451,7 +4527,7 @@ void MainWindow::guiUpdate()
|
|||||||
|
|
||||||
if (m_config.TX_messages () && !m_tune && !m_config.bFox()) {
|
if (m_config.TX_messages () && !m_tune && !m_config.bFox()) {
|
||||||
ui->decodedTextBrowser2->displayTransmittedText(current_message, m_modeTx,
|
ui->decodedTextBrowser2->displayTransmittedText(current_message, m_modeTx,
|
||||||
ui->TxFreqSpinBox->value(),m_config.color_ReceivedMsg(),m_bFastMode);
|
ui->TxFreqSpinBox->value(),m_config.color_rx_background(),m_bFastMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (m_ntx)
|
switch (m_ntx)
|
||||||
@ -5904,7 +5980,6 @@ void MainWindow::writeNoticeTextToUI(QDateTime date, QString text){
|
|||||||
ui->textEditRX->verticalScrollBar()->setValue(ui->textEditRX->verticalScrollBar()->maximum());
|
ui->textEditRX->verticalScrollBar()->setValue(ui->textEditRX->verticalScrollBar()->maximum());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int MainWindow::writeMessageTextToUI(QDateTime date, QString text, int freq, bool bold, int block){
|
int MainWindow::writeMessageTextToUI(QDateTime date, QString text, int freq, bool bold, int block){
|
||||||
auto c = ui->textEditRX->textCursor();
|
auto c = ui->textEditRX->textCursor();
|
||||||
|
|
||||||
@ -5943,7 +6018,13 @@ int MainWindow::writeMessageTextToUI(QDateTime date, QString text, int freq, boo
|
|||||||
c.insertHtml(QString("<strong>%1 - (%2)</strong> - %3").arg(date.time().toString()).arg(freq).arg(text));
|
c.insertHtml(QString("<strong>%1 - (%2)</strong> - %3").arg(date.time().toString()).arg(freq).arg(text));
|
||||||
}
|
}
|
||||||
|
|
||||||
c.movePosition(QTextCursor::End);
|
if(bold){
|
||||||
|
c.block().setUserState(STATE_TX);
|
||||||
|
highlightBlock(c.block(), m_config.tx_text_font(), m_config.color_tx_foreground(), QColor(Qt::transparent));
|
||||||
|
} else {
|
||||||
|
c.block().setUserState(STATE_RX);
|
||||||
|
highlightBlock(c.block(), m_config.rx_text_font(), m_config.color_rx_foreground(), QColor(Qt::transparent));
|
||||||
|
}
|
||||||
|
|
||||||
ui->textEditRX->ensureCursorVisible();
|
ui->textEditRX->ensureCursorVisible();
|
||||||
ui->textEditRX->verticalScrollBar()->setValue(ui->textEditRX->verticalScrollBar()->maximum());
|
ui->textEditRX->verticalScrollBar()->setValue(ui->textEditRX->verticalScrollBar()->maximum());
|
||||||
@ -6110,6 +6191,9 @@ void MainWindow::on_extFreeTextMsgEdit_currentTextChanged (QString const& text)
|
|||||||
ui->extFreeTextMsgEdit->setPlainText(x);
|
ui->extFreeTextMsgEdit->setPlainText(x);
|
||||||
QTextCursor c = ui->extFreeTextMsgEdit->textCursor();
|
QTextCursor c = ui->extFreeTextMsgEdit->textCursor();
|
||||||
c.setPosition(pos < maxpos ? pos : maxpos, QTextCursor::MoveAnchor);
|
c.setPosition(pos < maxpos ? pos : maxpos, QTextCursor::MoveAnchor);
|
||||||
|
|
||||||
|
highlightBlock(c.block(), m_config.tx_text_font(), QColor(Qt::black), QColor(Qt::transparent));
|
||||||
|
|
||||||
ui->extFreeTextMsgEdit->setTextCursor(c);
|
ui->extFreeTextMsgEdit->setTextCursor(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6121,6 +6205,9 @@ void MainWindow::on_extFreeTextMsgEdit_currentTextChanged (QString const& text)
|
|||||||
ui->startTxButton->setText("Send");
|
ui->startTxButton->setText("Send");
|
||||||
ui->startTxButton->setEnabled(false);
|
ui->startTxButton->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int MainWindow::currentFreqOffset(){
|
int MainWindow::currentFreqOffset(){
|
||||||
@ -11235,7 +11322,7 @@ void MainWindow::foxGenWaveform(int i,QString fm)
|
|||||||
QString txModeArg;
|
QString txModeArg;
|
||||||
txModeArg.sprintf("FT8fox %d",i+1);
|
txModeArg.sprintf("FT8fox %d",i+1);
|
||||||
ui->decodedTextBrowser2->displayTransmittedText(fm.trimmed(), txModeArg,
|
ui->decodedTextBrowser2->displayTransmittedText(fm.trimmed(), txModeArg,
|
||||||
ui->TxFreqSpinBox->value()+60*i,m_config.color_ReceivedMsg(),m_bFastMode);
|
ui->TxFreqSpinBox->value()+60*i,m_config.color_rx_background(),m_bFastMode);
|
||||||
foxcom_.i3bit[i]=0;
|
foxcom_.i3bit[i]=0;
|
||||||
if(fm.indexOf("<")>0) foxcom_.i3bit[i]=1;
|
if(fm.indexOf("<")>0) foxcom_.i3bit[i]=1;
|
||||||
strncpy(&foxcom_.cmsg[i][0],fm.toLatin1(),40); //Copy this message into cmsg[i]
|
strncpy(&foxcom_.cmsg[i][0],fm.toLatin1(),40); //Copy this message into cmsg[i]
|
||||||
|
@ -1073,7 +1073,7 @@ background-color: #00ff00;
|
|||||||
</property>
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<pointsize>12</pointsize>
|
<pointsize>14</pointsize>
|
||||||
<italic>false</italic>
|
<italic>false</italic>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
@ -1102,7 +1102,7 @@ background-color: #00ff00;
|
|||||||
</property>
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<pointsize>12</pointsize>
|
<pointsize>14</pointsize>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
|
Loading…
Reference in New Issue
Block a user