mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-27 11:05:44 +08:00
refs #577, filter for aircraft model
* allow to filter by distributor * filter by simulator on change
This commit is contained in:
@@ -171,6 +171,16 @@ namespace BlackGui
|
|||||||
this->ui->editor_Distributor->setProvider(provider);
|
this->ui->editor_Distributor->setProvider(provider);
|
||||||
this->ui->editor_AircraftIcao->setProvider(provider);
|
this->ui->editor_AircraftIcao->setProvider(provider);
|
||||||
this->ui->comp_StashAircraft->setProvider(provider);
|
this->ui->comp_StashAircraft->setProvider(provider);
|
||||||
|
|
||||||
|
if (this->ui->tvp_AircraftModelsForVPilot->getFilterDialog())
|
||||||
|
{
|
||||||
|
this->ui->tvp_AircraftModelsForVPilot->getFilterDialog()->setProvider(provider);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this->ui->tvp_OwnAircraftModels->getFilterDialog())
|
||||||
|
{
|
||||||
|
this->ui->tvp_OwnAircraftModels->getFilterDialog()->setProvider(provider);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CDbMappingComponent::gracefulShutdown()
|
void CDbMappingComponent::gracefulShutdown()
|
||||||
|
|||||||
@@ -60,6 +60,11 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
ps_modelsRead(CEntityFlags::ModelEntity, CEntityFlags::ReadFinished, c);
|
ps_modelsRead(CEntityFlags::ModelEntity, CEntityFlags::ReadFinished, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this->ui->filter_AircraftModelFilter)
|
||||||
|
{
|
||||||
|
this->ui->filter_AircraftModelFilter->setProvider(webDataReaderProvider);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CDbModelComponent::hasModels() const
|
bool CDbModelComponent::hasModels() const
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
using namespace BlackGui;
|
using namespace BlackGui;
|
||||||
using namespace BlackGui::Models;
|
using namespace BlackGui::Models;
|
||||||
|
using namespace BlackGui::Components;
|
||||||
|
|
||||||
namespace BlackGui
|
namespace BlackGui
|
||||||
{
|
{
|
||||||
@@ -24,6 +25,7 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
this->ui->frp_SimulatorSelector->setAll();
|
this->ui->frp_SimulatorSelector->setAll();
|
||||||
|
this->ui->comp_DistributorSelector->withDistributorDescription(false);
|
||||||
this->setButtonsAndCount(this->ui->filter_Buttons);
|
this->setButtonsAndCount(this->ui->filter_Buttons);
|
||||||
connect(ui->le_AircraftIcao, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
connect(ui->le_AircraftIcao, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
||||||
connect(ui->le_AircraftManufacturer, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
connect(ui->le_AircraftManufacturer, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
||||||
@@ -32,6 +34,8 @@ namespace BlackGui
|
|||||||
connect(ui->le_LiveryCode, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
connect(ui->le_LiveryCode, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
||||||
connect(ui->le_ModelDescription, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
connect(ui->le_ModelDescription, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
||||||
connect(ui->le_ModelKey, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
connect(ui->le_ModelKey, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
|
||||||
|
connect(ui->frp_SimulatorSelector, &CSimulatorSelector::changed, this, &CAircraftModelFilterBar::ps_simulatorSelectionChanged);
|
||||||
|
connect(ui->comp_DistributorSelector, &CDbDistributorSelectorComponent::changedDistributor, this, &CAircraftModelFilterBar::ps_distributorChanged);
|
||||||
|
|
||||||
CUpperCaseValidator *ucv = new CUpperCaseValidator(this);
|
CUpperCaseValidator *ucv = new CUpperCaseValidator(this);
|
||||||
this->ui->le_AircraftIcao->setValidator(ucv);
|
this->ui->le_AircraftIcao->setValidator(ucv);
|
||||||
@@ -54,10 +58,17 @@ namespace BlackGui
|
|||||||
this->ui->le_AirlineIcao->text(),
|
this->ui->le_AirlineIcao->text(),
|
||||||
this->ui->le_AirlineName->text(),
|
this->ui->le_AirlineName->text(),
|
||||||
this->ui->le_LiveryCode->text(),
|
this->ui->le_LiveryCode->text(),
|
||||||
this->ui->frp_SimulatorSelector->getValue()
|
this->ui->frp_SimulatorSelector->getValue(),
|
||||||
|
this->ui->comp_DistributorSelector->getDistributor()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CAircraftModelFilterBar::setProvider(BlackMisc::Network::IWebDataServicesProvider *webDataReaderProvider)
|
||||||
|
{
|
||||||
|
CWebDataServicesAware::setProvider(webDataReaderProvider);
|
||||||
|
this->ui->comp_DistributorSelector->setProvider(webDataReaderProvider);
|
||||||
|
}
|
||||||
|
|
||||||
void CAircraftModelFilterBar::onRowCountChanged(int count, bool withFilter)
|
void CAircraftModelFilterBar::onRowCountChanged(int count, bool withFilter)
|
||||||
{
|
{
|
||||||
this->ui->filter_Buttons->onRowCountChanged(count, withFilter);
|
this->ui->filter_Buttons->onRowCountChanged(count, withFilter);
|
||||||
@@ -73,6 +84,19 @@ namespace BlackGui
|
|||||||
this->ui->le_AirlineName->clear();
|
this->ui->le_AirlineName->clear();
|
||||||
this->ui->le_LiveryCode->clear();
|
this->ui->le_LiveryCode->clear();
|
||||||
this->ui->frp_SimulatorSelector->setAll();
|
this->ui->frp_SimulatorSelector->setAll();
|
||||||
|
this->ui->comp_DistributorSelector->clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CAircraftModelFilterBar::ps_simulatorSelectionChanged(const BlackMisc::Simulation::CSimulatorInfo &info)
|
||||||
|
{
|
||||||
|
Q_UNUSED(info);
|
||||||
|
this->triggerFilter();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CAircraftModelFilterBar::ps_distributorChanged(const BlackMisc::Simulation::CDistributor &distributor)
|
||||||
|
{
|
||||||
|
Q_UNUSED(distributor);
|
||||||
|
this->triggerFilter();
|
||||||
}
|
}
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -44,6 +44,9 @@ namespace BlackGui
|
|||||||
//! \copydoc IModelFilter::getModelFilter
|
//! \copydoc IModelFilter::getModelFilter
|
||||||
virtual std::unique_ptr<BlackGui::Models::IModelFilter<BlackMisc::Simulation::CAircraftModelList>> createModelFilter() const override;
|
virtual std::unique_ptr<BlackGui::Models::IModelFilter<BlackMisc::Simulation::CAircraftModelList>> createModelFilter() const override;
|
||||||
|
|
||||||
|
//! Set the provider
|
||||||
|
virtual void setProvider(BlackMisc::Network::IWebDataServicesProvider *webDataReaderProvider) override;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
//! \copydoc CFilterWidget::onRowCountChanged
|
//! \copydoc CFilterWidget::onRowCountChanged
|
||||||
virtual void onRowCountChanged(int count, bool withFilter) override;
|
virtual void onRowCountChanged(int count, bool withFilter) override;
|
||||||
@@ -52,6 +55,13 @@ namespace BlackGui
|
|||||||
//! Clear form
|
//! Clear form
|
||||||
virtual void clearForm() override;
|
virtual void clearForm() override;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
//! Simulator selection changed
|
||||||
|
void ps_simulatorSelectionChanged(const BlackMisc::Simulation::CSimulatorInfo &info);
|
||||||
|
|
||||||
|
//! Distributor changed
|
||||||
|
void ps_distributorChanged(const BlackMisc::Simulation::CDistributor &distributor);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QScopedPointer<Ui::CAircraftModelFilterBar> ui;
|
QScopedPointer<Ui::CAircraftModelFilterBar> ui;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>658</width>
|
<width>658</width>
|
||||||
<height>44</height>
|
<height>48</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<item row="0" column="11">
|
<item row="0" column="11">
|
||||||
<widget class="QLineEdit" name="le_AircraftManufacturer">
|
<widget class="QLineEdit" name="le_AircraftManufacturer">
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string>manufacturer</string>
|
<string>Manufacturer</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -84,14 +84,14 @@
|
|||||||
<item row="1" column="7">
|
<item row="1" column="7">
|
||||||
<widget class="QLineEdit" name="le_LiveryCode">
|
<widget class="QLineEdit" name="le_LiveryCode">
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string>code</string>
|
<string>Code</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="11">
|
<item row="1" column="11">
|
||||||
<widget class="QLineEdit" name="le_AirlineName">
|
<widget class="QLineEdit" name="le_AirlineName">
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string>airline name</string>
|
<string>Airline name</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -115,14 +115,14 @@
|
|||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string>description</string>
|
<string>Description</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="7">
|
<item row="0" column="7">
|
||||||
<widget class="QLineEdit" name="le_ModelKey">
|
<widget class="QLineEdit" name="le_ModelKey">
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string>key</string>
|
<string>Key</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -168,9 +168,25 @@
|
|||||||
<item row="1" column="0" colspan="6">
|
<item row="1" column="0" colspan="6">
|
||||||
<widget class="BlackGui::CSimulatorSelector" name="frp_SimulatorSelector"/>
|
<widget class="BlackGui::CSimulatorSelector" name="frp_SimulatorSelector"/>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="8">
|
||||||
|
<widget class="BlackGui::Components::CDbDistributorSelectorComponent" name="comp_DistributorSelector">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>BlackGui::CSimulatorSelector</class>
|
||||||
|
<extends>QFrame</extends>
|
||||||
|
<header>blackgui/simulatorselector.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>BlackGui::Filters::CFilterBarButtons</class>
|
<class>BlackGui::Filters::CFilterBarButtons</class>
|
||||||
<extends>QFrame</extends>
|
<extends>QFrame</extends>
|
||||||
@@ -178,9 +194,9 @@
|
|||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>BlackGui::CSimulatorSelector</class>
|
<class>BlackGui::Components::CDbDistributorSelectorComponent</class>
|
||||||
<extends>QFrame</extends>
|
<extends>QFrame</extends>
|
||||||
<header>blackgui/simulatorselector.h</header>
|
<header>blackgui/components/dbdistributorselectorcomponent.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
using namespace BlackGui::Models;
|
using namespace BlackGui::Models;
|
||||||
using namespace BlackMisc::Simulation;
|
using namespace BlackMisc::Simulation;
|
||||||
|
using namespace BlackMisc::Network;
|
||||||
|
|
||||||
namespace BlackGui
|
namespace BlackGui
|
||||||
{
|
{
|
||||||
@@ -33,5 +34,10 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
return ui->filter_Models->createModelFilter();
|
return ui->filter_Models->createModelFilter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CAircraftModelFilterDialog::setProvider(IWebDataServicesProvider *webDataReaderProvider)
|
||||||
|
{
|
||||||
|
this->ui->filter_Models->setProvider(webDataReaderProvider);
|
||||||
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
#include "blackgui/blackguiexport.h"
|
#include "blackgui/blackguiexport.h"
|
||||||
#include "filterdialog.h"
|
#include "filterdialog.h"
|
||||||
#include "blackgui/models/aircraftmodelfilter.h"
|
#include "blackgui/models/aircraftmodelfilter.h"
|
||||||
|
#include "blackmisc/network/webdataservicesprovider.h"
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <QScopedPointer>
|
#include <QScopedPointer>
|
||||||
|
|
||||||
@@ -41,6 +42,9 @@ namespace BlackGui
|
|||||||
//! \copydoc IModelFilterProvider::getModelFilter
|
//! \copydoc IModelFilterProvider::getModelFilter
|
||||||
virtual std::unique_ptr<BlackGui::Models::IModelFilter<BlackMisc::Simulation::CAircraftModelList>> createModelFilter() const override;
|
virtual std::unique_ptr<BlackGui::Models::IModelFilter<BlackMisc::Simulation::CAircraftModelList>> createModelFilter() const override;
|
||||||
|
|
||||||
|
//! Set the provider
|
||||||
|
void setProvider(BlackMisc::Network::IWebDataServicesProvider *webDataReaderProvider);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QScopedPointer<Ui::CAircraftModelFilterDialog> ui;
|
QScopedPointer<Ui::CAircraftModelFilterDialog> ui;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -22,12 +22,14 @@ namespace BlackGui
|
|||||||
const QString &aircraftIcao, const QString &aircraftManufacturer,
|
const QString &aircraftIcao, const QString &aircraftManufacturer,
|
||||||
const QString &airlineIcao, const QString &airlineName,
|
const QString &airlineIcao, const QString &airlineName,
|
||||||
const QString &liveryCode,
|
const QString &liveryCode,
|
||||||
const CSimulatorInfo &simInfo) :
|
const CSimulatorInfo &simInfo,
|
||||||
|
const CDistributor &distributor) :
|
||||||
m_modelKey(modelKey.trimmed()), m_description(description.trimmed()),
|
m_modelKey(modelKey.trimmed()), m_description(description.trimmed()),
|
||||||
m_aircraftIcao(aircraftIcao.trimmed().toUpper()), m_aircraftManufacturer(aircraftManufacturer.trimmed().toUpper()),
|
m_aircraftIcao(aircraftIcao.trimmed().toUpper()), m_aircraftManufacturer(aircraftManufacturer.trimmed().toUpper()),
|
||||||
m_airlineIcao(airlineIcao.trimmed().toUpper()), m_airlineName(airlineName.trimmed().toUpper()),
|
m_airlineIcao(airlineIcao.trimmed().toUpper()), m_airlineName(airlineName.trimmed().toUpper()),
|
||||||
m_liveryCode(liveryCode.trimmed().toUpper()),
|
m_liveryCode(liveryCode.trimmed().toUpper()),
|
||||||
m_simulatorInfo(simInfo)
|
m_simulatorInfo(simInfo),
|
||||||
|
m_distributor(distributor)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
BlackMisc::Simulation::CAircraftModelList CAircraftModelFilter::filter(const CAircraftModelList &inContainer) const
|
BlackMisc::Simulation::CAircraftModelList CAircraftModelFilter::filter(const CAircraftModelList &inContainer) const
|
||||||
@@ -75,6 +77,12 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
if (!this->stringMatchesFilterExpression(model.getLivery().getCombinedCode(), this->m_liveryCode)) { continue; }
|
if (!this->stringMatchesFilterExpression(model.getLivery().getCombinedCode(), this->m_liveryCode)) { continue; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this->m_distributor.hasValidDbKey())
|
||||||
|
{
|
||||||
|
if (!model.getDistributor().matchesKeyOrAlias(this->m_distributor)) { continue; }
|
||||||
|
}
|
||||||
|
|
||||||
outContainer.push_back(model);
|
outContainer.push_back(model);
|
||||||
}
|
}
|
||||||
return outContainer;
|
return outContainer;
|
||||||
@@ -86,6 +94,7 @@ namespace BlackGui
|
|||||||
this->m_aircraftManufacturer.isEmpty() && this->m_aircraftIcao.isEmpty() &&
|
this->m_aircraftManufacturer.isEmpty() && this->m_aircraftIcao.isEmpty() &&
|
||||||
this->m_airlineIcao.isEmpty() && this->m_airlineName.isEmpty() &&
|
this->m_airlineIcao.isEmpty() && this->m_airlineName.isEmpty() &&
|
||||||
this->m_liveryCode.isEmpty() &&
|
this->m_liveryCode.isEmpty() &&
|
||||||
|
!this->m_distributor.hasValidDbKey() &&
|
||||||
this->m_simulatorInfo.isNoSimulator()
|
this->m_simulatorInfo.isNoSimulator()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,9 @@ namespace BlackGui
|
|||||||
const QString &aircraftIcao, const QString &aircraftManufacturer,
|
const QString &aircraftIcao, const QString &aircraftManufacturer,
|
||||||
const QString &airlineIcao, const QString &airlineName,
|
const QString &airlineIcao, const QString &airlineName,
|
||||||
const QString &liveryCode,
|
const QString &liveryCode,
|
||||||
const BlackMisc::Simulation::CSimulatorInfo &simInfo = BlackMisc::Simulation::CSimulatorInfo::allSimulators());
|
const BlackMisc::Simulation::CSimulatorInfo &simInfo = BlackMisc::Simulation::CSimulatorInfo::allSimulators(),
|
||||||
|
const BlackMisc::Simulation::CDistributor &distributor = BlackMisc::Simulation::CDistributor()
|
||||||
|
);
|
||||||
|
|
||||||
//! \copydoc IModelFilter::filter
|
//! \copydoc IModelFilter::filter
|
||||||
virtual BlackMisc::Simulation::CAircraftModelList filter(const BlackMisc::Simulation::CAircraftModelList &inContainer) const override;
|
virtual BlackMisc::Simulation::CAircraftModelList filter(const BlackMisc::Simulation::CAircraftModelList &inContainer) const override;
|
||||||
@@ -47,6 +49,7 @@ namespace BlackGui
|
|||||||
QString m_airlineName;
|
QString m_airlineName;
|
||||||
QString m_liveryCode;
|
QString m_liveryCode;
|
||||||
BlackMisc::Simulation::CSimulatorInfo m_simulatorInfo;
|
BlackMisc::Simulation::CSimulatorInfo m_simulatorInfo;
|
||||||
|
BlackMisc::Simulation::CDistributor m_distributor;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -113,6 +113,11 @@ namespace BlackGui
|
|||||||
this->setFilterDialog(new CAircraftModelFilterDialog(this));
|
this->setFilterDialog(new CAircraftModelFilterDialog(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CAircraftModelFilterDialog *CAircraftModelView::getFilterDialog() const
|
||||||
|
{
|
||||||
|
return qobject_cast<CAircraftModelFilterDialog *>(this->getFilterWidget());
|
||||||
|
}
|
||||||
|
|
||||||
int CAircraftModelView::removeModelsWithModelString(const QStringList &modelStrings, Qt::CaseSensitivity sensitivity)
|
int CAircraftModelView::removeModelsWithModelString(const QStringList &modelStrings, Qt::CaseSensitivity sensitivity)
|
||||||
{
|
{
|
||||||
if (modelStrings.isEmpty()) { return 0; }
|
if (modelStrings.isEmpty()) { return 0; }
|
||||||
@@ -245,21 +250,21 @@ namespace BlackGui
|
|||||||
if (this->m_menus.testFlag(MenuCanStashModels))
|
if (this->m_menus.testFlag(MenuCanStashModels))
|
||||||
{
|
{
|
||||||
menu.addAction(CIcons::appDbStash16(), "Stash", this, SLOT(ps_requestStash()));
|
menu.addAction(CIcons::appDbStash16(), "Stash", this, SLOT(ps_requestStash()));
|
||||||
QAction *a = menu.addAction(CIcons::appDbStash16(), "Stashing clears selection", this, SLOT(ps_stashingClearsSelection()));
|
QAction *a = menu.addAction(CIcons::appDbStash16(), "Stashing clears selection (on/off)", this, SLOT(ps_stashingClearsSelection()));
|
||||||
a->setCheckable(true);
|
a->setCheckable(true);
|
||||||
a->setChecked(m_stashingClearsSelection);
|
a->setChecked(m_stashingClearsSelection);
|
||||||
}
|
}
|
||||||
if (this->m_menus.testFlag(MenuHighlightStashed))
|
if (this->m_menus.testFlag(MenuHighlightStashed))
|
||||||
{
|
{
|
||||||
// this function requires that someone provides the model strings to be highlighted
|
// this function requires that someone provides the model strings to be highlighted
|
||||||
QAction *a = menu.addAction(CIcons::appDbStash16(), "Highlight stashed", this, SLOT(ps_toggleHighlightStashedModels()));
|
QAction *a = menu.addAction(CIcons::appDbStash16(), "Highlight stashed (on/off)", this, SLOT(ps_toggleHighlightStashedModels()));
|
||||||
a->setCheckable(true);
|
a->setCheckable(true);
|
||||||
a->setChecked(this->derivedModel()->highlightModelStrings());
|
a->setChecked(this->derivedModel()->highlightModelStrings());
|
||||||
}
|
}
|
||||||
if (this->m_menus.testFlag(MenuHighlightInvalid))
|
if (this->m_menus.testFlag(MenuHighlightInvalid))
|
||||||
{
|
{
|
||||||
// this function requires that someone provides the model strings to be highlighted
|
// this function requires that someone provides the model strings to be highlighted
|
||||||
QAction *a = menu.addAction(CIcons::appDbStash16(), "Highlight invalid models", this, SLOT(ps_to));
|
QAction *a = menu.addAction(CIcons::appDbStash16(), "Highlight invalid models (on/off)", this, SLOT(ps_toggleHighlightDbData()));
|
||||||
a->setCheckable(true);
|
a->setCheckable(true);
|
||||||
a->setChecked(this->derivedModel()->highlightDbData());
|
a->setChecked(this->derivedModel()->highlightDbData());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,9 @@ namespace BlackGui
|
|||||||
//! Add my own filter dialog
|
//! Add my own filter dialog
|
||||||
void addFilterDialog();
|
void addFilterDialog();
|
||||||
|
|
||||||
|
//! Filter dialog if any
|
||||||
|
BlackGui::Filters::CAircraftModelFilterDialog *getFilterDialog() const;
|
||||||
|
|
||||||
//! Remove models with model strings
|
//! Remove models with model strings
|
||||||
int removeModelsWithModelString(const QStringList &modelStrings, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive);
|
int removeModelsWithModelString(const QStringList &modelStrings, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive);
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,13 @@ namespace BlackMisc
|
|||||||
return (getDbKey() == s || getAlias1() == s || getAlias2() == s);
|
return (getDbKey() == s || getAlias1() == s || getAlias2() == s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CDistributor::matchesKeyOrAlias(const CDistributor &distributor) const
|
||||||
|
{
|
||||||
|
if (distributor.hasValidDbKey() && this->matchesKeyOrAlias(distributor.getDbKey())) { return true; }
|
||||||
|
if (distributor.hasAlias1() && this->matchesKeyOrAlias(distributor.getAlias1())) { return true; }
|
||||||
|
return (distributor.hasAlias2() && this->matchesKeyOrAlias(distributor.getAlias2()));
|
||||||
|
}
|
||||||
|
|
||||||
CVariant CDistributor::propertyByIndex(const CPropertyIndex &index) const
|
CVariant CDistributor::propertyByIndex(const CPropertyIndex &index) const
|
||||||
{
|
{
|
||||||
if (index.isMyself()) { return CVariant::from(*this); }
|
if (index.isMyself()) { return CVariant::from(*this); }
|
||||||
|
|||||||
@@ -72,9 +72,12 @@ namespace BlackMisc
|
|||||||
//! Alias 2?
|
//! Alias 2?
|
||||||
bool hasAlias2() const { return !this->m_alias2.isEmpty(); }
|
bool hasAlias2() const { return !this->m_alias2.isEmpty(); }
|
||||||
|
|
||||||
//! Matches id or alias
|
//! Matches key or alias
|
||||||
bool matchesKeyOrAlias(const QString &keyOrAlias) const;
|
bool matchesKeyOrAlias(const QString &keyOrAlias) const;
|
||||||
|
|
||||||
|
//! Matches key or alias
|
||||||
|
bool matchesKeyOrAlias(const CDistributor &distributor) const;
|
||||||
|
|
||||||
//! \copydoc CValueObject::propertyByIndex
|
//! \copydoc CValueObject::propertyByIndex
|
||||||
CVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const;
|
CVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user