From 9dd5ffa75661164120a2089afbbc72b25b9363a0 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Thu, 2 Aug 2018 08:42:05 -0700 Subject: [PATCH] Save camera settings --- src/MissionManager/CameraCalc.cc | 4 +-- src/MissionManager/CameraCalc.h | 2 +- src/MissionManager/CameraSpec.cc | 52 ++++++-------------------------- src/MissionManager/CameraSpec.h | 39 +++++++++++------------- 4 files changed, 31 insertions(+), 66 deletions(-) diff --git a/src/MissionManager/CameraCalc.cc b/src/MissionManager/CameraCalc.cc index 9b50dd285..cf028558c 100644 --- a/src/MissionManager/CameraCalc.cc +++ b/src/MissionManager/CameraCalc.cc @@ -26,8 +26,8 @@ const char* CameraCalc::adjustedFootprintSideName = "AdjustedFootprintSi const char* CameraCalc::_jsonCameraSpecTypeKey = "CameraSpecType"; -CameraCalc::CameraCalc(Vehicle* vehicle, QString settingsGroup, QObject* parent) - : CameraSpec (parent) +CameraCalc::CameraCalc(Vehicle* vehicle, const QString& settingsGroup, QObject* parent) + : CameraSpec (settingsGroup, parent) , _vehicle (vehicle) , _dirty (false) , _disableRecalc (false) diff --git a/src/MissionManager/CameraCalc.h b/src/MissionManager/CameraCalc.h index 1b2339e89..3d88b5902 100644 --- a/src/MissionManager/CameraCalc.h +++ b/src/MissionManager/CameraCalc.h @@ -19,7 +19,7 @@ class CameraCalc : public CameraSpec Q_OBJECT public: - CameraCalc(Vehicle* vehicle, QString settingsGroup, QObject* parent = NULL); + CameraCalc(Vehicle* vehicle, const QString& settingsGroup, QObject* parent = NULL); Q_PROPERTY(QString customCameraName READ customCameraName CONSTANT) ///< Camera name for custom camera setting Q_PROPERTY(QString manualCameraName READ manualCameraName CONSTANT) ///< Camera name for manual camera setting diff --git a/src/MissionManager/CameraSpec.cc b/src/MissionManager/CameraSpec.cc index 2bb34ef79..810613190 100644 --- a/src/MissionManager/CameraSpec.cc +++ b/src/MissionManager/CameraSpec.cc @@ -21,38 +21,20 @@ const char* CameraSpec::_landscapeName = "Landscape"; const char* CameraSpec::_fixedOrientationName = "FixedOrientation"; const char* CameraSpec::_minTriggerIntervalName = "MinTriggerInterval"; -CameraSpec::CameraSpec(QObject* parent) +CameraSpec::CameraSpec(const QString& settingsGroup, QObject* parent) : QObject (parent) , _dirty (false) , _metaDataMap (FactMetaData::createMapFromJsonFile(QStringLiteral(":/json/CameraSpec.FactMetaData.json"), this)) - , _sensorWidthFact (0, _sensorWidthName, FactMetaData::valueTypeDouble) - , _sensorHeightFact (0, _sensorHeightName, FactMetaData::valueTypeDouble) - , _imageWidthFact (0, _imageWidthName, FactMetaData::valueTypeUint32) - , _imageHeightFact (0, _imageHeightName, FactMetaData::valueTypeUint32) - , _focalLengthFact (0, _focalLengthName, FactMetaData::valueTypeDouble) - , _landscapeFact (0, _landscapeName, FactMetaData::valueTypeBool) - , _fixedOrientationFact (0, _fixedOrientationName, FactMetaData::valueTypeBool) - , _minTriggerIntervalFact (0, _minTriggerIntervalName, FactMetaData::valueTypeDouble) + , _sensorWidthFact (settingsGroup, _metaDataMap[_sensorWidthName]) + , _sensorHeightFact (settingsGroup, _metaDataMap[_sensorHeightName]) + , _imageWidthFact (settingsGroup, _metaDataMap[_imageWidthName]) + , _imageHeightFact (settingsGroup, _metaDataMap[_imageHeightName]) + , _focalLengthFact (settingsGroup, _metaDataMap[_focalLengthName]) + , _landscapeFact (settingsGroup, _metaDataMap[_landscapeName]) + , _fixedOrientationFact (settingsGroup, _metaDataMap[_fixedOrientationName]) + , _minTriggerIntervalFact (settingsGroup, _metaDataMap[_minTriggerIntervalName]) { - _init(true); -} - -CameraSpec::CameraSpec(const CameraSpec& other, QObject* parent) - : QObject (parent) - , _dirty (false) - , _metaDataMap (FactMetaData::createMapFromJsonFile(QStringLiteral(":/json/CameraSpec.FactMetaData.json"), this)) - , _sensorWidthFact (0, _sensorWidthName, FactMetaData::valueTypeDouble) - , _sensorHeightFact (0, _sensorHeightName, FactMetaData::valueTypeDouble) - , _imageWidthFact (0, _imageWidthName, FactMetaData::valueTypeUint32) - , _imageHeightFact (0, _imageHeightName, FactMetaData::valueTypeUint32) - , _focalLengthFact (0, _focalLengthName, FactMetaData::valueTypeDouble) - , _landscapeFact (0, _landscapeName, FactMetaData::valueTypeBool) - , _fixedOrientationFact (0, _fixedOrientationName, FactMetaData::valueTypeBool) - , _minTriggerIntervalFact (0, _minTriggerIntervalName, FactMetaData::valueTypeDouble) -{ - _init(false); - - *this = other; + QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); } const CameraSpec& CameraSpec::operator=(const CameraSpec& other) @@ -69,20 +51,6 @@ const CameraSpec& CameraSpec::operator=(const CameraSpec& other) return *this; } -void CameraSpec::_init(bool setDefaults) -{ - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); - - _sensorWidthFact.setMetaData (_metaDataMap[_sensorWidthName], setDefaults); - _sensorHeightFact.setMetaData (_metaDataMap[_sensorHeightName], setDefaults); - _imageWidthFact.setMetaData (_metaDataMap[_imageWidthName], setDefaults); - _imageHeightFact.setMetaData (_metaDataMap[_imageHeightName], setDefaults); - _focalLengthFact.setMetaData (_metaDataMap[_focalLengthName], setDefaults); - _landscapeFact.setMetaData (_metaDataMap[_landscapeName], setDefaults); - _fixedOrientationFact.setMetaData (_metaDataMap[_fixedOrientationName], setDefaults); - _minTriggerIntervalFact.setMetaData (_metaDataMap[_minTriggerIntervalName], setDefaults); -} - void CameraSpec::setDirty(bool dirty) { if (_dirty != dirty) { diff --git a/src/MissionManager/CameraSpec.h b/src/MissionManager/CameraSpec.h index fe49ba2b1..bf32047d0 100644 --- a/src/MissionManager/CameraSpec.h +++ b/src/MissionManager/CameraSpec.h @@ -9,15 +9,14 @@ #pragma once -#include "Fact.h" +#include "SettingsFact.h" class CameraSpec : public QObject { Q_OBJECT public: - CameraSpec(QObject* parent = NULL); - CameraSpec(const CameraSpec& other, QObject* parent); + CameraSpec(const QString& settingsGroup, QObject* parent = NULL); const CameraSpec& operator=(const CameraSpec& other); @@ -31,14 +30,14 @@ public: Q_PROPERTY(Fact* fixedOrientation READ fixedOrientation CONSTANT) ///< true: camera is in fixed orientation Q_PROPERTY(Fact* minTriggerInterval READ minTriggerInterval CONSTANT) ///< Minimum time in seconds between each photo taken, 0 for not specified - Fact* sensorWidth (void) { return &_sensorWidthFact; } - Fact* sensorHeight (void) { return &_sensorHeightFact; } - Fact* imageWidth (void) { return &_imageWidthFact; } - Fact* imageHeight (void) { return &_imageHeightFact; } - Fact* focalLength (void) { return &_focalLengthFact; } - Fact* landscape (void) { return &_landscapeFact; } - Fact* fixedOrientation (void) { return &_fixedOrientationFact; } - Fact* minTriggerInterval(void) { return &_minTriggerIntervalFact; } + SettingsFact* sensorWidth (void) { return &_sensorWidthFact; } + SettingsFact* sensorHeight (void) { return &_sensorHeightFact; } + SettingsFact* imageWidth (void) { return &_imageWidthFact; } + SettingsFact* imageHeight (void) { return &_imageHeightFact; } + SettingsFact* focalLength (void) { return &_focalLengthFact; } + SettingsFact* landscape (void) { return &_landscapeFact; } + SettingsFact* fixedOrientation (void) { return &_fixedOrientationFact; } + SettingsFact* minTriggerInterval(void) { return &_minTriggerIntervalFact; } bool dirty (void) const { return _dirty; } void setDirty (bool dirty); @@ -50,20 +49,18 @@ signals: void dirtyChanged(bool dirty); private: - void _init(bool setDefaults); - bool _dirty; QMap _metaDataMap; - Fact _sensorWidthFact; - Fact _sensorHeightFact; - Fact _imageWidthFact; - Fact _imageHeightFact; - Fact _focalLengthFact; - Fact _landscapeFact; - Fact _fixedOrientationFact; - Fact _minTriggerIntervalFact; + SettingsFact _sensorWidthFact; + SettingsFact _sensorHeightFact; + SettingsFact _imageWidthFact; + SettingsFact _imageHeightFact; + SettingsFact _focalLengthFact; + SettingsFact _landscapeFact; + SettingsFact _fixedOrientationFact; + SettingsFact _minTriggerIntervalFact; static const char* _sensorWidthName; static const char* _sensorHeightName; -- 2.22.0