diff --git a/src/comm/MAVLinkProtocol.cc b/src/comm/MAVLinkProtocol.cc index 0cb2598c8f8a563c9375fe0439454ec1852e6ada..ff3681a652c14f26d9b72d3340ffed633c3b0947 100644 --- a/src/comm/MAVLinkProtocol.cc +++ b/src/comm/MAVLinkProtocol.cc @@ -108,6 +108,10 @@ void MAVLinkProtocol::setToolbox(QGCToolbox *toolbox) connect(this, &MAVLinkProtocol::protocolStatusMessage, _app, &QGCApplication::criticalMessageBoxOnMainThread); connect(this, &MAVLinkProtocol::saveTempFlightDataLog, _app, &QGCApplication::saveTempFlightDataLogOnMainThread); +#ifndef __mobile__ + connect(_multiVehicleManager->vehicles(), &QmlObjectListModel::countChanged, this, &MAVLinkProtocol::_vehicleCountChanged); +#endif + emit versionCheckChanged(m_enable_version_check); } @@ -217,13 +221,6 @@ void MAVLinkProtocol::_linkStatusChanged(LinkInterface* link, bool connected) } Q_UNUSED(found); Q_ASSERT(found); - -#ifndef __mobile__ - if (_connectedLinks.count() == 0) { - // Last link is gone, close out logging - _stopLogging(); - } -#endif } } @@ -729,4 +726,12 @@ void MAVLinkProtocol::deleteTempLogFiles(void) QFile::remove(fileInfo.filePath()); } } + +void MAVLinkProtocol::_vehicleCountChanged(int count) +{ + if (count == 0) { + // Last vehicle is gone, close out logging + _stopLogging(); + } +} #endif diff --git a/src/comm/MAVLinkProtocol.h b/src/comm/MAVLinkProtocol.h index 31b70b8d7cd64427d7b14967a4cfddabe0fc88c1..02964a994b916cd938c5d933d857ec548fb9a6ce 100644 --- a/src/comm/MAVLinkProtocol.h +++ b/src/comm/MAVLinkProtocol.h @@ -283,6 +283,9 @@ signals: /// @brief Emitted when a temporary log file is ready for saving void saveTempFlightDataLog(QString tempLogfile); + +private slots: + void _vehicleCountChanged(int count); private: void _linkStatusChanged(LinkInterface* link, bool connected);