diff --git a/src/MissionManager/RallyPointController.cc b/src/MissionManager/RallyPointController.cc index 58a369aa4ece83d646c9a3e0d97b2a7980de33c9..589fb5f5d01fed770be28a3bc4a8292c915a59db 100644 --- a/src/MissionManager/RallyPointController.cc +++ b/src/MissionManager/RallyPointController.cc @@ -203,15 +203,15 @@ QString RallyPointController::editorQml(void) const return _rallyPointManager->editorQml(); } -void RallyPointController::_managerLoadComplete(const QList rgPoints) +void RallyPointController::_managerLoadComplete(void) { // Fly view always reloads on _loadComplete // Plan view only reloads on _loadComplete if specifically requested if (_flyView || _itemsRequested) { _points.clearAndDeleteContents(); QObjectList pointList; - for (int i=0; ipoints().count(); i++) { + pointList.append(new RallyPoint(_rallyPointManager->points()[i], this)); } _points.swapObjectList(pointList); setDirty(false); @@ -224,7 +224,7 @@ void RallyPointController::_managerLoadComplete(const QList rgPo void RallyPointController::_managerSendComplete(bool error) { // Fly view always reloads after send - if (!error && !_flyView) { + if (!error && _flyView) { showPlanFromManagerVehicle(); } } @@ -317,6 +317,7 @@ bool RallyPointController::showPlanFromManagerVehicle (void) } else { qCDebug(RallyPointControllerLog) << "showPlanFromManagerVehicle: sync complete"; _itemsRequested = true; + _managerLoadComplete(); return false; } } diff --git a/src/MissionManager/RallyPointController.h b/src/MissionManager/RallyPointController.h index eff4b242ee2176b3b96bc8cd7982c3d79a5814ab..95d1f0f13b672c517b70d479730f6429fa071506 100644 --- a/src/MissionManager/RallyPointController.h +++ b/src/MissionManager/RallyPointController.h @@ -61,7 +61,7 @@ signals: void loadComplete(void); private slots: - void _managerLoadComplete(const QList rgPoints); + void _managerLoadComplete(void); void _managerSendComplete(bool error); void _managerRemoveAllComplete(bool error); void _setFirstPointCurrent(void); diff --git a/src/MissionManager/RallyPointManager.cc b/src/MissionManager/RallyPointManager.cc index e0880cae67856372387198b9cbc8e0d68f89d75e..0db0f7342c1a3633c315fa7c3c7dac869765b281 100644 --- a/src/MissionManager/RallyPointManager.cc +++ b/src/MissionManager/RallyPointManager.cc @@ -21,7 +21,7 @@ RallyPointManager::RallyPointManager(Vehicle* vehicle) connect(&_planManager, &PlanManager::inProgressChanged, this, &RallyPointManager::inProgressChanged); connect(&_planManager, &PlanManager::error, this, &RallyPointManager::error); connect(&_planManager, &PlanManager::removeAllComplete, this, &RallyPointManager::removeAllComplete); - connect(&_planManager, &PlanManager::sendComplete, this, &RallyPointManager::sendComplete); + connect(&_planManager, &PlanManager::sendComplete, this, &RallyPointManager::_sendComplete); connect(&_planManager, &PlanManager::newMissionItemsAvailable, this, &RallyPointManager::_planManagerLoadComplete); } @@ -45,8 +45,12 @@ void RallyPointManager::loadFromVehicle(void) void RallyPointManager::sendToVehicle(const QList& rgPoints) { - QList rallyItems; + _rgSendPoints.clear(); + for (const QGeoCoordinate& rallyPoint: rgPoints) { + _rgSendPoints.append(rallyPoint); + } + QList rallyItems; for (int i=0; i rgPoints); + void loadComplete (void); void inProgressChanged (bool inProgress); void error (int errorCode, const QString& errorMsg); void removeAllComplete (bool error); void sendComplete (bool error); private slots: + void _sendComplete (bool error); void _planManagerLoadComplete (bool removeAllRequested); protected: @@ -77,6 +78,7 @@ protected: Vehicle* _vehicle; PlanManager _planManager; QList _rgPoints; + QList _rgSendPoints; }; #endif