diff --git a/src/blackcore/context/contextownaircraft.h b/src/blackcore/context/contextownaircraft.h index 895dbb235..7b2f793a5 100644 --- a/src/blackcore/context/contextownaircraft.h +++ b/src/blackcore/context/contextownaircraft.h @@ -55,7 +55,6 @@ namespace BlackCore { namespace Context { - //! Own context proxy //! \ingroup dbus class BLACKCORE_EXPORT IContextOwnAircraft : public CContext diff --git a/src/blackcore/context/contextownaircraftimpl.cpp b/src/blackcore/context/contextownaircraftimpl.cpp index f670ef99a..9c397c405 100644 --- a/src/blackcore/context/contextownaircraftimpl.cpp +++ b/src/blackcore/context/contextownaircraftimpl.cpp @@ -117,7 +117,7 @@ namespace BlackCore ownAircraft.initComSystems(); ownAircraft.initTransponder(); - CAircraftSituation situation( + const CAircraftSituation situation( CCoordinateGeodetic( CLatitude::fromWgs84("N 049° 18' 17"), CLongitude::fromWgs84("E 008° 27' 05"), @@ -130,7 +130,7 @@ namespace BlackCore // reverse lookup if possible if (!ownAircraft.getModel().isLoadedFromDb() && !ownAircraft.getModelString().isEmpty()) { - ownAircraft.setModel(reverseLookupModel(ownAircraft.getModelString())); + ownAircraft.setModel(this->reverseLookupModel(ownAircraft.getModelString())); } // override empty values @@ -187,6 +187,7 @@ namespace BlackCore { if (modelString.isEmpty()) { return CAircraftModel(); } if (!sApp || !sApp->hasWebDataServices()) { return CAircraftModel(); } + if (sApp->getWebDataServices()->getModelsCount() < 1) { return CAircraftModel(); } const CAircraftModel reverseLookupModel = sApp->getWebDataServices()->getModelForModelString(modelString); return reverseLookupModel; } @@ -195,7 +196,7 @@ namespace BlackCore { // reverse lookup if not yet from DB: // this is the central place where we keep our own model, so we use best effort - // to make that model as accuarate as we can + // to make that model as accurate as we can CAircraftModel updateModel(model); if (!updateModel.isLoadedFromDb()) { @@ -209,10 +210,10 @@ namespace BlackCore } } + updateModel.setModelType(CAircraftModel::TypeOwnSimulatorModel); QWriteLocker l(&m_lockAircraft); const bool changed = (this->m_ownAircraft.getModel() != updateModel); if (!changed) { return false; } - updateModel.setModelType(CAircraftModel::TypeOwnSimulatorModel); this->m_ownAircraft.setModel(updateModel); return true; } @@ -296,7 +297,7 @@ namespace BlackCore if (this->m_ownAircraft.getPilot() == pilot) { return false; } this->m_ownAircraft.setPilot(pilot); } - emit changedPilot(pilot); + emit this->changedPilot(pilot); return true; } @@ -307,7 +308,7 @@ namespace BlackCore if (this->m_ownAircraft.getCallsign() == callsign) { return false; } this->m_ownAircraft.setCallsign(callsign); } - emit changedCallsign(callsign); + emit this->changedCallsign(callsign); return true; } @@ -317,7 +318,7 @@ namespace BlackCore QWriteLocker l(&m_lockAircraft); return this->m_ownAircraft.setIcaoCodes(aircraftIcaoCode, airlineIcaoCode); } - emit changedAircraftIcaoCodes(aircraftIcaoCode, airlineIcaoCode); + emit this->changedAircraftIcaoCodes(aircraftIcaoCode, airlineIcaoCode); } bool CContextOwnAircraft::updateSelcal(const CSelcal &selcal, const CIdentifier &originator) diff --git a/src/blackcore/context/contextownaircraftimpl.h b/src/blackcore/context/contextownaircraftimpl.h index 22921a66a..ce56a575b 100644 --- a/src/blackcore/context/contextownaircraftimpl.h +++ b/src/blackcore/context/contextownaircraftimpl.h @@ -169,10 +169,10 @@ namespace BlackCore private: BlackMisc::Simulation::CSimulatedAircraft m_ownAircraft; //!< my aircraft - bool m_automaticVoiceRoomResolution = true; //!< automatic voice room resolution, or disable for override - QString m_voiceRoom1UrlOverride; //!< overridden voice room url - QString m_voiceRoom2UrlOverride; //!< overridden voice room url - mutable QReadWriteLock m_lockAircraft; //!< lock aircraft + bool m_automaticVoiceRoomResolution = true; //!< automatic voice room resolution, or disable for override + QString m_voiceRoom1UrlOverride; //!< overridden voice room url + QString m_voiceRoom2UrlOverride; //!< overridden voice room url + mutable QReadWriteLock m_lockAircraft; //!< lock aircraft BlackMisc::CSetting m_currentNetworkServer { this }; diff --git a/src/blackcore/simulator.h b/src/blackcore/simulator.h index b420dded4..b8a275be8 100644 --- a/src/blackcore/simulator.h +++ b/src/blackcore/simulator.h @@ -179,12 +179,10 @@ namespace BlackCore static QString statusToString(int status); //! Status to enum - //! \todo remove with Qt 5.5 when SimulatorStatus can be transferred via DBus static SimulatorStatus statusToEnum(int status); signals: //! Simulator combined status - //! \todo Qt5.5: Make use of QFlags void simulatorStatusChanged(int status); //! Emitted when own aircraft model has changed diff --git a/src/blackcore/simulatorcommon.cpp b/src/blackcore/simulatorcommon.cpp index 9172600c7..68a9806a5 100644 --- a/src/blackcore/simulatorcommon.cpp +++ b/src/blackcore/simulatorcommon.cpp @@ -190,8 +190,8 @@ namespace BlackCore m_maxRenderedAircraft = maxRenderedAircraft; } - bool r = isRenderingRestricted(); - bool e = isRenderingEnabled(); + const bool r = isRenderingRestricted(); + const bool e = isRenderingEnabled(); emit renderRestrictionsChanged(r, e, getMaxRenderedAircraft(), getMaxRenderedDistance(), getRenderedDistanceBoundary()); } @@ -214,8 +214,8 @@ namespace BlackCore m_maxRenderedDistance = distance; } - bool r = isRenderingRestricted(); - bool e = isRenderingEnabled(); + const bool r = isRenderingRestricted(); + const bool e = isRenderingEnabled(); emit renderRestrictionsChanged(r, e, getMaxRenderedAircraft(), getMaxRenderedDistance(), getRenderedDistanceBoundary()); } @@ -333,7 +333,7 @@ namespace BlackCore CCallsignSet callsignsToBeAdded(snapshot.getEnabledAircraftCallsignsByDistance().difference(callsignsInSimulator)); if (!callsignsToBeRemoved.isEmpty()) { - int r = this->physicallyRemoveMultipleRemoteAircraft(callsignsToBeRemoved); + const int r = this->physicallyRemoveMultipleRemoteAircraft(callsignsToBeRemoved); changed = r > 0; } @@ -351,7 +351,7 @@ namespace BlackCore else { // no rendering at all, we remove everything - int r = this->physicallyRemoveAllRemoteAircraft(); + const int r = this->physicallyRemoveAllRemoteAircraft(); changed = r > 0; } diff --git a/src/blackcore/simulatorcommon.h b/src/blackcore/simulatorcommon.h index 7b3c4aae2..54d262a9d 100644 --- a/src/blackcore/simulatorcommon.h +++ b/src/blackcore/simulatorcommon.h @@ -133,15 +133,15 @@ namespace BlackCore BlackMisc::Simulation::CAircraftModel m_defaultModel; //!< default model private: - bool m_debugMessages = false; //!< Display debug messages - bool m_blinkCycle = false; //!< use for highlighting - qint64 m_highlightEndTimeMsEpoch = 0; //!< end highlighting - int m_timerCounter = 0; //!< allows to calculate n seconds - QTimer m_oneSecondTimer {this}; //!< multi purpose timer + bool m_debugMessages = false; //!< Display debug messages + bool m_blinkCycle = false; //!< use for highlighting + qint64 m_highlightEndTimeMsEpoch = 0; //!< end highlighting + int m_timerCounter = 0; //!< allows to calculate n seconds + int m_maxRenderedAircraft = MaxAircraftInfinite; //!< max.rendered aircraft + QTimer m_oneSecondTimer {this}; //!< multi purpose timer BlackMisc::Simulation::CSimulatorPluginInfo m_simulatorPluginInfo; //!< info object BlackMisc::Simulation::CSimulatedAircraftList m_highlightedAircraft; //!< all other aircraft are to be ignored BlackMisc::Aviation::CCallsignSet m_callsignsToBeRendered; //!< callsigns which will be rendered - int m_maxRenderedAircraft = MaxAircraftInfinite; //!< max.rendered aircraft BlackMisc::PhysicalQuantities::CLength m_maxRenderedDistance { 0.0, BlackMisc::PhysicalQuantities::CLengthUnit::nullUnit()}; //!< max.distance for rendering BlackMisc::CConnectionGuard m_remoteAircraftProviderConnections; //!< connected signal/slots }; diff --git a/src/blackmisc/simulation/ownaircraftprovider.cpp b/src/blackmisc/simulation/ownaircraftprovider.cpp index 3dbb79a11..68697eb8f 100644 --- a/src/blackmisc/simulation/ownaircraftprovider.cpp +++ b/src/blackmisc/simulation/ownaircraftprovider.cpp @@ -17,7 +17,6 @@ namespace BlackMisc { namespace Simulation { - const CSimulatedAircraft COwnAircraftAware::getOwnAircraft() const { Q_ASSERT_X(this->m_ownAircraftProvider, Q_FUNC_INFO, "No object available"); diff --git a/src/plugins/simulator/fscommon/simulatorfscommon.cpp b/src/plugins/simulator/fscommon/simulatorfscommon.cpp index be5b7b963..5dd9957bb 100644 --- a/src/plugins/simulator/fscommon/simulatorfscommon.cpp +++ b/src/plugins/simulator/fscommon/simulatorfscommon.cpp @@ -76,12 +76,16 @@ namespace BlackSimPlugin void CSimulatorFsCommon::setOwnAircraftModel(const BlackMisc::Simulation::CAircraftModel &model) { - if (getOwnAircraftModel() != model) + if (!model.hasModelString()) { return; } + if (this->getOwnAircraftModel() != model) { CAircraftModel newModel(model); newModel.setModelType(CAircraftModel::TypeOwnSimulatorModel); - updateOwnModel(newModel); - emit ownAircraftModelChanged(newModel); + const bool updated = this->updateOwnModel(newModel); // update in provider (normally the context) + if (updated) + { + emit this->ownAircraftModelChanged(this->getOwnAircraftModel()); + } } }