From 2b8d7f425e4ad20c12742ffd3f6b26443907a308 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 25 Nov 2018 22:32:28 +0100 Subject: [PATCH] Ref T441, use distributor preferences in "reduce dialog" --- .../components/dbreducemodelduplicates.cpp | 8 +++++++ .../components/dbreducemodelduplicates.h | 3 +++ .../components/dbreducemodelduplicates.ui | 22 ++++++++++++------- .../simulation/distributorlistpreferences.cpp | 5 +++++ .../simulation/distributorlistpreferences.h | 3 +++ 5 files changed, 33 insertions(+), 8 deletions(-) diff --git a/src/blackgui/components/dbreducemodelduplicates.cpp b/src/blackgui/components/dbreducemodelduplicates.cpp index 62f5e0cdd..907a45437 100644 --- a/src/blackgui/components/dbreducemodelduplicates.cpp +++ b/src/blackgui/components/dbreducemodelduplicates.cpp @@ -20,6 +20,7 @@ using namespace BlackMisc; using namespace BlackMisc::Simulation; +using namespace BlackGui::Models; using namespace BlackGui::Views; namespace BlackGui @@ -33,6 +34,7 @@ namespace BlackGui ui->setupUi(this); this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); ui->tvp_RemoveModels->menuAddItems(CAircraftModelView::MenuRemoveSelectedRows); + ui->tvp_RemoveModels->setAircraftModelMode(CAircraftModelListModel::OwnModelSet); ui->le_Distributor->setValidator(new CUpperCaseValidator(ui->le_Distributor)); connect(ui->pb_Run, &QPushButton::clicked, this, &CDbReduceModelDuplicates::process); @@ -46,6 +48,12 @@ namespace BlackGui m_models = models; m_simulator = simulator; + if (ui->le_Distributor->text().isEmpty()) + { + const CDistributor distributor = m_distributorPreferences.get().getFirstOrDefaultDistributor(simulator); + ui->le_Distributor->setText(distributor.getDbKey()); + } + const QStringList distributors = models.getDistributors().getDbKeysAndAliases(true); QCompleter *c = new QCompleter(distributors, this); c->setCaseSensitivity(Qt::CaseInsensitive); diff --git a/src/blackgui/components/dbreducemodelduplicates.h b/src/blackgui/components/dbreducemodelduplicates.h index c3c568e9d..43fabdb76 100644 --- a/src/blackgui/components/dbreducemodelduplicates.h +++ b/src/blackgui/components/dbreducemodelduplicates.h @@ -13,6 +13,8 @@ #define BLACKGUI_COMPONENTS_DBREDUCEMODELDUPLICATES_H #include "blackmisc/simulation/aircraftmodellist.h" +#include "blackmisc/simulation/settings/modelsettings.h" +#include "blackmisc/settingscache.h" #include #include @@ -51,6 +53,7 @@ namespace BlackGui BlackMisc::Simulation::CSimulatorInfo m_simulator; BlackMisc::Simulation::CAircraftModelList m_models; BlackMisc::Simulation::CAircraftModelList m_removeCandidates; + BlackMisc::CSettingReadOnly m_distributorPreferences { this }; //!< distributor preferences }; } //ns } //ns diff --git a/src/blackgui/components/dbreducemodelduplicates.ui b/src/blackgui/components/dbreducemodelduplicates.ui index d2af653ed..28c93ea17 100644 --- a/src/blackgui/components/dbreducemodelduplicates.ui +++ b/src/blackgui/components/dbreducemodelduplicates.ui @@ -108,15 +108,21 @@ - + - - QFrame::StyledPanel - - - QFrame::Raised - - + + + 0 + + + 0 + + + 0 + + + 0 + diff --git a/src/blackmisc/simulation/distributorlistpreferences.cpp b/src/blackmisc/simulation/distributorlistpreferences.cpp index 294a77562..49c6aa63f 100644 --- a/src/blackmisc/simulation/distributorlistpreferences.cpp +++ b/src/blackmisc/simulation/distributorlistpreferences.cpp @@ -36,6 +36,11 @@ namespace BlackMisc return empty; } + CDistributor CDistributorListPreferences::getFirstOrDefaultDistributor(const CSimulatorInfo &simulator) const + { + return this->getDistributors(simulator).frontOrDefault(); + } + void CDistributorListPreferences::setDistributors(const CDistributorList &distributors, const CSimulatorInfo &simulator) { Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "Need single simulator"); diff --git a/src/blackmisc/simulation/distributorlistpreferences.h b/src/blackmisc/simulation/distributorlistpreferences.h index 2d80616eb..dc282f537 100644 --- a/src/blackmisc/simulation/distributorlistpreferences.h +++ b/src/blackmisc/simulation/distributorlistpreferences.h @@ -40,6 +40,9 @@ namespace BlackMisc //! Get distributors const CDistributorList &getDistributors(const CSimulatorInfo &simulator) const; + //! Get distributor for simulator + CDistributor getFirstOrDefaultDistributor(const CSimulatorInfo &simulator) const; + //! Last updated simulator const CSimulatorInfo &getLastUpdatedSimulator() const { return m_lastUpdatedSimulator; }