Browse Source

View: Show correct progressbar also for Mission, Fence and Rally

The progressbar is now updated with the actual progress for
Mission-, Fence- and Rallypointdownload.
QGC4.4
Friedrich Beckmann 3 years ago committed by Beat Küng
parent
commit
b3b1617b50
  1. 15
      src/Vehicle/InitialConnectStateMachine.cc

15
src/Vehicle/InitialConnectStateMachine.cc

@ -318,6 +318,8 @@ void InitialConnectStateMachine::_stateRequestMission(StateMachine* stateMachine @@ -318,6 +318,8 @@ void InitialConnectStateMachine::_stateRequestMission(StateMachine* stateMachine
} else {
qCDebug(InitialConnectStateMachineLog) << "_stateRequestMission";
vehicle->_missionManager->loadFromVehicle();
connect(vehicle->_missionManager, &MissionManager::progressPct, connectMachine,
&InitialConnectStateMachine::gotProgressUpdate);
}
}
}
@ -328,6 +330,9 @@ void InitialConnectStateMachine::_stateRequestGeoFence(StateMachine* stateMachin @@ -328,6 +330,9 @@ void InitialConnectStateMachine::_stateRequestGeoFence(StateMachine* stateMachin
Vehicle* vehicle = connectMachine->_vehicle;
SharedLinkInterfacePtr sharedLink = vehicle->vehicleLinkManager()->primaryLink().lock();
disconnect(vehicle->_missionManager, &MissionManager::progressPct, connectMachine,
&InitialConnectStateMachine::gotProgressUpdate);
if (!sharedLink) {
qCDebug(InitialConnectStateMachineLog) << "_stateRequestGeoFence: Skipping first geofence load request due to no primary link";
connectMachine->advance();
@ -339,6 +344,8 @@ void InitialConnectStateMachine::_stateRequestGeoFence(StateMachine* stateMachin @@ -339,6 +344,8 @@ void InitialConnectStateMachine::_stateRequestGeoFence(StateMachine* stateMachin
if (vehicle->_geoFenceManager->supported()) {
qCDebug(InitialConnectStateMachineLog) << "_stateRequestGeoFence";
vehicle->_geoFenceManager->loadFromVehicle();
connect(vehicle->_geoFenceManager, &GeoFenceManager::progressPct, connectMachine,
&InitialConnectStateMachine::gotProgressUpdate);
} else {
qCDebug(InitialConnectStateMachineLog) << "_stateRequestGeoFence: skipped due to no support";
vehicle->_firstGeoFenceLoadComplete();
@ -353,6 +360,9 @@ void InitialConnectStateMachine::_stateRequestRallyPoints(StateMachine* stateMac @@ -353,6 +360,9 @@ void InitialConnectStateMachine::_stateRequestRallyPoints(StateMachine* stateMac
Vehicle* vehicle = connectMachine->_vehicle;
SharedLinkInterfacePtr sharedLink = vehicle->vehicleLinkManager()->primaryLink().lock();
disconnect(vehicle->_geoFenceManager, &GeoFenceManager::progressPct, connectMachine,
&InitialConnectStateMachine::gotProgressUpdate);
if (!sharedLink) {
qCDebug(InitialConnectStateMachineLog) << "_stateRequestRallyPoints: Skipping first rally point load request due to no primary link";
connectMachine->advance();
@ -363,6 +373,8 @@ void InitialConnectStateMachine::_stateRequestRallyPoints(StateMachine* stateMac @@ -363,6 +373,8 @@ void InitialConnectStateMachine::_stateRequestRallyPoints(StateMachine* stateMac
} else {
if (vehicle->_rallyPointManager->supported()) {
vehicle->_rallyPointManager->loadFromVehicle();
connect(vehicle->_rallyPointManager, &RallyPointManager::progressPct, connectMachine,
&InitialConnectStateMachine::gotProgressUpdate);
} else {
qCDebug(InitialConnectStateMachineLog) << "_stateRequestRallyPoints: skipping due to no support";
vehicle->_firstRallyPointLoadComplete();
@ -376,6 +388,9 @@ void InitialConnectStateMachine::_stateSignalInitialConnectComplete(StateMachine @@ -376,6 +388,9 @@ void InitialConnectStateMachine::_stateSignalInitialConnectComplete(StateMachine
InitialConnectStateMachine* connectMachine = static_cast<InitialConnectStateMachine*>(stateMachine);
Vehicle* vehicle = connectMachine->_vehicle;
disconnect(vehicle->_rallyPointManager, &RallyPointManager::progressPct, connectMachine,
&InitialConnectStateMachine::gotProgressUpdate);
connectMachine->advance();
qCDebug(InitialConnectStateMachineLog) << "Signalling initialConnectComplete";
emit vehicle->initialConnectComplete();

Loading…
Cancel
Save