Make originators calling updateAircraftModel identifable

refs #765
This commit is contained in:
Roland Winklmeier
2016-09-09 21:48:57 +02:00
parent 004ca4f0ca
commit 40d4c7774d
16 changed files with 46 additions and 27 deletions

View File

@@ -58,6 +58,7 @@ namespace BlackGui
{
CMappingComponent::CMappingComponent(QWidget *parent) :
QFrame(parent),
CIdentifiable(this),
ui(new Ui::CMappingComponent),
m_updateTimer(new CUpdateTimer("CMappingComponent", &CMappingComponent::ps_backgroundUpdate, this))
{
@@ -273,7 +274,7 @@ namespace BlackGui
CAircraftModel model(models.front());
model.setModelType(CAircraftModel::TypeManuallySet);
CLogMessage(this).info("Requesting changes for %1") << callsign.asString();
sGui->getIContextNetwork()->updateAircraftModel(aircraftFromBackend.getCallsign(), model);
sGui->getIContextNetwork()->updateAircraftModel(aircraftFromBackend.getCallsign(), model, identifier());
changed = true;
}
if (aircraftFromBackend.isEnabled() != enabled)
@@ -324,8 +325,9 @@ namespace BlackGui
ui->le_AircraftModel->setCompleter(this->m_modelCompleter);
}
void CMappingComponent::ps_onRemoteAircraftModelChanged(const CSimulatedAircraft &aircraft)
void CMappingComponent::ps_onRemoteAircraftModelChanged(const CSimulatedAircraft &aircraft, const CIdentifier &originator)
{
if (CIdentifiable::isMyIdentifier(originator)) { return; }
this->updateSimulatedAircraftView();
Q_UNUSED(aircraft);
}

View File

@@ -15,6 +15,7 @@
#include "blackcore/network.h"
#include "blackgui/blackguiexport.h"
#include "blackgui/components/enablefordockwidgetinfoarea.h"
#include "blackmisc/identifiable.h"
#include "blackmisc/identifier.h"
#include "blackmisc/propertyindex.h"
#include "blackmisc/simulation/aircraftmodellist.h"
@@ -48,7 +49,8 @@ namespace BlackGui
//! Mappings, models etc.
class BLACKGUI_EXPORT CMappingComponent :
public QFrame,
public CEnableForDockWidgetInfoArea
public CEnableForDockWidgetInfoArea,
public BlackMisc::CIdentifiable
{
Q_OBJECT
@@ -105,7 +107,7 @@ namespace BlackGui
void ps_onModelsUpdateRequested();
//! Rendered aircraft changed in backend
void ps_onRemoteAircraftModelChanged(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
void ps_onRemoteAircraftModelChanged(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const BlackMisc::CIdentifier &originator);
//! Aircraft enabled, disabled in backend
void ps_onChangedAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);