From 8f28f4cbf012075a971ca7d780854bbf69a82915 Mon Sep 17 00:00:00 2001 From: davidsastresas Date: Wed, 4 Oct 2023 17:40:46 +0200 Subject: [PATCH] QGCCameraControl.cc: _dataReady: search for possible definition files in resources: This allows definition files to be embedded in resources. It asks QGCCorePlugin, so it can be overriden from custom builds too --- src/Camera/QGCCameraControl.cc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Camera/QGCCameraControl.cc b/src/Camera/QGCCameraControl.cc index ba3af30..8560142 100644 --- a/src/Camera/QGCCameraControl.cc +++ b/src/Camera/QGCCameraControl.cc @@ -13,6 +13,7 @@ #include "QGCCameraManager.h" #include "FTPManager.h" #include "QGCLZMA.h" +#include "QGCCorePlugin.h" #include #include @@ -2092,7 +2093,19 @@ QGCCameraControl::_dataReady(QByteArray data) qCDebug(CameraControlLog) << "Parsing camera definition"; _loadCameraDefinitionFile(data); } else { - qCDebug(CameraControlLog) << "No camera definition"; + qCDebug(CameraControlLog) << "No camera definition received, trying to search on our own..."; + QFile definitionFile; + if(qgcApp()->toolbox()->corePlugin()->getOfflineCameraDefinitionFile(_modelName, definitionFile)) { + qCDebug(CameraControlLog) << "Found offline definition file for: " << _modelName << ", loading: " << definitionFile.fileName(); + if (definitionFile.open(QIODevice::ReadOnly)) { + QByteArray newData = definitionFile.readAll(); + _loadCameraDefinitionFile(newData); + } else { + qCDebug(CameraControlLog) << "error opening offline definition file for: " << _modelName; + } + } else { + qCDebug(CameraControlLog) << "No offline camera definition file found"; + } } _initWhenReady(); }