Browse Source

Correct handling of no GeoFence support

QGC4.4
Don Gagne 8 years ago
parent
commit
35603b4bdf
  1. 2
      qgroundcontrol.qrc
  2. 15
      src/FirmwarePlugin/APM/APMGeoFenceManager.cc
  3. 0
      src/FirmwarePlugin/NoGeoFenceEditor.qml
  4. 2
      src/MissionManager/GeoFenceManager.h

2
qgroundcontrol.qrc

@ -167,6 +167,6 @@ @@ -167,6 +167,6 @@
<file alias="PX4MockLink.params">src/comm/PX4MockLink.params</file>
</qresource>
<qresource prefix="/FirmwarePlugin">
<file alias="GeoFenceEditor.qml">src/FirmwarePlugin/GeoFenceEditor.qml</file>
<file alias="NoGeoFenceEditor.qml">src/FirmwarePlugin/NoGeoFenceEditor.qml</file>
</qresource>
</RCC>

15
src/FirmwarePlugin/APM/APMGeoFenceManager.cc

@ -251,8 +251,9 @@ void APMGeoFenceManager::_parametersReady(void) @@ -251,8 +251,9 @@ void APMGeoFenceManager::_parametersReady(void)
if (!_firstParamLoadComplete) {
_firstParamLoadComplete = true;
_fenceSupported = _vehicle->parameterManager()->parameterExists(FactSystem::defaultComponentId, QStringLiteral("FENCE_ACTION")) &&
!qgcApp()->runningUnitTests();
_fenceSupported = _vehicle->parameterManager()->parameterExists(FactSystem::defaultComponentId, _fenceTotalParam) &&
_vehicle->parameterManager()->parameterExists(FactSystem::defaultComponentId, _fenceActionParam) &&
!qgcApp()->runningUnitTests();
if (_fenceSupported) {
QStringList paramNames;
@ -319,7 +320,11 @@ void APMGeoFenceManager::_circleRadiusRawValueChanged(QVariant value) @@ -319,7 +320,11 @@ void APMGeoFenceManager::_circleRadiusRawValueChanged(QVariant value)
QString APMGeoFenceManager::editorQml(void) const
{
return _vehicle->multiRotor() ?
QStringLiteral("qrc:/FirmwarePlugin/APM/CopterGeoFenceEditor.qml") :
QStringLiteral("qrc:/FirmwarePlugin/APM/PlaneGeoFenceEditor.qml");
if (_fenceSupported) {
return _vehicle->multiRotor() ?
QStringLiteral("qrc:/FirmwarePlugin/APM/CopterGeoFenceEditor.qml") :
QStringLiteral("qrc:/FirmwarePlugin/APM/PlaneGeoFenceEditor.qml");
} else {
return QStringLiteral("qrc:/FirmwarePlugin/NoGeoFenceEditor.qml");
}
}

0
src/FirmwarePlugin/GeoFenceEditor.qml → src/FirmwarePlugin/NoGeoFenceEditor.qml

2
src/MissionManager/GeoFenceManager.h

@ -49,7 +49,7 @@ public: @@ -49,7 +49,7 @@ public:
virtual QVariantList params (void) const { return QVariantList(); }
virtual QStringList paramLabels (void) const { return QStringList(); }
virtual QString editorQml(void) const { return QStringLiteral("qrc:/FirmwarePlugin/GeoFenceEditor.qml"); }
virtual QString editorQml(void) const { return QStringLiteral("qrc:/FirmwarePlugin/NoGeoFenceEditor.qml"); }
/// Error codes returned in error signal
typedef enum {

Loading…
Cancel
Save