mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-08-12 20:55:39 +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);
|
||||
|
||||
//! Model set ready or changed
|
||||
void modelSetChanged();
|
||||
void modelSetChanged(const BlackMisc::Simulation::CSimulatorInfo &simulator);
|
||||
|
||||
//! A single model has been matched for given aircraft
|
||||
void modelMatchingCompleted(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||
|
||||
@@ -68,7 +68,8 @@ namespace BlackCore
|
||||
this->restoreSimulatorPlugins();
|
||||
|
||||
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);
|
||||
|
||||
// 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)
|
||||
{
|
||||
Q_UNUSED(simulator);
|
||||
emit this->modelSetChanged();
|
||||
emit this->modelSetChanged(simulator);
|
||||
}
|
||||
|
||||
void CContextSimulator::xCtxTextMessagesReceived(const Network::CTextMessageList &textMessages)
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace BlackCore
|
||||
"simulatorStatusChanged", this, SIGNAL(simulatorStatusChanged(int)));
|
||||
Q_ASSERT(s);
|
||||
s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(),
|
||||
"modelSetChanged", this, SIGNAL(modelSetChanged()));
|
||||
"modelSetChanged", this, SIGNAL(modelSetChanged(BlackMisc::Simulation::CSimulatorInfo)));
|
||||
Q_ASSERT(s);
|
||||
s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(),
|
||||
"ownAircraftModelChanged", this, SIGNAL(ownAircraftModelChanged(BlackMisc::Simulation::CAircraftModel)));
|
||||
|
||||
@@ -143,8 +143,9 @@ namespace BlackGui
|
||||
connect(ui->tvp_RenderedAircraft, &CAircraftModelView::objectChanged, this, &CMappingComponent::onChangedSimulatedAircraftInView);
|
||||
|
||||
// with external core models might be already available
|
||||
this->onModelSetSimulatorChanged(ui->comp_SimulatorSelector->getValue());
|
||||
this->onModelSetChanged();
|
||||
const CSimulatorInfo sim(ui->comp_SimulatorSelector->getValue());
|
||||
this->onModelSetSimulatorChanged(sim);
|
||||
this->onModelSetChanged(sim);
|
||||
}
|
||||
|
||||
CMappingComponent::~CMappingComponent()
|
||||
@@ -168,7 +169,7 @@ namespace BlackGui
|
||||
return ui->tvp_AircraftModels->container().findModelsStartingWith(modelName, cs);
|
||||
}
|
||||
|
||||
void CMappingComponent::onModelSetChanged()
|
||||
void CMappingComponent::onModelSetChanged(const CSimulatorInfo &simulator)
|
||||
{
|
||||
if (ui->tvp_AircraftModels->displayAutomatically())
|
||||
{
|
||||
@@ -176,7 +177,7 @@ namespace BlackGui
|
||||
}
|
||||
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
|
||||
|
||||
@@ -79,9 +79,9 @@ namespace BlackGui
|
||||
|
||||
private:
|
||||
//! 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);
|
||||
|
||||
//! Simulated aircraft did change in view
|
||||
|
||||
Reference in New Issue
Block a user