From da0e021332bd940b2032e448d42b0aa47c302ab0 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Thu, 20 Dec 2018 04:11:36 +0100 Subject: [PATCH] Ref T265, Ref T430, Ref T473 parts added to mapping UI --- src/blackgui/editors/modelmappingform.cpp | 8 +++++- src/blackgui/editors/modelmappingform.ui | 29 ++++++++++++++++------ src/blackmisc/simulation/aircraftmodel.cpp | 13 +++------- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/src/blackgui/editors/modelmappingform.cpp b/src/blackgui/editors/modelmappingform.cpp index f9bb75a33..f1220a20a 100644 --- a/src/blackgui/editors/modelmappingform.cpp +++ b/src/blackgui/editors/modelmappingform.cpp @@ -12,6 +12,7 @@ #include "blackgui/editors/modelmappingform.h" #include "blackgui/editors/validationindicator.h" #include "blackgui/labelandicon.h" +#include "blackgui/uppercasevalidator.h" #include "blackmisc/icons.h" #include "blackmisc/network/authenticateduser.h" #include "blackmisc/stringutils.h" @@ -37,8 +38,11 @@ namespace BlackGui ui->setupUi(this); ui->le_LastUpdated->setReadOnly(true); ui->le_Id->setReadOnly(true); - + ui->le_Parts->setPlaceholderText("Allowed: " + CAircraftModel::supportedParts()); ui->lai_Id->set(CIcons::appMappings16(), "Id:"); + CUpperCaseValidator *uc = new CUpperCaseValidator(0, 5, ui->le_Parts); + uc->setAllowedCharacters(CAircraftModel::supportedParts()); + ui->le_Parts->setValidator(uc); connect(ui->le_CG, &QLineEdit::editingFinished, this, &CModelMappingForm::onCgEditFinished); connect(ui->pb_Stash, &QPushButton::clicked, this, &CModelMappingForm::requestStash); @@ -59,6 +63,7 @@ namespace BlackGui model.setName(ui->le_Name->text()); model.setModelMode(ui->selector_ModelMode->getMode()); model.setCG(this->getCGFromUI()); + model.setSupportedParts(ui->le_Parts->text().trimmed().toUpper()); return model; } @@ -90,6 +95,7 @@ namespace BlackGui ui->le_Id->setText(model.getDbKeyAsString()); ui->le_Description->setText(model.getDescription()); ui->le_Name->setText(model.getName()); + ui->le_Parts->setText(model.getSupportedParts()); ui->le_FileName->setText(model.getFileName()); ui->selector_ModelMode->setValue(model.getModelMode()); ui->selector_Simulator->setValue(model.getSimulator()); diff --git a/src/blackgui/editors/modelmappingform.ui b/src/blackgui/editors/modelmappingform.ui index 15aebcefc..86899adbb 100644 --- a/src/blackgui/editors/modelmappingform.ui +++ b/src/blackgui/editors/modelmappingform.ui @@ -175,12 +175,6 @@ Qt::StrongFocus - - QFrame::StyledPanel - - - QFrame::Raised - @@ -191,6 +185,9 @@ 16777215 + + e.g. 3ft or 2.3m + @@ -200,13 +197,30 @@ - + Model key + + + + Parts: + + + + + + + + 75 + 16777215 + + + + @@ -241,6 +255,7 @@ le_Id le_ModelKey + le_Parts selector_Simulator le_Name le_Description diff --git a/src/blackmisc/simulation/aircraftmodel.cpp b/src/blackmisc/simulation/aircraftmodel.cpp index ab538acdb..0b83e7151 100644 --- a/src/blackmisc/simulation/aircraftmodel.cpp +++ b/src/blackmisc/simulation/aircraftmodel.cpp @@ -951,16 +951,9 @@ namespace BlackMisc CDistributor::fromDatabaseJson(json, prefixDistributor)); if (!aircraftIcao.isLoadedFromDb() && idAircraftIcao >= 0) { aircraftIcao.setDbKey(idAircraftIcao); } - if (!livery.isLoadedFromDb()) - { - const int idLivery = json.value(prefix % u"idlivery").toInt(-1); - if (idLivery >= 0) { livery.setDbKey(idLivery); } - } - if (!distributor.isLoadedFromDb()) - { - const QString idDistributor = json.value(prefix % u"iddistributor").toString(); - if (!idDistributor.isEmpty()) { distributor.setDbKey(idDistributor); } - } + if (!aircraftIcao.isLoadedFromDb() && idAircraftIcao >= 0) { aircraftIcao.setDbKey(idAircraftIcao); } + if (!livery.isLoadedFromDb() && idLivery >= 0) { livery.setDbKey(idLivery); } + if (!distributor.isLoadedFromDb() && !idDistributor.isEmpty()) { distributor.setDbKey(idDistributor); } // store in temp.cache if (!cachedAircraftIcao && aircraftIcao.isLoadedFromDb()) { aircraftIcaos[aircraftIcao.getDbKey()] = aircraftIcao; }