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
809d29c8
Commit
809d29c8
authored
Feb 17, 2016
by
Don Gagne
Browse files
In progress indicator for vehicle sync
parent
470a46f8
Changes
4
Show whitespace changes
Inline
Side-by-side
src/MissionManager/MissionController.cc
View file @
809d29c8
...
...
@@ -762,6 +762,7 @@ void MissionController::_autoSyncSend(void)
void
MissionController
::
_inProgressChanged
(
bool
inProgress
)
{
emit
syncInProgressChanged
(
inProgress
);
if
(
!
inProgress
&&
_queuedSend
)
{
_autoSyncSend
();
}
...
...
@@ -891,3 +892,9 @@ QStringList MissionController::getMobileMissionFiles(void)
return
missionFiles
;
}
bool
MissionController
::
syncInProgress
(
void
)
{
qDebug
()
<<
_activeVehicle
->
missionManager
()
->
inProgress
();
return
_activeVehicle
->
missionManager
()
->
inProgress
();
}
src/MissionManager/MissionController.h
View file @
809d29c8
...
...
@@ -43,6 +43,7 @@ public:
Q_PROPERTY
(
QmlObjectListModel
*
missionItems
READ
missionItems
NOTIFY
missionItemsChanged
)
Q_PROPERTY
(
QmlObjectListModel
*
waypointLines
READ
waypointLines
NOTIFY
waypointLinesChanged
)
Q_PROPERTY
(
bool
autoSync
READ
autoSync
WRITE
setAutoSync
NOTIFY
autoSyncChanged
)
Q_PROPERTY
(
bool
syncInProgress
READ
syncInProgress
NOTIFY
syncInProgressChanged
)
Q_INVOKABLE
void
start
(
bool
editMode
);
Q_INVOKABLE
void
getMissionItems
(
void
);
...
...
@@ -64,12 +65,14 @@ public:
QmlObjectListModel
*
waypointLines
(
void
)
{
return
&
_waypointLines
;
}
bool
autoSync
(
void
)
{
return
_autoSync
;
}
void
setAutoSync
(
bool
autoSync
);
bool
syncInProgress
(
void
);
signals:
void
missionItemsChanged
(
void
);
void
waypointLinesChanged
(
void
);
void
autoSyncChanged
(
bool
autoSync
);
void
newItemsFromVehicle
(
void
);
void
syncInProgressChanged
(
bool
syncInProgress
);
private
slots
:
void
_newMissionItemsAvailableFromVehicle
();
...
...
src/QmlControls/DropButton.qml
View file @
809d29c8
...
...
@@ -9,7 +9,8 @@ Item {
id
:
_root
signal
clicked
()
property
alias
buttonImage
:
button
.
source
property
alias
buttonImage
:
roundButton
.
buttonImage
property
alias
rotateImage
:
roundButton
.
rotateImage
property
real
radius
:
ScreenTools
.
defaultFontPixelHeight
*
1.5
property
int
dropDirection
:
dropDown
property
alias
dropDownComponent
:
dropDownLoader
.
sourceComponent
...
...
@@ -38,7 +39,7 @@ Item {
// Set up ExclusiveGroup support. We use the checked property to drive visibility of drop down.
property
bool
checked
:
false
property
alias
checked
:
roundButton
.
checked
property
ExclusiveGroup
exclusiveGroup
:
null
onExclusiveGroupChanged
:
{
...
...
@@ -77,7 +78,7 @@ Item {
dropItemHolderRect
.
y
=
0
}
else
{
dropDownItem
.
y
=
b
utton
.
height
+
_dropMargin
dropDownItem
.
y
=
roundB
utton
.
height
+
_dropMargin
dropItemHolderRect
.
y
=
_arrowPointHeight
}
...
...
@@ -87,7 +88,7 @@ Item {
dropDownItem
.
x
=
Math
.
min
(
dropDownItem
.
x
+
dropDownItem
.
width
,
_viewportMaxRight
)
-
dropDownItem
.
width
// Arrow points
arrowCanvas
.
arrowPoint
.
x
=
(
b
utton
.
x
+
radius
)
-
dropDownItem
.
x
arrowCanvas
.
arrowPoint
.
x
=
(
roundB
utton
.
x
+
radius
)
-
dropDownItem
.
x
if
(
dropDirection
==
dropUp
)
{
arrowCanvas
.
arrowPoint
.
y
=
dropDownItem
.
height
arrowCanvas
.
arrowBase1
.
x
=
arrowCanvas
.
arrowPoint
.
x
-
(
_arrowBaseWidth
/
2
)
...
...
@@ -113,7 +114,7 @@ Item {
dropItemHolderRect
.
x
=
0
}
else
{
dropDownItem
.
x
=
b
utton
.
width
+
_dropMargin
dropDownItem
.
x
=
roundB
utton
.
width
+
_dropMargin
dropItemHolderRect
.
x
=
_arrowPointHeight
}
...
...
@@ -123,7 +124,7 @@ Item {
dropDownItem
.
y
=
Math
.
min
(
dropDownItem
.
y
+
dropDownItem
.
height
,
_viewportMaxBottom
)
-
dropDownItem
.
height
// Arrow points
arrowCanvas
.
arrowPoint
.
y
=
(
b
utton
.
y
+
radius
)
-
dropDownItem
.
y
arrowCanvas
.
arrowPoint
.
y
=
(
roundB
utton
.
y
+
radius
)
-
dropDownItem
.
y
if
(
dropDirection
==
dropLeft
)
{
arrowCanvas
.
arrowPoint
.
x
=
dropDownItem
.
width
arrowCanvas
.
arrowBase1
.
x
=
arrowCanvas
.
arrowPoint
.
x
-
_arrowPointHeight
...
...
@@ -155,30 +156,14 @@ Item {
}
}
// Button
Rectangle
{
anchors.fill
:
parent
radius
:
width
/
2
border.width
:
ScreenTools
.
defaultFontPixelHeight
*
0.0625
border.color
:
"
white
"
color
:
checked
?
qgcPal
.
mapButtonHighlight
:
qgcPal
.
mapButton
Image
{
id
:
button
anchors.fill
:
parent
fillMode
:
Image
.
PreserveAspectFit
mipmap
:
true
smooth
:
true
RoundButton
{
id
:
roundButton
radius
:
parent
.
width
/
2
MouseArea
{
anchors.fill
:
parent
onClicked
:
{
checked
=
!
checked
_root
.
clicked
()
}
}
}
// Image - button
}
Item
{
id
:
dropDownItem
...
...
src/QmlControls/RoundButton.qml
View file @
809d29c8
...
...
@@ -11,6 +11,7 @@ Item {
signal
clicked
()
property
alias
buttonImage
:
button
.
source
property
real
radius
:
ScreenTools
.
defaultFontPixelHeight
*
1.5
property
bool
rotateImage
:
false
width
:
radius
*
2
height
:
radius
*
2
...
...
@@ -26,6 +27,15 @@ Item {
}
}
onRotateImageChanged
:
{
if
(
rotateImage
)
{
imageRotation
.
running
=
true
}
else
{
imageRotation
.
running
=
false
button
.
rotation
=
0
}
}
Rectangle
{
anchors.fill
:
parent
radius
:
width
/
2
...
...
@@ -39,6 +49,14 @@ Item {
fillMode
:
Image
.
PreserveAspectFit
mipmap
:
true
smooth
:
true
RotationAnimation
on
rotation
{
id
:
imageRotation
loops
:
Animation
.
Infinite
from
:
0
to
:
360
duration
:
500
running
:
false
}
MouseArea
{
anchors.fill
:
parent
...
...
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