Ref T292, Ref T285 use CEntityFlags::isFinishedReadState to also check against restricted read plus refactoring

This commit is contained in:
Klaus Basan
2018-07-27 04:02:50 +02:00
parent 0c4a2209f2
commit 1746388560
22 changed files with 105 additions and 116 deletions

View File

@@ -1326,7 +1326,7 @@ namespace BlackCore
} }
// individual signals // individual signals
if (state == CEntityFlags::ReadFinished || state == CEntityFlags::ReadFinishedRestricted) if (CEntityFlags::isFinishedReadState(state))
{ {
if (entities.testFlag(CEntityFlags::AirportEntity) && signalEntitiesAlreadyRead(CEntityFlags::AirportEntity)) { emit swiftDbAirportsRead(); } if (entities.testFlag(CEntityFlags::AirportEntity) && signalEntitiesAlreadyRead(CEntityFlags::AirportEntity)) { emit swiftDbAirportsRead(); }
if (entities.testFlag(CEntityFlags::AirlineIcaoEntity) && signalEntitiesAlreadyRead(CEntityFlags::AirlineIcaoEntity)) { emit swiftDbAirlineIcaoRead(); } if (entities.testFlag(CEntityFlags::AirlineIcaoEntity) && signalEntitiesAlreadyRead(CEntityFlags::AirlineIcaoEntity)) { emit swiftDbAirlineIcaoRead(); }

View File

@@ -36,14 +36,14 @@ namespace BlackGui
ui->setupUi(this); ui->setupUi(this);
this->setViewWithIndicator(ui->tvp_AircraftIcao); this->setViewWithIndicator(ui->tvp_AircraftIcao);
ui->tvp_AircraftIcao->setResizeMode(CAircraftIcaoCodeView::ResizingOff); ui->tvp_AircraftIcao->setResizeMode(CAircraftIcaoCodeView::ResizingOff);
connect(ui->tvp_AircraftIcao, &CAircraftIcaoCodeView::requestNewBackendData, this, &CDbAircraftIcaoComponent::ps_reload); connect(ui->tvp_AircraftIcao, &CAircraftIcaoCodeView::requestNewBackendData, this, &CDbAircraftIcaoComponent::onReload);
ui->tvp_AircraftIcao->allowDragDrop(true, false); ui->tvp_AircraftIcao->allowDragDrop(true, false);
ui->tvp_AircraftIcao->setFilterWidget(ui->filter_AircraftIcao); ui->tvp_AircraftIcao->setFilterWidget(ui->filter_AircraftIcao);
ui->tvp_AircraftIcao->menuAddItems(CViewBaseNonTemplate::MenuCopy); ui->tvp_AircraftIcao->menuAddItems(CViewBaseNonTemplate::MenuCopy);
connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbAircraftIcaoComponent::ps_icaoRead); connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbAircraftIcaoComponent::onIcaoRead);
this->ps_icaoRead(CEntityFlags::AircraftIcaoEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getAircraftIcaoCodesCount()); this->onIcaoRead(CEntityFlags::AircraftIcaoEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getAircraftIcaoCodesCount());
} }
CDbAircraftIcaoComponent::~CDbAircraftIcaoComponent() CDbAircraftIcaoComponent::~CDbAircraftIcaoComponent()
@@ -59,18 +59,19 @@ namespace BlackGui
ui->filter_AircraftIcao->filter(icao); ui->filter_AircraftIcao->filter(icao);
} }
void CDbAircraftIcaoComponent::ps_icaoRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbAircraftIcaoComponent::onIcaoRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
Q_UNUSED(count); Q_UNUSED(count);
if (entity.testFlag(CEntityFlags::AircraftIcaoEntity) && readState == CEntityFlags::ReadFinished) if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; }
if (entity.testFlag(CEntityFlags::AircraftIcaoEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
ui->tvp_AircraftIcao->updateContainerMaybeAsync(sGui->getWebDataServices()->getAircraftIcaoCodes()); ui->tvp_AircraftIcao->updateContainerMaybeAsync(sGui->getWebDataServices()->getAircraftIcaoCodes());
} }
} }
void CDbAircraftIcaoComponent::ps_reload() void CDbAircraftIcaoComponent::onReload()
{ {
if (!sGui) { return; } if (!sGui || sGui->isShuttingDown()) { return; }
sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::AircraftIcaoEntity, QDateTime()); sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::AircraftIcaoEntity, QDateTime());
} }
} // ns } // ns

View File

@@ -54,12 +54,12 @@ namespace BlackGui
//! Filter by ICAO as default //! Filter by ICAO as default
void filter(const BlackMisc::Aviation::CAircraftIcaoCode &icao); void filter(const BlackMisc::Aviation::CAircraftIcaoCode &icao);
private slots: private:
//! ICAO codes have been read //! ICAO codes have been read
void ps_icaoRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count); void onIcaoRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count);
//! Reload models //! Reload models
void ps_reload(); void onReload();
private: private:
QScopedPointer<Ui::CDbAircraftIcaoComponent> ui; QScopedPointer<Ui::CDbAircraftIcaoComponent> ui;

View File

@@ -191,7 +191,7 @@ namespace BlackGui
void CDbAircraftIcaoSelectorComponent::onCodesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbAircraftIcaoSelectorComponent::onCodesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
if (!sGui || !sGui->hasWebDataServices()) { return; } if (!sGui || !sGui->hasWebDataServices()) { return; }
if (entity.testFlag(CEntityFlags::AircraftIcaoEntity) && readState == CEntityFlags::ReadFinished) if (entity.testFlag(CEntityFlags::AircraftIcaoEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
if (count > 0) if (count > 0)
{ {

View File

@@ -41,9 +41,9 @@ namespace BlackGui
ui->tvp_AirlineIcao->setFilterWidget(ui->filter_AirlineIcao); ui->tvp_AirlineIcao->setFilterWidget(ui->filter_AirlineIcao);
ui->tvp_AirlineIcao->menuAddItems(CViewBaseNonTemplate::MenuCopy); ui->tvp_AirlineIcao->menuAddItems(CViewBaseNonTemplate::MenuCopy);
connect(ui->tvp_AirlineIcao, &CAirlineIcaoCodeView::requestNewBackendData, this, &CDbAirlineIcaoComponent::ps_reload); connect(ui->tvp_AirlineIcao, &CAirlineIcaoCodeView::requestNewBackendData, this, &CDbAirlineIcaoComponent::onReload);
connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbAirlineIcaoComponent::ps_icaoRead); connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbAirlineIcaoComponent::onIcaoRead);
this->ps_icaoRead(CEntityFlags::AirlineIcaoEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getAirlineIcaoCodesCount()); this->onIcaoRead(CEntityFlags::AirlineIcaoEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getAirlineIcaoCodesCount());
} }
CDbAirlineIcaoComponent::~CDbAirlineIcaoComponent() CDbAirlineIcaoComponent::~CDbAirlineIcaoComponent()
@@ -54,18 +54,19 @@ namespace BlackGui
return ui->tvp_AirlineIcao; return ui->tvp_AirlineIcao;
} }
void CDbAirlineIcaoComponent::ps_icaoRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbAirlineIcaoComponent::onIcaoRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
Q_UNUSED(count); Q_UNUSED(count);
if (entity.testFlag(CEntityFlags::AirlineIcaoEntity) && readState == CEntityFlags::ReadFinished) if (!sGui || sGui->isShuttingDown() || !sGui->hasWebDataServices()) { return; }
if (entity.testFlag(CEntityFlags::AirlineIcaoEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
ui->tvp_AirlineIcao->updateContainerMaybeAsync(sGui->getWebDataServices()->getAirlineIcaoCodes()); ui->tvp_AirlineIcao->updateContainerMaybeAsync(sGui->getWebDataServices()->getAirlineIcaoCodes());
} }
} }
void CDbAirlineIcaoComponent::ps_reload() void CDbAirlineIcaoComponent::onReload()
{ {
if (!sGui || !sGui->hasWebDataServices()) { return; } if (!sGui || sGui->isShuttingDown() || !sGui->hasWebDataServices()) { return; }
sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::AirlineIcaoEntity, QDateTime()); sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::AirlineIcaoEntity, QDateTime());
} }
} // ns } // ns

View File

@@ -21,8 +21,6 @@
#include <QObject> #include <QObject>
#include <QScopedPointer> #include <QScopedPointer>
class QWidget;
namespace Ui { class CDbAirlineIcaoComponent; } namespace Ui { class CDbAirlineIcaoComponent; }
namespace BlackGui namespace BlackGui
{ {
@@ -35,7 +33,7 @@ namespace BlackGui
class BLACKGUI_EXPORT CDbAirlineIcaoComponent : class BLACKGUI_EXPORT CDbAirlineIcaoComponent :
public QFrame, public QFrame,
public CEnableForDockWidgetInfoArea, public CEnableForDockWidgetInfoArea,
public BlackGui::CEnableForViewBasedIndicator public CEnableForViewBasedIndicator
{ {
Q_OBJECT Q_OBJECT
@@ -44,17 +42,17 @@ namespace BlackGui
explicit CDbAirlineIcaoComponent(QWidget *parent = nullptr); explicit CDbAirlineIcaoComponent(QWidget *parent = nullptr);
//! Destructor //! Destructor
~CDbAirlineIcaoComponent(); virtual ~CDbAirlineIcaoComponent();
//! Get the view //! Get the view
BlackGui::Views::CAirlineIcaoCodeView *view() const; BlackGui::Views::CAirlineIcaoCodeView *view() const;
private slots: private:
//! ICAO codes have been read //! ICAO codes have been read
void ps_icaoRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count); void onIcaoRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count);
//! Reload models //! Reload models
void ps_reload(); void onReload();
private: private:
QScopedPointer<Ui::CDbAirlineIcaoComponent> ui; QScopedPointer<Ui::CDbAirlineIcaoComponent> ui;

View File

@@ -125,7 +125,7 @@ namespace BlackGui
} }
else if (valueVariant.canConvert<CAirlineIcaoCodeList>()) else if (valueVariant.canConvert<CAirlineIcaoCodeList>())
{ {
CAirlineIcaoCodeList icaos(valueVariant.value<CAirlineIcaoCodeList>()); const CAirlineIcaoCodeList icaos(valueVariant.value<CAirlineIcaoCodeList>());
if (icaos.isEmpty()) { return; } if (icaos.isEmpty()) { return; }
this->setAirlineIcao(icaos.front()); this->setAirlineIcao(icaos.front());
} }
@@ -135,7 +135,7 @@ namespace BlackGui
void CDbAirlineIcaoSelectorBase::onCodesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbAirlineIcaoSelectorBase::onCodesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
if (!sGui) { return; } if (!sGui) { return; }
if (entity.testFlag(CEntityFlags::AirlineIcaoEntity) && readState == CEntityFlags::ReadFinished) if (entity.testFlag(CEntityFlags::AirlineIcaoEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
if (count > 0) if (count > 0)
{ {

View File

@@ -33,31 +33,32 @@ namespace BlackGui
ui->setupUi(this); ui->setupUi(this);
this->setViewWithIndicator(ui->tvp_Countries); this->setViewWithIndicator(ui->tvp_Countries);
ui->tvp_Countries->setResizeMode(CViewBaseNonTemplate::ResizingOnce); ui->tvp_Countries->setResizeMode(CViewBaseNonTemplate::ResizingOnce);
connect(ui->tvp_Countries, &CCountryView::requestNewBackendData, this, &CDbCountryComponent::ps_reload); connect(ui->tvp_Countries, &CCountryView::requestNewBackendData, this, &CDbCountryComponent::onReload);
// filter and drag and drop // filter and drag and drop
ui->tvp_Countries->setFilterWidget(ui->filter_CountryComponent); ui->tvp_Countries->setFilterWidget(ui->filter_CountryComponent);
ui->tvp_Countries->allowDragDrop(true, false); ui->tvp_Countries->allowDragDrop(true, false);
connect(sApp->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbCountryComponent::ps_countriesRead); connect(sApp->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbCountryComponent::onCountriesRead);
this->ps_countriesRead(CEntityFlags::CountryEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getCountriesCount()); this->onCountriesRead(CEntityFlags::CountryEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getCountriesCount());
} }
CDbCountryComponent::~CDbCountryComponent() CDbCountryComponent::~CDbCountryComponent()
{ } { }
void CDbCountryComponent::ps_countriesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbCountryComponent::onCountriesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
Q_UNUSED(count); Q_UNUSED(count);
if (entity.testFlag(CEntityFlags::CountryEntity) && readState == CEntityFlags::ReadFinished) if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; }
if (entity.testFlag(CEntityFlags::CountryEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
ui->tvp_Countries->updateContainerMaybeAsync(sApp->getWebDataServices()->getCountries()); ui->tvp_Countries->updateContainerMaybeAsync(sApp->getWebDataServices()->getCountries());
} }
} }
void CDbCountryComponent::ps_reload() void CDbCountryComponent::onReload()
{ {
if (!sGui || !sGui->getWebDataServices()) { return; } if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; }
sApp->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::CountryEntity); sApp->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::CountryEntity);
} }
} // ns } // ns

View File

@@ -45,12 +45,12 @@ namespace BlackGui
//! Destructor //! Destructor
virtual ~CDbCountryComponent(); virtual ~CDbCountryComponent();
private slots: private:
//! Countries have been read //! Countries have been read
void ps_countriesRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count); void onCountriesRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count);
//! Reload models //! Reload models
void ps_reload(); void onReload();
private: private:
QScopedPointer<Ui::CDbCountryComponent> ui; QScopedPointer<Ui::CDbCountryComponent> ui;

View File

@@ -156,8 +156,8 @@ namespace BlackGui
void CDbCountrySelectorComponent::onCountriesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbCountrySelectorComponent::onCountriesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
if (!sGui) { return; } if (!sGui || sGui->isShuttingDown() || !sGui->hasWebDataServices()) { return; }
if (entity.testFlag(CEntityFlags::DistributorEntity) && readState == CEntityFlags::ReadFinished) if (entity.testFlag(CEntityFlags::DistributorEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
if (count > 0) if (count > 0)
{ {
@@ -168,18 +168,18 @@ namespace BlackGui
connect(c, static_cast<void (QCompleter::*)(const QString &)>(&QCompleter::activated), this, &CDbCountrySelectorComponent::onCompleterActivated); connect(c, static_cast<void (QCompleter::*)(const QString &)>(&QCompleter::activated), this, &CDbCountrySelectorComponent::onCompleterActivated);
ui->le_CountryName->setCompleter(c); ui->le_CountryName->setCompleter(c);
this->m_completerCountryNames.reset(c); // deletes any old completer m_completerCountryNames.reset(c); // deletes any old completer
} }
else else
{ {
this->m_completerCountryNames.reset(nullptr); m_completerCountryNames.reset(nullptr);
} }
} }
} }
void CDbCountrySelectorComponent::onDataChanged() void CDbCountrySelectorComponent::onDataChanged()
{ {
if (!sGui) { return; } if (!sGui || sGui->isShuttingDown() || !sGui->hasWebDataServices()) { return; }
QObject *sender = this->sender(); QObject *sender = this->sender();
if (sender == ui->le_CountryIso) if (sender == ui->le_CountryIso)
{ {

View File

@@ -40,8 +40,8 @@ namespace BlackGui
ui->tvp_Distributors->setFilterWidget(ui->filter_Distributor); ui->tvp_Distributors->setFilterWidget(ui->filter_Distributor);
connect(ui->tvp_Distributors, &CDistributorView::requestNewBackendData, this, &CDbDistributorComponent::reload); connect(ui->tvp_Distributors, &CDistributorView::requestNewBackendData, this, &CDbDistributorComponent::reload);
connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbDistributorComponent::distributorsRead); connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbDistributorComponent::onDistributorsRead, Qt::QueuedConnection);
this->distributorsRead(CEntityFlags::DistributorEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getDistributorsCount()); this->onDistributorsRead(CEntityFlags::DistributorEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getDistributorsCount());
} }
CDbDistributorComponent::~CDbDistributorComponent() CDbDistributorComponent::~CDbDistributorComponent()
@@ -67,10 +67,11 @@ namespace BlackGui
return ui->tvp_Distributors->hasSelection(); return ui->tvp_Distributors->hasSelection();
} }
void CDbDistributorComponent::distributorsRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbDistributorComponent::onDistributorsRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
Q_UNUSED(count); Q_UNUSED(count);
if (entity.testFlag(CEntityFlags::DistributorEntity) && readState == CEntityFlags::ReadFinished) if (!sGui || sGui->isShuttingDown() || !sGui->hasWebDataServices()) { return; }
if (entity.testFlag(CEntityFlags::DistributorEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
ui->tvp_Distributors->updateContainer(sGui->getWebDataServices()->getDistributors()); ui->tvp_Distributors->updateContainer(sGui->getWebDataServices()->getDistributors());
} }
@@ -78,7 +79,7 @@ namespace BlackGui
void CDbDistributorComponent::reload() void CDbDistributorComponent::reload()
{ {
if (!sGui) { return; } if (!sGui || sGui->isShuttingDown() || !sGui->hasWebDataServices()) { return; }
sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::DistributorEntity); sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::DistributorEntity);
} }
} // ns } // ns

View File

@@ -21,8 +21,6 @@
#include <QObject> #include <QObject>
#include <QScopedPointer> #include <QScopedPointer>
class QWidget;
namespace Ui { class CDbDistributorComponent; } namespace Ui { class CDbDistributorComponent; }
namespace BlackMisc { namespace Simulation { class CSimulatorInfo; }} namespace BlackMisc { namespace Simulation { class CSimulatorInfo; }}
namespace BlackGui namespace BlackGui
@@ -63,7 +61,7 @@ namespace BlackGui
QScopedPointer<Ui::CDbDistributorComponent> ui; QScopedPointer<Ui::CDbDistributorComponent> ui;
//! Distributors have been read //! Distributors have been read
void distributorsRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count); void onDistributorsRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count);
//! Reload models //! Reload models
void reload(); void reload();

View File

@@ -175,7 +175,7 @@ namespace BlackGui
void CDbDistributorSelectorComponent::onDistributorsRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbDistributorSelectorComponent::onDistributorsRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
if (!sGui) { return; } if (!sGui) { return; }
if (entity.testFlag(CEntityFlags::DistributorEntity) && readState == CEntityFlags::ReadFinished) if (entity.testFlag(CEntityFlags::DistributorEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
if (count > 0) if (count > 0)
{ {

View File

@@ -31,15 +31,15 @@ namespace BlackGui
{ {
ui->setupUi(this); ui->setupUi(this);
this->setViewWithIndicator(ui->tvp_Liveries); this->setViewWithIndicator(ui->tvp_Liveries);
connect(ui->tvp_Liveries, &CLiveryView::requestNewBackendData, this, &CDbLiveryComponent::ps_reload); connect(ui->tvp_Liveries, &CLiveryView::requestNewBackendData, this, &CDbLiveryComponent::onReload);
// filter and drag and drop // filter and drag and drop
ui->tvp_Liveries->setFilterWidget(ui->filter_Livery); ui->tvp_Liveries->setFilterWidget(ui->filter_Livery);
ui->tvp_Liveries->allowDragDrop(true, false); ui->tvp_Liveries->allowDragDrop(true, false);
ui->tvp_Liveries->menuAddItems(CViewBaseNonTemplate::MenuCopy); ui->tvp_Liveries->menuAddItems(CViewBaseNonTemplate::MenuCopy);
connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbLiveryComponent::ps_liveriesRead); connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbLiveryComponent::onLiveriesRead);
this->ps_liveriesRead(CEntityFlags::LiveryEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getLiveriesCount()); this->onLiveriesRead(CEntityFlags::LiveryEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getLiveriesCount());
} }
CDbLiveryComponent::~CDbLiveryComponent() CDbLiveryComponent::~CDbLiveryComponent()
@@ -60,18 +60,19 @@ namespace BlackGui
ui->filter_Livery->filter(icao); ui->filter_Livery->filter(icao);
} }
void CDbLiveryComponent::ps_liveriesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbLiveryComponent::onLiveriesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
Q_UNUSED(count); Q_UNUSED(count);
if (entity.testFlag(CEntityFlags::LiveryEntity) && readState == CEntityFlags::ReadFinished) if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; }
if (entity.testFlag(CEntityFlags::LiveryEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
ui->tvp_Liveries->updateContainerMaybeAsync(sGui->getWebDataServices()->getLiveries()); ui->tvp_Liveries->updateContainerMaybeAsync(sGui->getWebDataServices()->getLiveries());
} }
} }
void CDbLiveryComponent::ps_reload() void CDbLiveryComponent::onReload()
{ {
if (!sGui) { return; } if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; }
sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::LiveryEntity); sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::LiveryEntity);
} }
} // ns } // ns

View File

@@ -58,12 +58,12 @@ namespace BlackGui
//! Filter by airline ICAO //! Filter by airline ICAO
void filterByAirline(const BlackMisc::Aviation::CAirlineIcaoCode &icao); void filterByAirline(const BlackMisc::Aviation::CAirlineIcaoCode &icao);
private slots: private:
//! Liveries codes have been read //! Liveries codes have been read
void ps_liveriesRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count); void onLiveriesRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count);
//! Reload models //! Reload models
void ps_reload(); void onReload();
private: private:
QScopedPointer<Ui::CDbLiveryComponent> ui; QScopedPointer<Ui::CDbLiveryComponent> ui;

View File

@@ -51,11 +51,11 @@ namespace BlackGui
ui->le_Livery->setValidator(new CUpperCaseValidator(this)); ui->le_Livery->setValidator(new CUpperCaseValidator(this));
connect(ui->le_Livery, &QLineEdit::returnPressed, this, &CDbLiverySelectorComponent::ps_dataChanged); connect(ui->le_Livery, &QLineEdit::returnPressed, this, &CDbLiverySelectorComponent::onDataChanged);
connect(ui->le_Livery, &QLineEdit::returnPressed, this, &CDbLiverySelectorComponent::ps_dataChanged); connect(ui->le_Livery, &QLineEdit::returnPressed, this, &CDbLiverySelectorComponent::onDataChanged);
connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbLiverySelectorComponent::ps_liveriesRead); connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbLiverySelectorComponent::onLiveriesRead, Qt::QueuedConnection);
this->ps_liveriesRead(CEntityFlags::LiveryEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getLiveriesCount()); this->onLiveriesRead(CEntityFlags::LiveryEntity, CEntityFlags::ReadFinished, sGui->getWebDataServices()->getLiveriesCount());
} }
CDbLiverySelectorComponent::~CDbLiverySelectorComponent() CDbLiverySelectorComponent::~CDbLiverySelectorComponent()
@@ -87,7 +87,7 @@ namespace BlackGui
s = liveryCode.indexOf('('); s = liveryCode.indexOf('(');
if (s >= 1) { liveryCode = liveryCode.left(s).trimmed(); } if (s >= 1) { liveryCode = liveryCode.left(s).trimmed(); }
if (this->m_currentLivery.matchesCombinedCode(liveryCode)) { return; } if (m_currentLivery.matchesCombinedCode(liveryCode)) { return; }
CLivery d(sApp->getWebDataServices()->getLiveries().findByCombinedCode(liveryCode)); CLivery d(sApp->getWebDataServices()->getLiveries().findByCombinedCode(liveryCode));
if (d.hasCompleteData()) if (d.hasCompleteData())
{ {
@@ -114,7 +114,7 @@ namespace BlackGui
} }
else else
{ {
return this->m_currentLivery; return m_currentLivery;
} }
} }
@@ -147,7 +147,7 @@ namespace BlackGui
void CDbLiverySelectorComponent::dragEnterEvent(QDragEnterEvent *event) void CDbLiverySelectorComponent::dragEnterEvent(QDragEnterEvent *event)
{ {
if (!event || !acceptDrop(event->mimeData())) { return; } if (!event || !acceptDrop(event->mimeData())) { return; }
setBackgroundRole(QPalette::Highlight); this->setBackgroundRole(QPalette::Highlight);
event->acceptProposedAction(); event->acceptProposedAction();
} }
@@ -171,23 +171,23 @@ namespace BlackGui
{ {
if (valueVariant.canConvert<CLivery>()) if (valueVariant.canConvert<CLivery>())
{ {
CLivery livery(valueVariant.value<CLivery>()); const CLivery livery(valueVariant.value<CLivery>());
if (!livery.hasValidDbKey()) { return; } if (!livery.hasValidDbKey()) { return; }
this->setLivery(livery); this->setLivery(livery);
} }
else if (valueVariant.canConvert<CLiveryList>()) else if (valueVariant.canConvert<CLiveryList>())
{ {
CLiveryList liveries(valueVariant.value<CLiveryList>()); const CLiveryList liveries(valueVariant.value<CLiveryList>());
if (liveries.isEmpty()) { return; } if (liveries.isEmpty()) { return; }
this->setLivery(liveries.front()); this->setLivery(liveries.front());
} }
} }
} }
void CDbLiverySelectorComponent::ps_liveriesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbLiverySelectorComponent::onLiveriesRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
if (!sApp) { return; } if (!sGui || sGui->isShuttingDown() || !sGui->hasWebDataServices()) { return; }
if (entity.testFlag(CEntityFlags::LiveryEntity) && readState == CEntityFlags::ReadFinished) if (entity.testFlag(CEntityFlags::LiveryEntity) && CEntityFlags::isFinishedReadState(readState))
{ {
if (count > 0) if (count > 0)
{ {
@@ -196,21 +196,21 @@ namespace BlackGui
c->setCaseSensitivity(Qt::CaseInsensitive); c->setCaseSensitivity(Qt::CaseInsensitive);
c->setCompletionMode(QCompleter::PopupCompletion); c->setCompletionMode(QCompleter::PopupCompletion);
c->setMaxVisibleItems(10); c->setMaxVisibleItems(10);
connect(c, static_cast<void (QCompleter::*)(const QString &)>(&QCompleter::activated), this, &CDbLiverySelectorComponent::ps_completerActivated); connect(c, static_cast<void (QCompleter::*)(const QString &)>(&QCompleter::activated), this, &CDbLiverySelectorComponent::onCompleterActivated);
ui->le_Livery->setCompleter(c); ui->le_Livery->setCompleter(c);
m_completerLiveries.reset(c); // deletes any old completer m_completerLiveries.reset(c); // deletes any old completer
} }
else else
{ {
this->m_completerLiveries.reset(nullptr); m_completerLiveries.reset(nullptr);
} }
} }
} }
void CDbLiverySelectorComponent::ps_dataChanged() void CDbLiverySelectorComponent::onDataChanged()
{ {
if (!sApp) { return; } if (!sGui || sGui->isShuttingDown() || !sGui->hasWebDataServices()) { return; }
const QString code( const QString code(
this->stripExtraInfo(ui->le_Livery->text()) this->stripExtraInfo(ui->le_Livery->text())
); );
@@ -219,7 +219,7 @@ namespace BlackGui
this->setLivery(livery); this->setLivery(livery);
} }
void CDbLiverySelectorComponent::ps_completerActivated(const QString &liveryCode) void CDbLiverySelectorComponent::onCompleterActivated(const QString &liveryCode)
{ {
this->setlivery(liveryCode); this->setlivery(liveryCode);
} }

View File

@@ -50,7 +50,7 @@ namespace BlackGui
explicit CDbLiverySelectorComponent(QWidget *parent = nullptr); explicit CDbLiverySelectorComponent(QWidget *parent = nullptr);
//! Destructor //! Destructor
~CDbLiverySelectorComponent(); virtual ~CDbLiverySelectorComponent();
//! Current livery //! Current livery
void setLivery(const BlackMisc::Aviation::CLivery &livery); void setLivery(const BlackMisc::Aviation::CLivery &livery);
@@ -93,17 +93,16 @@ namespace BlackGui
//! \copydoc QWidget::dropEvent //! \copydoc QWidget::dropEvent
virtual void dropEvent(QDropEvent *event) override; virtual void dropEvent(QDropEvent *event) override;
private slots: private:
//! Data have been changed //! Data have been changed
void ps_dataChanged(); void onDataChanged();
//! Completer activated //! Completer activated
void ps_completerActivated(const QString &liveryCode); void onCompleterActivated(const QString &liveryCode);
//! Distributors have been read //! Distributors have been read
void ps_liveriesRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count); void onLiveriesRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count);
private:
//! Strip extra info from livery code //! Strip extra info from livery code
QString stripExtraInfo(const QString &liveryCode) const; QString stripExtraInfo(const QString &liveryCode) const;

View File

@@ -44,16 +44,16 @@ namespace BlackGui
ui->tvp_AircraftModel->menuAddItems(CAircraftModelView::MenuStashing); ui->tvp_AircraftModel->menuAddItems(CAircraftModelView::MenuStashing);
ui->tvp_AircraftModel->menuAddItems(CViewBaseNonTemplate::MenuCopy); ui->tvp_AircraftModel->menuAddItems(CViewBaseNonTemplate::MenuCopy);
ui->tvp_AircraftModel->menuRemoveItems(CAircraftModelView::MenuHighlightStashed); // not supported here ui->tvp_AircraftModel->menuRemoveItems(CAircraftModelView::MenuHighlightStashed); // not supported here
connect(ui->tvp_AircraftModel, &CAircraftModelView::requestNewBackendData, this, &CDbModelComponent::ps_reload); connect(ui->tvp_AircraftModel, &CAircraftModelView::requestNewBackendData, this, &CDbModelComponent::onReload);
connect(ui->tvp_AircraftModel, &CAircraftModelView::requestStash, this, &CDbModelComponent::requestStash); connect(ui->tvp_AircraftModel, &CAircraftModelView::requestStash, this, &CDbModelComponent::requestStash);
connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CDbModelComponent::ps_onStyleSheetChanged); connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CDbModelComponent::onStyleSheetChanged);
// configure view // configure view
ui->tvp_AircraftModel->setFilterWidget(ui->filter_AircraftModelFilter); ui->tvp_AircraftModel->setFilterWidget(ui->filter_AircraftModelFilter);
ui->tvp_AircraftModel->allowDragDrop(true, false); ui->tvp_AircraftModel->allowDragDrop(true, false);
connect(sApp->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbModelComponent::ps_modelsRead); connect(sApp->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbModelComponent::onModelsRead);
this->ps_modelsRead(CEntityFlags::ModelEntity, CEntityFlags::ReadFinished, sApp->getWebDataServices()->getModelsCount()); this->onModelsRead(CEntityFlags::ModelEntity, CEntityFlags::ReadFinished, sApp->getWebDataServices()->getModelsCount());
} }
CDbModelComponent::~CDbModelComponent() CDbModelComponent::~CDbModelComponent()
@@ -77,37 +77,29 @@ namespace BlackGui
sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::ModelEntity, ts); sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::ModelEntity, ts);
} }
void CDbModelComponent::ps_modelsRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) void CDbModelComponent::onModelsRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count)
{ {
Q_UNUSED(count); Q_UNUSED(count);
if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; }
if (entity.testFlag(CEntityFlags::ModelEntity)) if (entity.testFlag(CEntityFlags::ModelEntity))
{ {
if (readState == CEntityFlags::ReadFinished || readState == CEntityFlags::ReadFinishedRestricted) if (CEntityFlags::isFinishedReadState(readState))
{ {
ui->tvp_AircraftModel->updateContainerMaybeAsync(sGui->getWebDataServices()->getModels()); ui->tvp_AircraftModel->updateContainerMaybeAsync(sGui->getWebDataServices()->getModels());
} }
} }
} }
void CDbModelComponent::ps_reload() void CDbModelComponent::onReload()
{ {
if (!sGui) { return; } if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; }
sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::ModelEntity); sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::ModelEntity);
} }
void CDbModelComponent::ps_onStyleSheetChanged() void CDbModelComponent::onStyleSheetChanged()
{ {
// code goes here // code goes here
} }
void CDbModelComponent::ps_stashSelectedModels()
{
if (!ui->tvp_AircraftModel->hasSelection()) { return; }
const CAircraftModelList models(ui->tvp_AircraftModel->selectedObjects());
if (!models.isEmpty())
{
emit requestStash(models);
}
}
} // ns } // ns
} // ns } // ns

View File

@@ -59,22 +59,19 @@ namespace BlackGui
//! Request to stash the selected models //! Request to stash the selected models
void requestStash(const BlackMisc::Simulation::CAircraftModelList &models); void requestStash(const BlackMisc::Simulation::CAircraftModelList &models);
public slots: public:
//! Load new data //! Load new data
void requestUpdatedData(); void requestUpdatedData();
private slots: private:
//! Models have been read //! Models have been read
void ps_modelsRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count); void onModelsRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count);
//! Reload models //! Reload models
void ps_reload(); void onReload();
//! Style sheet changed //! Style sheet changed
void ps_onStyleSheetChanged(); void onStyleSheetChanged();
//! Stash the selected models
void ps_stashSelectedModels();
private: private:
QScopedPointer<Ui::CDbModelComponent> ui; QScopedPointer<Ui::CDbModelComponent> ui;

View File

@@ -304,7 +304,7 @@ namespace BlackGui
void CLoginComponent::onWebServiceDataRead(CEntityFlags::Entity entity, CEntityFlags::ReadState state, int number) void CLoginComponent::onWebServiceDataRead(CEntityFlags::Entity entity, CEntityFlags::ReadState state, int number)
{ {
if (state != CEntityFlags::ReadFinished) { return; } if (!CEntityFlags::isFinishedReadState(state)) { return; }
Q_UNUSED(number); Q_UNUSED(number);
if (entity == CEntityFlags::VatsimDataFile) if (entity == CEntityFlags::VatsimDataFile)

View File

@@ -73,7 +73,7 @@ namespace BlackGui
connect(ui->comp_SimulatorSelector, &CSimulatorSelector::changed, this, &CModelMatcherComponent::onSimulatorChanged); connect(ui->comp_SimulatorSelector, &CSimulatorSelector::changed, this, &CModelMatcherComponent::onSimulatorChanged);
connect(ui->pb_ModelMatching, &QPushButton::pressed, this, &CModelMatcherComponent::testModelMatching); connect(ui->pb_ModelMatching, &QPushButton::pressed, this, &CModelMatcherComponent::testModelMatching);
connect(ui->pb_ReverseLookup, &QPushButton::pressed, this, &CModelMatcherComponent::reverseLookup); connect(ui->pb_ReverseLookup, &QPushButton::pressed, this, &CModelMatcherComponent::reverseLookup);
connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CModelMatcherComponent::onWebDataRed); connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CModelMatcherComponent::onWebDataRead);
this->redisplay(); this->redisplay();
} }
@@ -137,9 +137,9 @@ namespace BlackGui
ui->tvp_ResultMessages->updateContainer(msgs); ui->tvp_ResultMessages->updateContainer(msgs);
} }
void CModelMatcherComponent::onWebDataRed(CEntityFlags::Entity entity, CEntityFlags::ReadState state, int number) void CModelMatcherComponent::onWebDataRead(CEntityFlags::Entity entity, CEntityFlags::ReadState state, int number)
{ {
if (number > 0 && entity.testFlag(CEntityFlags::ModelEntity) && state == CEntityFlags::ReadFinished) if (number > 0 && entity.testFlag(CEntityFlags::ModelEntity) && CEntityFlags::isFinishedReadState(state))
{ {
const QStringList modelStrings(sGui->getWebDataServices()->getModelStrings(true)); const QStringList modelStrings(sGui->getWebDataServices()->getModelStrings(true));
ui->le_ModelString->setCompleter(new QCompleter(modelStrings, this)); ui->le_ModelString->setCompleter(new QCompleter(modelStrings, this));

View File

@@ -53,7 +53,7 @@ namespace BlackGui
void onCacheChanged(BlackMisc::Simulation::CSimulatorInfo &simulator); void onCacheChanged(BlackMisc::Simulation::CSimulatorInfo &simulator);
//! Web data have been read //! Web data have been read
void onWebDataRed(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState state, int number); void onWebDataRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState state, int number);
//! Run the matcher //! Run the matcher
void testModelMatching(); void testModelMatching();