diff --git a/src/blackgui/components/dbliveryselectorcomponent.cpp b/src/blackgui/components/dbliveryselectorcomponent.cpp index 779aadef7..43d05f72a 100644 --- a/src/blackgui/components/dbliveryselectorcomponent.cpp +++ b/src/blackgui/components/dbliveryselectorcomponent.cpp @@ -12,6 +12,7 @@ #include "blackgui/uppercasevalidator.h" #include "blackgui/guiapplication.h" #include "blackmisc/aviation/liverylist.h" +#include "blackmisc/stringutils.h" #include using namespace BlackGui; @@ -101,6 +102,12 @@ namespace BlackGui } } + QString CDbLiverySelectorComponent::getRawCombinedCode() const + { + const QString cc(this->ui->le_Livery->text().trimmed().toUpper()); + return stripDesignatorFromCompleterString(cc); + } + void CDbLiverySelectorComponent::setReadOnly(bool readOnly) { this->ui->le_Livery->setReadOnly(readOnly); @@ -211,6 +218,5 @@ namespace BlackGui if (i < 0) { return l; } return l.left(i); } - } // ns } // ns diff --git a/src/blackgui/components/dbliveryselectorcomponent.h b/src/blackgui/components/dbliveryselectorcomponent.h index 58ed68791..f3e76099b 100644 --- a/src/blackgui/components/dbliveryselectorcomponent.h +++ b/src/blackgui/components/dbliveryselectorcomponent.h @@ -52,6 +52,9 @@ namespace BlackGui //! Livery BlackMisc::Aviation::CLivery getLivery() const; + //! Livery combined code + QString getRawCombinedCode() const; + //! Show description void withLiveryDescription(bool description); @@ -64,7 +67,6 @@ namespace BlackGui //! Clear selection void clear(); - signals: //! Distributor was changed void changedLivery(const BlackMisc::Aviation::CLivery &livery); diff --git a/src/blackgui/components/modelmatchercomponent.cpp b/src/blackgui/components/modelmatchercomponent.cpp index 216231d1b..d1eb21ce8 100644 --- a/src/blackgui/components/modelmatchercomponent.cpp +++ b/src/blackgui/components/modelmatchercomponent.cpp @@ -114,8 +114,10 @@ namespace BlackGui const QString model(ui->le_ModelString->text().trimmed().toUpper()); const QString combined(ui->comp_CombinedCode->getCombinedType()); const QString manufacturer(ui->le_Manufacturer->text().trimmed().toUpper()); + const QString liveryCombinedCode(ui->comp_LiverySelector->getRawCombinedCode()); - CCallsign cs("SWIFT"); + static const CCallsign cs("SWIFT"); + static const CUser pilot("123456", "swift Test", cs); CSimulatedAircraft sa; if (!model.isEmpty()) { @@ -124,18 +126,16 @@ namespace BlackGui } sa.setCallsign(cs); - if (!aircraft.isEmpty()) - { - CAircraftIcaoCode icao(aircraft, combined); - icao.setManufacturer(manufacturer); - sa.setAircraftIcaoCode(icao); - } - if (!airline.isEmpty()) - { - const CAirlineIcaoCode al(airline); - const CLivery l(CLivery::getStandardCode(al), al, "Standard"); - sa.setLivery(l); - } + CAircraftIcaoCode icao(aircraft, combined); + icao.setManufacturer(manufacturer); + sa.setAircraftIcaoCode(icao); + + const CAirlineIcaoCode al(airline); + const CLivery l(liveryCombinedCode.isEmpty() ? CLivery::getStandardCode(al) : liveryCombinedCode, + al, + "Standard"); + sa.setLivery(l); + sa.setPilot(pilot); return sa; }