@ -42,7 +42,6 @@ PlanMasterController::PlanMasterController(QObject* parent)
, _loadRallyPoints ( false )
, _loadRallyPoints ( false )
, _sendGeoFence ( false )
, _sendGeoFence ( false )
, _sendRallyPoints ( false )
, _sendRallyPoints ( false )
, _syncInProgress ( false )
{
{
connect ( & _missionController , & MissionController : : dirtyChanged , this , & PlanMasterController : : dirtyChanged ) ;
connect ( & _missionController , & MissionController : : dirtyChanged , this , & PlanMasterController : : dirtyChanged ) ;
connect ( & _geoFenceController , & GeoFenceController : : dirtyChanged , this , & PlanMasterController : : dirtyChanged ) ;
connect ( & _geoFenceController , & GeoFenceController : : dirtyChanged , this , & PlanMasterController : : dirtyChanged ) ;
@ -123,15 +122,18 @@ void PlanMasterController::_activeVehicleChanged(Vehicle* activeVehicle)
connect ( _managerVehicle - > geoFenceManager ( ) , & GeoFenceManager : : sendComplete , this , & PlanMasterController : : _sendGeoFenceComplete ) ;
connect ( _managerVehicle - > geoFenceManager ( ) , & GeoFenceManager : : sendComplete , this , & PlanMasterController : : _sendGeoFenceComplete ) ;
connect ( _managerVehicle - > rallyPointManager ( ) , & RallyPointManager : : sendComplete , this , & PlanMasterController : : _sendRallyPointsComplete ) ;
connect ( _managerVehicle - > rallyPointManager ( ) , & RallyPointManager : : sendComplete , this , & PlanMasterController : : _sendRallyPointsComplete ) ;
}
}
if ( newOffline ! = _offline ) {
_offline = newOffline ;
emit offlineEditingChanged ( newOffline ) ;
}
_missionController . managerVehicleChanged ( _managerVehicle ) ;
_missionController . managerVehicleChanged ( _managerVehicle ) ;
_geoFenceController . managerVehicleChanged ( _managerVehicle ) ;
_geoFenceController . managerVehicleChanged ( _managerVehicle ) ;
_rallyPointController . managerVehicleChanged ( _managerVehicle ) ;
_rallyPointController . managerVehicleChanged ( _managerVehicle ) ;
// Vehicle changed so we need to signal everything
_offline = newOffline ;
emit containsItemsChanged ( containsItems ( ) ) ;
emit syncInProgressChanged ( ) ;
emit dirtyChanged ( dirty ( ) ) ;
emit offlineChanged ( offline ( ) ) ;
if ( ! _flyView ) {
if ( ! _flyView ) {
if ( ! offline ( ) ) {
if ( ! offline ( ) ) {
// We are in Plan view and we have a newly connected vehicle:
// We are in Plan view and we have a newly connected vehicle:
@ -170,9 +172,7 @@ void PlanMasterController::loadFromVehicle(void)
qCWarning ( PlanMasterControllerLog ) < < " PlanMasterController::loadFromVehicle called while syncInProgress " ;
qCWarning ( PlanMasterControllerLog ) < < " PlanMasterController::loadFromVehicle called while syncInProgress " ;
} else {
} else {
_loadGeoFence = true ;
_loadGeoFence = true ;
_syncInProgress = true ;
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::loadFromVehicle calling _missionController.loadFromVehicle " ;
emit syncInProgressChanged ( true ) ;
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::loadFromVehicle _missionController.loadFromVehicle " ;
_missionController . loadFromVehicle ( ) ;
_missionController . loadFromVehicle ( ) ;
setDirty ( false ) ;
setDirty ( false ) ;
}
}
@ -185,7 +185,7 @@ void PlanMasterController::_loadMissionComplete(void)
_loadGeoFence = false ;
_loadGeoFence = false ;
_loadRallyPoints = true ;
_loadRallyPoints = true ;
if ( _geoFenceController . supported ( ) ) {
if ( _geoFenceController . supported ( ) ) {
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::_loadMissionComplete _geoFenceController.loadFromVehicle " ;
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::_loadMissionComplete calling _geoFenceController.loadFromVehicle " ;
_geoFenceController . loadFromVehicle ( ) ;
_geoFenceController . loadFromVehicle ( ) ;
} else {
} else {
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::_loadMissionComplete GeoFence not supported skipping " ;
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::_loadMissionComplete GeoFence not supported skipping " ;
@ -201,7 +201,7 @@ void PlanMasterController::_loadGeoFenceComplete(void)
if ( ! _flyView & & _loadRallyPoints ) {
if ( ! _flyView & & _loadRallyPoints ) {
_loadRallyPoints = false ;
_loadRallyPoints = false ;
if ( _rallyPointController . supported ( ) ) {
if ( _rallyPointController . supported ( ) ) {
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::_loadGeoFenceComplete _rallyPointController.loadFromVehicle " ;
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::_loadGeoFenceComplete calling _rallyPointController.loadFromVehicle " ;
_rallyPointController . loadFromVehicle ( ) ;
_rallyPointController . loadFromVehicle ( ) ;
} else {
} else {
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::_loadMissionComplete Rally Points not supported skipping " ;
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::_loadMissionComplete Rally Points not supported skipping " ;
@ -214,10 +214,7 @@ void PlanMasterController::_loadGeoFenceComplete(void)
void PlanMasterController : : _loadRallyPointsComplete ( void )
void PlanMasterController : : _loadRallyPointsComplete ( void )
{
{
if ( ! _flyView ) {
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::_loadRallyPointsComplete " ;
_syncInProgress = false ;
emit syncInProgressChanged ( false ) ;
}
}
}
void PlanMasterController : : _sendMissionComplete ( void )
void PlanMasterController : : _sendMissionComplete ( void )
@ -252,11 +249,7 @@ void PlanMasterController::_sendGeoFenceComplete(void)
void PlanMasterController : : _sendRallyPointsComplete ( void )
void PlanMasterController : : _sendRallyPointsComplete ( void )
{
{
if ( _syncInProgress ) {
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::sendToVehicle Rally Point send complete " ;
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::sendToVehicle Rally Point send complete " ;
_syncInProgress = false ;
emit syncInProgressChanged ( false ) ;
}
}
}
void PlanMasterController : : sendToVehicle ( void )
void PlanMasterController : : sendToVehicle ( void )
@ -273,8 +266,6 @@ void PlanMasterController::sendToVehicle(void)
} else {
} else {
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::sendToVehicle start mission sendToVehicle " ;
qCDebug ( PlanMasterControllerLog ) < < " PlanMasterController::sendToVehicle start mission sendToVehicle " ;
_sendGeoFence = true ;
_sendGeoFence = true ;
_syncInProgress = true ;
emit syncInProgressChanged ( true ) ;
_missionController . sendToVehicle ( ) ;
_missionController . sendToVehicle ( ) ;
setDirty ( false ) ;
setDirty ( false ) ;
}
}
@ -504,10 +495,7 @@ void PlanMasterController::sendPlanToVehicle(Vehicle* vehicle, const QString& fi
void PlanMasterController : : _showPlanFromManagerVehicle ( void )
void PlanMasterController : : _showPlanFromManagerVehicle ( void )
{
{
if ( ! _managerVehicle - > initialPlanRequestComplete ( ) & &
if ( ! _managerVehicle - > initialPlanRequestComplete ( ) & & ! syncInProgress ( ) ) {
! _missionController . syncInProgress ( ) & &
! _geoFenceController . syncInProgress ( ) & &
! _rallyPointController . syncInProgress ( ) ) {
// Something went wrong with initial load. All controllers are idle, so just force it off
// Something went wrong with initial load. All controllers are idle, so just force it off
_managerVehicle - > forceInitialPlanRequestComplete ( ) ;
_managerVehicle - > forceInitialPlanRequestComplete ( ) ;
}
}
@ -519,3 +507,10 @@ void PlanMasterController::_showPlanFromManagerVehicle(void)
}
}
}
}
}
}
bool PlanMasterController : : syncInProgress ( void ) const
{
return _missionController . syncInProgress ( ) | |
_geoFenceController . syncInProgress ( ) | |
_rallyPointController . syncInProgress ( ) ;
}