Ref T441, use distributor preferences in "reduce dialog"

This commit is contained in:
Klaus Basan
2018-11-25 22:32:28 +01:00
parent 115dc6759c
commit 2b8d7f425e
5 changed files with 33 additions and 8 deletions

View File

@@ -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);

View File

@@ -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 <QDialog>
#include <QScopedPointer>
@@ -51,6 +53,7 @@ namespace BlackGui
BlackMisc::Simulation::CSimulatorInfo m_simulator;
BlackMisc::Simulation::CAircraftModelList m_models;
BlackMisc::Simulation::CAircraftModelList m_removeCandidates;
BlackMisc::CSettingReadOnly<BlackMisc::Simulation::Settings::TDistributorListPreferences> m_distributorPreferences { this }; //!< distributor preferences
};
} //ns
} //ns

View File

@@ -108,15 +108,21 @@
</layout>
</widget>
</item>
<item row="5" column="1">
<item row="5" column="0" colspan="2">
<widget class="QFrame" name="fr_Button">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<layout class="QHBoxLayout" name="hl_Buttons">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="hs_Button">
<property name="orientation">

View File

@@ -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");

View File

@@ -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; }