diff --git a/src/blackgui/selcalcodeselector.cpp b/src/blackgui/selcalcodeselector.cpp index b90f87219..ccf5ed220 100644 --- a/src/blackgui/selcalcodeselector.cpp +++ b/src/blackgui/selcalcodeselector.cpp @@ -10,7 +10,9 @@ #include "selcalcodeselector.h" #include "ui_selcalcodeselector.h" #include "blackmisc/avselcal.h" +#include "blackmisc/icons.h" +using namespace BlackMisc; using namespace BlackMisc::Aviation; namespace BlackGui @@ -20,12 +22,14 @@ namespace BlackGui { this->ui->setupUi(this); this->resetSelcalCodes(true); + this->setValidityHint(); bool c; - c = connect(this->ui->cb_SelcalPairs1, SIGNAL(currentIndexChanged(int)), this, SIGNAL(valueChanged())); + c = connect(this->ui->cb_SelcalPairs1, SIGNAL(currentIndexChanged(int)), this, SLOT(ps_selcalIndexChanged())); Q_ASSERT(c); - c = connect(this->ui->cb_SelcalPairs2, SIGNAL(currentIndexChanged(int)), this, SIGNAL(valueChanged())); + c = connect(this->ui->cb_SelcalPairs2, SIGNAL(currentIndexChanged(int)), this, SLOT(ps_selcalIndexChanged())); Q_ASSERT(c); + Q_UNUSED(c); } CSelcalCodeSelector::~CSelcalCodeSelector() @@ -90,4 +94,24 @@ namespace BlackGui this->ui->cb_SelcalPairs1->setCurrentIndex(0); this->ui->cb_SelcalPairs2->setCurrentIndex(0); } -} + + void CSelcalCodeSelector::ps_selcalIndexChanged() + { + this->setValidityHint(); + emit valueChanged(); + } + + void CSelcalCodeSelector::setValidityHint() + { + if (this->hasValidCode()) + { + this->ui->lbl_ValidCodeIcon->setPixmap(CIcons::tick16()); + this->ui->lbl_ValidCodeIcon->setToolTip("valid SELCAL"); + } + else + { + this->ui->lbl_ValidCodeIcon->setPixmap(CIcons::cross16()); + this->ui->lbl_ValidCodeIcon->setToolTip("invalid SELCAL"); + } + } +} // namespace diff --git a/src/blackgui/selcalcodeselector.h b/src/blackgui/selcalcodeselector.h index 4dcecd25e..78d29f3f6 100644 --- a/src/blackgui/selcalcodeselector.h +++ b/src/blackgui/selcalcodeselector.h @@ -57,8 +57,15 @@ namespace BlackGui //! Value has been changed void valueChanged(); + private slots: + //! SELCAL changed + void ps_selcalIndexChanged(); + private: QScopedPointer ui; + + //! Set valid/invalid icon + void setValidityHint(); }; } diff --git a/src/blackgui/selcalcodeselector.ui b/src/blackgui/selcalcodeselector.ui index 281a5afc5..372f3fc53 100644 --- a/src/blackgui/selcalcodeselector.ui +++ b/src/blackgui/selcalcodeselector.ui @@ -41,8 +41,26 @@ + + + + + 0 + 0 + + + + + + + :/diagona/icons/diagona/icons/tick-button.png + + + - + + +