Commit 6f2a9953 authored by Gus Grubba's avatar Gus Grubba Committed by Thomas Gubler
Browse files

CP - Add setting to toggle splitting concave polygon on/off

parent 9ae5cc7e
...@@ -9,6 +9,7 @@ import QGroundControl 1.0 ...@@ -9,6 +9,7 @@ import QGroundControl 1.0
import QGroundControl.ScreenTools 1.0 import QGroundControl.ScreenTools 1.0
import QGroundControl.Vehicle 1.0 import QGroundControl.Vehicle 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.FlightMap 1.0 import QGroundControl.FlightMap 1.0
...@@ -119,6 +120,13 @@ Rectangle { ...@@ -119,6 +120,13 @@ Rectangle {
onClicked: missionItem.rotateEntryPoint(); onClicked: missionItem.rotateEntryPoint();
} }
FactCheckBox {
text: qsTr("Split concave polygons")
fact: _splitConcave
visible: _splitConcave.visible
property Fact _splitConcave: QGroundControl.settingsManager.appSettings.splitConcavePolygons
}
FactCheckBox { FactCheckBox {
text: qsTr("Hover and capture image") text: qsTr("Hover and capture image")
fact: missionItem.hoverAndCapture fact: missionItem.hoverAndCapture
......
...@@ -199,5 +199,12 @@ ...@@ -199,5 +199,12 @@
"enumStrings": "Never,Always,When in Follow Me Flight Mode", "enumStrings": "Never,Always,When in Follow Me Flight Mode",
"enumValues": "0,1,2", "enumValues": "0,1,2",
"defaultValue": 0 "defaultValue": 0
},
{
"name": "SplitConcavePolygons",
"shortDescription": "Split mission concave polygons",
"longDescription": "Split mission concave polygons into separate regular, convex polygons",
"type": "bool",
"defaultValue": false
} }
] ]
...@@ -41,6 +41,7 @@ const char* AppSettings::esriTokenName = "EsriTok ...@@ -41,6 +41,7 @@ const char* AppSettings::esriTokenName = "EsriTok
const char* AppSettings::defaultFirmwareTypeName = "DefaultFirmwareType"; const char* AppSettings::defaultFirmwareTypeName = "DefaultFirmwareType";
const char* AppSettings::gstDebugName = "GstreamerDebugLevel"; const char* AppSettings::gstDebugName = "GstreamerDebugLevel";
const char* AppSettings::followTargetName = "FollowTarget"; const char* AppSettings::followTargetName = "FollowTarget";
const char* AppSettings::splitConcavePolygonsName = "SplitConcavePolygons";
const char* AppSettings::parameterFileExtension = "params"; const char* AppSettings::parameterFileExtension = "params";
const char* AppSettings::planFileExtension = "plan"; const char* AppSettings::planFileExtension = "plan";
...@@ -84,6 +85,7 @@ AppSettings::AppSettings(QObject* parent) ...@@ -84,6 +85,7 @@ AppSettings::AppSettings(QObject* parent)
, _defaultFirmwareTypeFact (NULL) , _defaultFirmwareTypeFact (NULL)
, _gstDebugFact (NULL) , _gstDebugFact (NULL)
, _followTargetFact (NULL) , _followTargetFact (NULL)
, _splitConcavePolygonsFact (NULL)
{ {
QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
qmlRegisterUncreatableType<AppSettings>("QGroundControl.SettingsManager", 1, 0, "AppSettings", "Reference only"); qmlRegisterUncreatableType<AppSettings>("QGroundControl.SettingsManager", 1, 0, "AppSettings", "Reference only");
...@@ -428,3 +430,12 @@ Fact* AppSettings::followTarget(void) ...@@ -428,3 +430,12 @@ Fact* AppSettings::followTarget(void)
return _followTargetFact; return _followTargetFact;
} }
Fact* AppSettings::splitConcavePolygons(void)
{
if (!_splitConcavePolygonsFact) {
_splitConcavePolygonsFact = _createSettingsFact(splitConcavePolygonsName);
}
return _splitConcavePolygonsFact;
}
...@@ -43,6 +43,7 @@ public: ...@@ -43,6 +43,7 @@ public:
Q_PROPERTY(Fact* defaultFirmwareType READ defaultFirmwareType CONSTANT) Q_PROPERTY(Fact* defaultFirmwareType READ defaultFirmwareType CONSTANT)
Q_PROPERTY(Fact* gstDebug READ gstDebug CONSTANT) Q_PROPERTY(Fact* gstDebug READ gstDebug CONSTANT)
Q_PROPERTY(Fact* followTarget READ followTarget CONSTANT) Q_PROPERTY(Fact* followTarget READ followTarget CONSTANT)
Q_PROPERTY(Fact* splitConcavePolygons READ splitConcavePolygons CONSTANT)
Q_PROPERTY(QString missionSavePath READ missionSavePath NOTIFY savePathsChanged) Q_PROPERTY(QString missionSavePath READ missionSavePath NOTIFY savePathsChanged)
Q_PROPERTY(QString parameterSavePath READ parameterSavePath NOTIFY savePathsChanged) Q_PROPERTY(QString parameterSavePath READ parameterSavePath NOTIFY savePathsChanged)
...@@ -82,13 +83,14 @@ public: ...@@ -82,13 +83,14 @@ public:
Fact* defaultFirmwareType (void); Fact* defaultFirmwareType (void);
Fact* gstDebug (void); Fact* gstDebug (void);
Fact* followTarget (void); Fact* followTarget (void);
Fact* splitConcavePolygons (void);
QString missionSavePath (void); QString missionSavePath (void);
QString parameterSavePath (void); QString parameterSavePath (void);
QString telemetrySavePath (void); QString telemetrySavePath (void);
QString logSavePath (void); QString logSavePath (void);
QString videoSavePath (void); QString videoSavePath (void);
QString crashSavePath (void); QString crashSavePath (void);
static MAV_AUTOPILOT offlineEditingFirmwareTypeFromFirmwareType(MAV_AUTOPILOT firmwareType); static MAV_AUTOPILOT offlineEditingFirmwareTypeFromFirmwareType(MAV_AUTOPILOT firmwareType);
static MAV_TYPE offlineEditingVehicleTypeFromVehicleType(MAV_TYPE vehicleType); static MAV_TYPE offlineEditingVehicleTypeFromVehicleType(MAV_TYPE vehicleType);
...@@ -119,6 +121,7 @@ public: ...@@ -119,6 +121,7 @@ public:
static const char* defaultFirmwareTypeName; static const char* defaultFirmwareTypeName;
static const char* gstDebugName; static const char* gstDebugName;
static const char* followTargetName; static const char* followTargetName;
static const char* splitConcavePolygonsName;
// Application wide file extensions // Application wide file extensions
static const char* parameterFileExtension; static const char* parameterFileExtension;
...@@ -170,6 +173,7 @@ private: ...@@ -170,6 +173,7 @@ private:
SettingsFact* _defaultFirmwareTypeFact; SettingsFact* _defaultFirmwareTypeFact;
SettingsFact* _gstDebugFact; SettingsFact* _gstDebugFact;
SettingsFact* _followTargetFact; SettingsFact* _followTargetFact;
SettingsFact* _splitConcavePolygonsFact;
}; };
#endif #endif
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment