diff --git a/src/Camera/QGCCameraControl.h b/src/Camera/QGCCameraControl.h index 307934ba230d8d9748c3a29df35045d639b58112..c4f93152b4787797b033a07bdd1f39dd498ff436 100644 --- a/src/Camera/QGCCameraControl.h +++ b/src/Camera/QGCCameraControl.h @@ -202,16 +202,16 @@ protected: virtual void _setCameraMode (CameraMode mode); protected slots: - void _initWhenReady (); - void _requestCameraSettings (); - void _requestAllParameters (); - void _requestParamUpdates (); - void _requestCaptureStatus (); - void _requestStorageInfo (); - void _downloadFinished (); - void _mavCommandResult (int vehicleId, int component, int command, int result, bool noReponseFromVehicle); - void _dataReady (QByteArray data); - void _paramDone (); + virtual void _initWhenReady (); + virtual void _requestCameraSettings (); + virtual void _requestAllParameters (); + virtual void _requestParamUpdates (); + virtual void _requestCaptureStatus (); + virtual void _requestStorageInfo (); + virtual void _downloadFinished (); + virtual void _mavCommandResult (int vehicleId, int component, int command, int result, bool noReponseFromVehicle); + virtual void _dataReady (QByteArray data); + virtual void _paramDone (); private: bool _handleLocalization (QByteArray& bytes); diff --git a/src/Camera/QGCCameraManager.h b/src/Camera/QGCCameraManager.h index 9817c574ed566a2d38213e4b3ff2a7b1e7a04383..e443701e6320d7685d33346177bdd026adc1ea23 100644 --- a/src/Camera/QGCCameraManager.h +++ b/src/Camera/QGCCameraManager.h @@ -25,28 +25,28 @@ public: QGCCameraManager(Vehicle* vehicle); virtual ~QGCCameraManager(); - Q_PROPERTY(QmlObjectListModel* cameras READ cameras NOTIFY camerasChanged) + Q_PROPERTY(QmlObjectListModel* cameras READ cameras NOTIFY camerasChanged) //-- Return a list of cameras provided by this vehicle - virtual QmlObjectListModel* cameras () { return &_cameras; } + virtual QmlObjectListModel* cameras () { return &_cameras; } signals: - void camerasChanged (); + void camerasChanged (); protected slots: - void _vehicleReady (bool ready); - void _mavlinkMessageReceived (const mavlink_message_t& message); + virtual void _vehicleReady (bool ready); + virtual void _mavlinkMessageReceived (const mavlink_message_t& message); protected: - QGCCameraControl* _findCamera (int id); - void _requestCameraInfo (int compID); - void _handleHeartbeat (const mavlink_message_t& message); - void _handleCameraInfo (const mavlink_message_t& message); - void _handleStorageInfo (const mavlink_message_t& message); - void _handleCameraSettings (const mavlink_message_t& message); - void _handleParamAck (const mavlink_message_t& message); - void _handleParamValue (const mavlink_message_t& message); - void _handleCaptureStatus (const mavlink_message_t& message); + virtual QGCCameraControl* _findCamera (int id); + virtual void _requestCameraInfo (int compID); + virtual void _handleHeartbeat (const mavlink_message_t& message); + virtual void _handleCameraInfo (const mavlink_message_t& message); + virtual void _handleStorageInfo (const mavlink_message_t& message); + virtual void _handleCameraSettings (const mavlink_message_t& message); + virtual void _handleParamAck (const mavlink_message_t& message); + virtual void _handleParamValue (const mavlink_message_t& message); + virtual void _handleCaptureStatus (const mavlink_message_t& message); protected: Vehicle* _vehicle; diff --git a/src/MissionManager/PlanMasterController.cc b/src/MissionManager/PlanMasterController.cc index 7896e4c7c8b93fd593cfb47947a31dad31b5a580..5f788998af9432b67c6aa795faac1d1167dbdae3 100644 --- a/src/MissionManager/PlanMasterController.cc +++ b/src/MissionManager/PlanMasterController.cc @@ -345,6 +345,22 @@ void PlanMasterController::loadFromFile(const QString& filename) } } +QJsonDocument PlanMasterController::saveToJson() +{ + QJsonObject planJson; + QJsonObject missionJson; + QJsonObject fenceJson; + QJsonObject rallyJson; + JsonHelper::saveQGCJsonFileHeader(planJson, _planFileType, _planFileVersion); + _missionController.save(missionJson); + _geoFenceController.save(fenceJson); + _rallyPointController.save(rallyJson); + planJson[_jsonMissionObjectKey] = missionJson; + planJson[_jsonGeoFenceObjectKey] = fenceJson; + planJson[_jsonRallyPointsObjectKey] = rallyJson; + return QJsonDocument(planJson); +} + void PlanMasterController::saveToFile(const QString& filename) { if (filename.isEmpty()) { @@ -361,20 +377,7 @@ void PlanMasterController::saveToFile(const QString& filename) if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { qgcApp()->showMessage(tr("Plan save error %1 : %2").arg(filename).arg(file.errorString())); } else { - QJsonObject planJson; - QJsonObject missionJson; - QJsonObject fenceJson; - QJsonObject rallyJson; - - JsonHelper::saveQGCJsonFileHeader(planJson, _planFileType, _planFileVersion); - _missionController.save(missionJson); - _geoFenceController.save(fenceJson); - _rallyPointController.save(rallyJson); - planJson[_jsonMissionObjectKey] = missionJson; - planJson[_jsonGeoFenceObjectKey] = fenceJson; - planJson[_jsonRallyPointsObjectKey] = rallyJson; - - QJsonDocument saveDoc(planJson); + QJsonDocument saveDoc = saveToJson(); file.write(saveDoc.toJson()); } diff --git a/src/MissionManager/PlanMasterController.h b/src/MissionManager/PlanMasterController.h index 03ba7b6e3f3c16ab8612dfb965abe63619e5bcc6..30dd38144326ac1cf87596bba410a92bd5f3858e 100644 --- a/src/MissionManager/PlanMasterController.h +++ b/src/MissionManager/PlanMasterController.h @@ -80,6 +80,8 @@ public: QStringList saveNameFilters (void) const; QStringList saveKmlFilters (void) const; + QJsonDocument saveToJson (); + Vehicle* controllerVehicle(void) { return _controllerVehicle; } Vehicle* managerVehicle(void) { return _managerVehicle; }