refs #911, allow to enter id for airline and aircraft ICAO

This commit is contained in:
Klaus Basan
2017-03-22 17:19:17 +01:00
committed by Mathew Sutcliffe
parent 317b52a00b
commit cc1fd0e868
4 changed files with 75 additions and 7 deletions

View File

@@ -47,10 +47,13 @@ namespace BlackGui
this->setFocusProxy(ui->le_Id);
ui->lai_id->set(CIcons::appAircraftIcao16(), "Id:");
ui->le_Updated->setReadOnly(true);
ui->le_Id->setReadOnly(true);
ui->le_Id->setValidator(new QIntValidator(0, 999999, ui->le_Id));
ui->aircraft_Selector->displayWithIcaoDescription(false);
connect(ui->aircraft_Selector, &CDbAircraftIcaoSelectorComponent::changedAircraftIcao, this, &CAircraftIcaoForm::setValue);
// Id
connect(ui->le_Id, &QLineEdit::returnPressed, this, &CAircraftIcaoForm::ps_idEntered);
// drag and drop
connect(ui->drop_DropData, &CDropSite::droppedValueObject, this, &CAircraftIcaoForm::ps_droppedCode);
ui->drop_DropData->setInfoText("<drop aircraft ICAO code>");
@@ -155,6 +158,7 @@ namespace BlackGui
ui->le_ModelDescription->setReadOnly(readOnly);
ui->le_Family->setReadOnly(readOnly);
ui->le_Iata->setReadOnly(readOnly);
ui->le_Id->setReadOnly(readOnly);
CGuiUtility::checkBoxReadOnly(ui->cb_Legacy, readOnly);
CGuiUtility::checkBoxReadOnly(ui->cb_Military, readOnly);
@@ -170,6 +174,7 @@ namespace BlackGui
{
this->setReadOnly(true);
ui->aircraft_Selector->setReadOnly(false);
ui->le_Id->setReadOnly(false);
ui->drop_DropData->setVisible(true);
}
@@ -178,6 +183,11 @@ namespace BlackGui
setValue(CAircraftIcaoCode());
}
void CAircraftIcaoForm::resetValue()
{
this->setValue(m_originalCode);
}
void CAircraftIcaoForm::ps_droppedCode(const BlackMisc::CVariant &variantDropped)
{
CAircraftIcaoCode icao;
@@ -198,6 +208,24 @@ namespace BlackGui
this->setValue(icao);
}
void CAircraftIcaoForm::ps_idEntered()
{
if (!sGui || !sGui->hasWebDataServices())
{
ui->le_Id->undo();
return;
}
const int id = ui->le_Id->text().toInt();
const CAircraftIcaoCode icao = sGui->getWebDataServices()->getAircraftIcaoCodeForDbKey(id);
if (!icao.isLoadedFromDb())
{
ui->le_Id->undo();
return;
}
this->setValue(icao);
}
int CAircraftIcaoForm::getDbKeyFromGui() const
{
QString key(ui->le_Id->text().trimmed());