Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
1ff06210
Commit
1ff06210
authored
Mar 23, 2017
by
DonLakeFlyer
Browse files
Handle case where there is only one complex item
parent
98b317d3
Changes
3
Show whitespace changes
Inline
Side-by-side
src/MissionEditor/MissionEditor.qml
View file @
1ff06210
...
...
@@ -49,6 +49,7 @@ QGCView {
property
var
activeVehiclePosition
:
_activeVehicle
?
_activeVehicle
.
coordinate
:
QtPositioning
.
coordinate
()
property
bool
_lightWidgetBorders
:
editorMap
.
isSatelliteMap
property
bool
_addWaypointOnClick
:
false
property
bool
_singleComplexItem
:
missionController
.
complexMissionItemNames
.
length
==
1
/// The controller which should be called for load/save, send to/from vehicle calls
property
var
_syncDropDownController
:
missionController
...
...
@@ -77,6 +78,14 @@ QGCView {
}
}
function
addComplexItem
(
complexItemName
)
{
var
coordinate
=
editorMap
.
center
coordinate
.
latitude
=
coordinate
.
latitude
.
toFixed
(
_decimalPlaces
)
coordinate
.
longitude
=
coordinate
.
longitude
.
toFixed
(
_decimalPlaces
)
coordinate
.
altitude
=
coordinate
.
altitude
.
toFixed
(
_decimalPlaces
)
var
sequenceNumber
=
missionController
.
insertComplexMissionItem
(
complexItemName
,
coordinate
,
missionController
.
visualItems
.
count
)
}
property
bool
_firstMissionLoadComplete
:
false
property
bool
_firstFenceLoadComplete
:
false
property
bool
_firstRallyLoadComplete
:
false
...
...
@@ -696,7 +705,7 @@ QGCView {
{
name
:
"
Pattern
"
,
iconSource
:
"
/qmlimages/MapDrawShape.svg
"
,
dropPanelComponent
:
patternDropPanel
dropPanelComponent
:
_singleComplexItem
?
undefined
:
patternDropPanel
},
{
name
:
"
Sync
"
,
...
...
@@ -729,6 +738,11 @@ QGCView {
case
0
:
_addWaypointOnClick
=
checked
break
case
1
:
if
(
_singleComplexItem
)
{
addComplexItem
(
missionController
.
complexMissionItemNames
[
0
])
}
break
case
5
:
editorMap
.
zoomLevel
+=
0.5
break
...
...
@@ -947,12 +961,7 @@ QGCView {
Layout.fillWidth
:
true
onClicked
:
{
var
coordinate
=
editorMap
.
center
coordinate
.
latitude
=
coordinate
.
latitude
.
toFixed
(
_decimalPlaces
)
coordinate
.
longitude
=
coordinate
.
longitude
.
toFixed
(
_decimalPlaces
)
coordinate
.
altitude
=
coordinate
.
altitude
.
toFixed
(
_decimalPlaces
)
var
sequenceNumber
=
missionController
.
insertComplexMissionItem
(
modelData
,
coordinate
,
missionController
.
visualItems
.
count
)
setCurrentItem
(
sequenceNumber
)
addComplexItem
(
modelData
)
dropPanel
.
hide
()
}
}
...
...
src/MissionManager/MissionController.cc
View file @
1ff06210
...
...
@@ -52,6 +52,8 @@ MissionController::MissionController(QObject *parent)
,
_firstItemsFromVehicle
(
false
)
,
_missionItemsRequested
(
false
)
,
_queuedSend
(
false
)
,
_surveyMissionItemName
(
tr
(
"Survey"
))
,
_fwLandingMissionItemName
(
tr
(
"Fixed Wing Landing"
))
{
_missionFlightStatus
.
maxTelemetryDistance
=
0
;
_missionFlightStatus
.
totalDistance
=
0
;
...
...
@@ -63,10 +65,6 @@ MissionController::MissionController(QObject *parent)
_missionFlightStatus
.
cruiseSpeed
=
0
;
_missionFlightStatus
.
hoverSpeed
=
0
;
_missionFlightStatus
.
gimbalYaw
=
0
;
_surveyMissionItemName
=
tr
(
"Survey"
);
_fwLandingMissionItemName
=
tr
(
"Fixed Wing Landing"
);
_complexMissionItemNames
<<
_surveyMissionItemName
<<
_fwLandingMissionItemName
;
}
MissionController
::~
MissionController
()
...
...
@@ -1290,6 +1288,8 @@ void MissionController::_activeVehicleSet(void)
_activeVehicleHomePositionChanged
(
_activeVehicle
->
homePosition
());
_activeVehicleHomePositionAvailableChanged
(
_activeVehicle
->
homePositionAvailable
());
emit
complexMissionItemNamesChanged
();
}
void
MissionController
::
_activeVehicleHomePositionAvailableChanged
(
bool
homePositionAvailable
)
...
...
@@ -1573,3 +1573,15 @@ void MissionController::removeAllFromVehicle(void)
_missionItemsRequested
=
true
;
_activeVehicle
->
missionManager
()
->
removeAll
();
}
QStringList
MissionController
::
complexMissionItemNames
(
void
)
const
{
QStringList
complexItems
;
complexItems
.
append
(
_surveyMissionItemName
);
if
(
_activeVehicle
->
fixedWing
())
{
complexItems
.
append
(
_fwLandingMissionItemName
);
}
return
complexItems
;
}
src/MissionManager/MissionController.h
View file @
1ff06210
...
...
@@ -52,7 +52,7 @@ public:
Q_PROPERTY
(
QGeoCoordinate
plannedHomePosition
READ
plannedHomePosition
NOTIFY
plannedHomePositionChanged
)
Q_PROPERTY
(
QmlObjectListModel
*
visualItems
READ
visualItems
NOTIFY
visualItemsChanged
)
Q_PROPERTY
(
QmlObjectListModel
*
waypointLines
READ
waypointLines
NOTIFY
waypointLinesChanged
)
Q_PROPERTY
(
QStringList
complexMissionItemNames
MEMBER
_
complexMissionItemNames
CONSTANT
)
Q_PROPERTY
(
QStringList
complexMissionItemNames
READ
complexMissionItemNames
NOTIFY
complexMissionItemNamesChanged
)
Q_PROPERTY
(
double
missionDistance
READ
missionDistance
NOTIFY
missionDistanceChanged
)
Q_PROPERTY
(
double
missionTime
READ
missionTime
NOTIFY
missionTimeChanged
)
...
...
@@ -109,6 +109,7 @@ public:
QGeoCoordinate
plannedHomePosition
(
void
);
QmlObjectListModel
*
visualItems
(
void
)
{
return
_visualItems
;
}
QmlObjectListModel
*
waypointLines
(
void
)
{
return
&
_waypointLines
;
}
QStringList
complexMissionItemNames
(
void
)
const
;
double
missionDistance
(
void
)
const
{
return
_missionFlightStatus
.
totalDistance
;
}
double
missionTime
(
void
)
const
{
return
_missionFlightStatus
.
totalTime
;
}
...
...
@@ -130,6 +131,7 @@ signals:
void
missionCruiseDistanceChanged
(
double
missionCruiseDistance
);
void
missionCruiseTimeChanged
(
void
);
void
missionMaxTelemetryChanged
(
double
missionMaxTelemetry
);
void
complexMissionItemNamesChanged
(
void
);
private
slots
:
void
_newMissionItemsAvailableFromVehicle
(
bool
removeAllRequested
);
...
...
@@ -187,7 +189,6 @@ private:
MissionFlightStatus_t
_missionFlightStatus
;
QString
_surveyMissionItemName
;
QString
_fwLandingMissionItemName
;
QStringList
_complexMissionItemNames
;
static
const
char
*
_settingsGroup
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment