diff --git a/src/blackmisc/aviation/transponder.cpp b/src/blackmisc/aviation/transponder.cpp index dbe8d94d0..5d5223294 100644 --- a/src/blackmisc/aviation/transponder.cpp +++ b/src/blackmisc/aviation/transponder.cpp @@ -108,6 +108,14 @@ namespace BlackMisc return StateStandby; } + bool CTransponder::setTransponderMode(CTransponder::TransponderMode mode) + { + const int m = static_cast(mode); + if (m == m_transponderMode) { return false; } + m_transponderMode = m; + return true; + } + QString CTransponder::getTransponderCodeFormatted() const { QString f("0000"); diff --git a/src/blackmisc/aviation/transponder.h b/src/blackmisc/aviation/transponder.h index 3a0416e00..09e2bfc2c 100644 --- a/src/blackmisc/aviation/transponder.h +++ b/src/blackmisc/aviation/transponder.h @@ -114,11 +114,11 @@ namespace BlackMisc //! Set transponder code void setTransponderCode(const QString &transponderCode); - //! Mode from string + //! Mode from string static TransponderMode modeFromString(const QString &modeString); //! Set transponder mode - void setTransponderMode(TransponderMode mode) { m_transponderMode = static_cast(mode); } + bool setTransponderMode(TransponderMode mode); //! Set emergency void setEmergency() { m_transponderCode = 7700; } diff --git a/src/blackmisc/simulation/simulatedaircraft.cpp b/src/blackmisc/simulation/simulatedaircraft.cpp index 664391efa..bce9a9880 100644 --- a/src/blackmisc/simulation/simulatedaircraft.cpp +++ b/src/blackmisc/simulation/simulatedaircraft.cpp @@ -567,6 +567,11 @@ namespace BlackMisc m_com2system.isActiveFrequencyWithin25kHzChannel(comFrequency); } + bool CSimulatedAircraft::setTransponderMode(CTransponder::TransponderMode mode) + { + return (m_transponder.setTransponderMode(mode)); + } + QString CSimulatedAircraft::convertToQString(bool i18n) const { const QString s = m_callsign.toQString(i18n) % diff --git a/src/blackmisc/simulation/simulatedaircraft.h b/src/blackmisc/simulation/simulatedaircraft.h index f96bda744..74b546200 100644 --- a/src/blackmisc/simulation/simulatedaircraft.h +++ b/src/blackmisc/simulation/simulatedaircraft.h @@ -298,7 +298,7 @@ namespace BlackMisc void setTransponder(const Aviation::CTransponder &transponder) { m_transponder = transponder; } //! Set transponder mode - void setTransponderMode(Aviation::CTransponder::TransponderMode mode) { m_transponder.setTransponderMode(mode); } + bool setTransponderMode(Aviation::CTransponder::TransponderMode mode); //! Set transponder code void setTransponderCode(int code) { m_transponder.setTransponderCode(code); }