mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-04 17:30:12 +08:00
Avoid redundant update of model set ui
* added changed simulator in signal * only changed once when cache changed
This commit is contained in:
@@ -95,7 +95,7 @@ namespace BlackCore
|
|||||||
void renderRestrictionsChanged(bool restricted, bool enabled, int maxAircraft, const BlackMisc::PhysicalQuantities::CLength &maxRenderedDistance);
|
void renderRestrictionsChanged(bool restricted, bool enabled, int maxAircraft, const BlackMisc::PhysicalQuantities::CLength &maxRenderedDistance);
|
||||||
|
|
||||||
//! Model set ready or changed
|
//! Model set ready or changed
|
||||||
void modelSetChanged();
|
void modelSetChanged(const BlackMisc::Simulation::CSimulatorInfo &simulator);
|
||||||
|
|
||||||
//! A single model has been matched for given aircraft
|
//! A single model has been matched for given aircraft
|
||||||
void modelMatchingCompleted(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
void modelMatchingCompleted(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||||
|
|||||||
@@ -68,7 +68,8 @@ namespace BlackCore
|
|||||||
this->restoreSimulatorPlugins();
|
this->restoreSimulatorPlugins();
|
||||||
|
|
||||||
connect(&m_weatherManager, &CWeatherManager::weatherGridReceived, this, &CContextSimulator::weatherGridReceived);
|
connect(&m_weatherManager, &CWeatherManager::weatherGridReceived, this, &CContextSimulator::weatherGridReceived);
|
||||||
connect(&m_modelSetLoader, &CAircraftModelSetLoader::simulatorChanged, this, &CContextSimulator::modelSetChanged);
|
// seems to be redundant, as changed sim will cause changed cache
|
||||||
|
// connect(&m_modelSetLoader, &CAircraftModelSetLoader::simulatorChanged, this, &CDigestSignal::modelSetChanged);
|
||||||
connect(&m_modelSetLoader, &CAircraftModelSetLoader::cacheChanged, this, &CContextSimulator::modelSetChanged);
|
connect(&m_modelSetLoader, &CAircraftModelSetLoader::cacheChanged, this, &CContextSimulator::modelSetChanged);
|
||||||
|
|
||||||
// deferred init of last model set, if no other data are set in meantime
|
// deferred init of last model set, if no other data are set in meantime
|
||||||
@@ -534,7 +535,7 @@ namespace BlackCore
|
|||||||
void CContextSimulator::onModelSetChanged(const CSimulatorInfo &simulator)
|
void CContextSimulator::onModelSetChanged(const CSimulatorInfo &simulator)
|
||||||
{
|
{
|
||||||
Q_UNUSED(simulator);
|
Q_UNUSED(simulator);
|
||||||
emit this->modelSetChanged();
|
emit this->modelSetChanged(simulator);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CContextSimulator::xCtxTextMessagesReceived(const Network::CTextMessageList &textMessages)
|
void CContextSimulator::xCtxTextMessagesReceived(const Network::CTextMessageList &textMessages)
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace BlackCore
|
|||||||
"simulatorStatusChanged", this, SIGNAL(simulatorStatusChanged(int)));
|
"simulatorStatusChanged", this, SIGNAL(simulatorStatusChanged(int)));
|
||||||
Q_ASSERT(s);
|
Q_ASSERT(s);
|
||||||
s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(),
|
s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(),
|
||||||
"modelSetChanged", this, SIGNAL(modelSetChanged()));
|
"modelSetChanged", this, SIGNAL(modelSetChanged(BlackMisc::Simulation::CSimulatorInfo)));
|
||||||
Q_ASSERT(s);
|
Q_ASSERT(s);
|
||||||
s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(),
|
s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(),
|
||||||
"ownAircraftModelChanged", this, SIGNAL(ownAircraftModelChanged(BlackMisc::Simulation::CAircraftModel)));
|
"ownAircraftModelChanged", this, SIGNAL(ownAircraftModelChanged(BlackMisc::Simulation::CAircraftModel)));
|
||||||
|
|||||||
@@ -143,8 +143,9 @@ namespace BlackGui
|
|||||||
connect(ui->tvp_RenderedAircraft, &CAircraftModelView::objectChanged, this, &CMappingComponent::onChangedSimulatedAircraftInView);
|
connect(ui->tvp_RenderedAircraft, &CAircraftModelView::objectChanged, this, &CMappingComponent::onChangedSimulatedAircraftInView);
|
||||||
|
|
||||||
// with external core models might be already available
|
// with external core models might be already available
|
||||||
this->onModelSetSimulatorChanged(ui->comp_SimulatorSelector->getValue());
|
const CSimulatorInfo sim(ui->comp_SimulatorSelector->getValue());
|
||||||
this->onModelSetChanged();
|
this->onModelSetSimulatorChanged(sim);
|
||||||
|
this->onModelSetChanged(sim);
|
||||||
}
|
}
|
||||||
|
|
||||||
CMappingComponent::~CMappingComponent()
|
CMappingComponent::~CMappingComponent()
|
||||||
@@ -168,7 +169,7 @@ namespace BlackGui
|
|||||||
return ui->tvp_AircraftModels->container().findModelsStartingWith(modelName, cs);
|
return ui->tvp_AircraftModels->container().findModelsStartingWith(modelName, cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMappingComponent::onModelSetChanged()
|
void CMappingComponent::onModelSetChanged(const CSimulatorInfo &simulator)
|
||||||
{
|
{
|
||||||
if (ui->tvp_AircraftModels->displayAutomatically())
|
if (ui->tvp_AircraftModels->displayAutomatically())
|
||||||
{
|
{
|
||||||
@@ -176,7 +177,7 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CLogMessage(this).info("Models loaded, you can update the model view");
|
CLogMessage(this).info("Model set loaded ('%1'), you can update the model view") << simulator.toQString(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// change completer
|
// change completer
|
||||||
|
|||||||
@@ -79,9 +79,9 @@ namespace BlackGui
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
//! Aircraft models available
|
//! Aircraft models available
|
||||||
void onModelSetChanged();
|
void onModelSetChanged(const BlackMisc::Simulation::CSimulatorInfo &simulator);
|
||||||
|
|
||||||
//! Changed count
|
//! Changed count of rendered or aircraft model count
|
||||||
void onRowCountChanged(int count, bool withFilter);
|
void onRowCountChanged(int count, bool withFilter);
|
||||||
|
|
||||||
//! Simulated aircraft did change in view
|
//! Simulated aircraft did change in view
|
||||||
|
|||||||
Reference in New Issue
Block a user