Commit e5d8d11c authored by Donald Gagne's avatar Donald Gagne

Fix plan view geofence display

parent eaaeab0c
...@@ -1228,6 +1228,7 @@ void MissionController::_initAllVisualItems(void) ...@@ -1228,6 +1228,7 @@ void MissionController::_initAllVisualItems(void)
} }
connect(_settingsItem, &MissionSettingsItem::coordinateChanged, this, &MissionController::_recalcAll); connect(_settingsItem, &MissionSettingsItem::coordinateChanged, this, &MissionController::_recalcAll);
connect(_settingsItem, &MissionSettingsItem::coordinateChanged, this, &MissionController::plannedHomePositionChanged);
for (int i=0; i<_visualItems->count(); i++) { for (int i=0; i<_visualItems->count(); i++) {
VisualMissionItem* item = qobject_cast<VisualMissionItem*>(_visualItems->get(i)); VisualMissionItem* item = qobject_cast<VisualMissionItem*>(_visualItems->get(i));
...@@ -1241,12 +1242,16 @@ void MissionController::_initAllVisualItems(void) ...@@ -1241,12 +1242,16 @@ void MissionController::_initAllVisualItems(void)
emit visualItemsChanged(); emit visualItemsChanged();
emit containsItemsChanged(containsItems()); emit containsItemsChanged(containsItems());
emit plannedHomePositionChanged(plannedHomePosition());
_visualItems->setDirty(false); _visualItems->setDirty(false);
} }
void MissionController::_deinitAllVisualItems(void) void MissionController::_deinitAllVisualItems(void)
{ {
disconnect(_settingsItem, &MissionSettingsItem::coordinateChanged, this, &MissionController::_recalcAll);
disconnect(_settingsItem, &MissionSettingsItem::coordinateChanged, this, &MissionController::plannedHomePositionChanged);
for (int i=0; i<_visualItems->count(); i++) { for (int i=0; i<_visualItems->count(); i++) {
_deinitVisualItem(qobject_cast<VisualMissionItem*>(_visualItems->get(i))); _deinitVisualItem(qobject_cast<VisualMissionItem*>(_visualItems->get(i)));
} }
...@@ -1583,3 +1588,12 @@ void MissionController::resumeMission(int resumeIndex) ...@@ -1583,3 +1588,12 @@ void MissionController::resumeMission(int resumeIndex)
} }
_activeVehicle->missionManager()->generateResumeMission(resumeIndex); _activeVehicle->missionManager()->generateResumeMission(resumeIndex);
} }
QGeoCoordinate MissionController::plannedHomePosition(void) const
{
if (_settingsItem) {
return _settingsItem->coordinate();
} else {
return QGeoCoordinate();
}
}
...@@ -62,6 +62,7 @@ public: ...@@ -62,6 +62,7 @@ public:
Q_PROPERTY(QmlObjectListModel* visualItems READ visualItems NOTIFY visualItemsChanged) Q_PROPERTY(QmlObjectListModel* visualItems READ visualItems NOTIFY visualItemsChanged)
Q_PROPERTY(QmlObjectListModel* waypointLines READ waypointLines NOTIFY waypointLinesChanged) Q_PROPERTY(QmlObjectListModel* waypointLines READ waypointLines NOTIFY waypointLinesChanged)
Q_PROPERTY(QStringList complexMissionItemNames READ complexMissionItemNames NOTIFY complexMissionItemNamesChanged) Q_PROPERTY(QStringList complexMissionItemNames READ complexMissionItemNames NOTIFY complexMissionItemNamesChanged)
Q_PROPERTY(QGeoCoordinate plannedHomePosition READ plannedHomePosition NOTIFY plannedHomePositionChanged)
Q_PROPERTY(int resumeMissionItem READ resumeMissionItem NOTIFY resumeMissionItemChanged) Q_PROPERTY(int resumeMissionItem READ resumeMissionItem NOTIFY resumeMissionItemChanged)
...@@ -123,6 +124,7 @@ public: ...@@ -123,6 +124,7 @@ public:
QmlObjectListModel* visualItems (void) { return _visualItems; } QmlObjectListModel* visualItems (void) { return _visualItems; }
QmlObjectListModel* waypointLines (void) { return &_waypointLines; } QmlObjectListModel* waypointLines (void) { return &_waypointLines; }
QStringList complexMissionItemNames (void) const; QStringList complexMissionItemNames (void) const;
QGeoCoordinate plannedHomePosition (void) const;
/// Returns the item index two which a mission should be resumed. -1 indicates resume mission not available. /// Returns the item index two which a mission should be resumed. -1 indicates resume mission not available.
int resumeMissionItem(void) const; int resumeMissionItem(void) const;
...@@ -154,6 +156,7 @@ signals: ...@@ -154,6 +156,7 @@ signals:
void resumeMissionReady(void); void resumeMissionReady(void);
void batteryChangePointChanged(int batteryChangePoint); void batteryChangePointChanged(int batteryChangePoint);
void batteriesRequiredChanged(int batteriesRequired); void batteriesRequiredChanged(int batteriesRequired);
void plannedHomePositionChanged(QGeoCoordinate plannedHomePosition);
private slots: private slots:
void _newMissionItemsAvailableFromVehicle(bool removeAllRequested); void _newMissionItemsAvailableFromVehicle(bool removeAllRequested);
......
Markdown is supported
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