Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
dcb37703
Commit
dcb37703
authored
Apr 20, 2015
by
dogmaphobic
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added RSSI Indicator to ToolBar.
parent
2810e4d3
Changes
18
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
570 additions
and
433 deletions
+570
-433
qgroundcontrol.qrc
qgroundcontrol.qrc
+1
-0
Battery_0.svg
resources/Battery_0.svg
+10
-16
Battery_100.svg
resources/Battery_100.svg
+12
-25
Battery_20.svg
resources/Battery_20.svg
+12
-18
Battery_40.svg
resources/Battery_40.svg
+12
-20
Battery_60.svg
resources/Battery_60.svg
+12
-22
Battery_80.svg
resources/Battery_80.svg
+12
-24
antenna.svg
resources/antenna.svg
+14
-0
QGCAudioWorker.cpp
src/audio/QGCAudioWorker.cpp
+10
-2
QGCAudioWorker.h
src/audio/QGCAudioWorker.h
+1
-1
MAVLinkProtocol.h
src/comm/MAVLinkProtocol.h
+1
-1
SettingsDialog.cc
src/ui/SettingsDialog.cc
+6
-0
SettingsDialog.h
src/ui/SettingsDialog.h
+2
-0
SettingsDialog.ui
src/ui/SettingsDialog.ui
+273
-285
QGCFlightDisplay.cc
src/ui/flightdisplay/QGCFlightDisplay.cc
+8
-4
MainToolBar.cc
src/ui/toolbar/MainToolBar.cc
+45
-4
MainToolBar.h
src/ui/toolbar/MainToolBar.h
+17
-3
MainToolBar.qml
src/ui/toolbar/MainToolBar.qml
+122
-8
No files found.
qgroundcontrol.qrc
View file @
dcb37703
...
@@ -156,6 +156,7 @@
...
@@ -156,6 +156,7 @@
<file alias="Kill">resources/Kill.svg</file>
<file alias="Kill">resources/Kill.svg</file>
<file alias="Shutdown">resources/Shutdown.svg</file>
<file alias="Shutdown">resources/Shutdown.svg</file>
<file alias="Antenna">resources/antenna.svg</file>
<file alias="Gps">resources/Gps.svg</file>
<file alias="Gps">resources/Gps.svg</file>
<file alias="Megaphone">resources/Megaphone.png</file>
<file alias="Megaphone">resources/Megaphone.png</file>
<file alias="Yield">resources/Yield.png</file>
<file alias="Yield">resources/Yield.png</file>
...
...
resources/Battery_0.svg
View file @
dcb37703
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
id=
"svg4264"
sodipodi:docname=
"battery_0.svg"
inkscape:version=
"0.91 r13725"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:inkscape=
"http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns:cc=
"http://creativecommons.org/ns#"
viewBox=
"0 0 162 288"
enable-background=
"new 0 0 162 288"
xml:space=
"preserve"
>
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-142 87 326.3 620"
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E7E7E7"
stroke=
"#E7E7E7"
stroke-width=
"6"
d=
"M14.742,264.074V40.618
enable-background=
"new -142 87 326.3 620"
xml:space=
"preserve"
>
c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title
id=
"title4294"
>
Battery
</title>
C20.573,276.003,14.742,270.662,14.742,264.074z"
/>
<sodipodi:namedview
inkscape:window-maximized=
"0"
inkscape:window-y=
"65"
inkscape:window-x=
"2776"
inkscape:window-height=
"1259"
inkscape:window-width=
"2003"
fit-margin-bottom=
"0.02"
fit-margin-right=
"0.02"
inkscape:current-layer=
"layer1"
inkscape:pageshadow=
"2"
inkscape:document-units=
"in"
inkscape:pageopacity=
"0.0"
units=
"in"
borderopacity=
"1.0"
bordercolor=
"#666666"
pagecolor=
"#ffffff"
showgrid=
"false"
inkscape:cy=
"387.50002"
inkscape:zoom=
"1.4103225"
inkscape:cx=
"115.31779"
id=
"base"
fit-margin-top=
"0.02"
fit-margin-left=
"0.02"
showborder=
"true"
>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview>
c7.834,0,14.155,5.609,14.155,12.419v232.136c0,6.855-6.321,12.419-14.155,12.419H23.2C15.365,280.811,9,275.246,9,268.391z"
/>
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E6E7E8"
stroke=
"#E6E7E8"
stroke-width=
"6"
d=
"M-127.7,667.9v-502
c0-14.8,13.1-26.8,29.3-26.8h239.2c16.2,0,29.3,12,29.3,26.8v502c0,14.8-13.1,26.8-29.3,26.8H-98.4
C-114.6,694.7-127.7,682.7-127.7,667.9z"
/>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M-140.6,677.6V156.1c0-15.4,14.2-27.9,31.8-27.9h259.9
c17.6,0,31.8,12.6,31.8,27.9v521.5c0,15.4-14.2,27.9-31.8,27.9h-259.8C-126.3,705.5-140.6,693-140.6,677.6z"
/>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
6E7E8"
stroke=
"#E6E7E8
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
7E7E7"
stroke=
"#E7E7E7
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
M2
31.3-81.3c0,2.2-1.7,3.9-3.9,3.9h-155c-2.2,0-3.9-1.7-3.9-3.9v-40.2c0-2.2,1.7-3.9,3.9-3.9h155c2.2,0,3.9,1.7,3.9,3.9L231.3-81.3
M2
44.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.894
L231.3-81.3L231.3-81.
3z"
/>
c0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.38
3z"
/>
</g>
</g>
<text
transform=
"matrix(0.757 0 0 1 -80.0776 552.9648)"
font-family=
"'Helvetica'"
font-size=
"406.7761"
>
X
</text>
</svg>
</svg>
resources/Battery_100.svg
View file @
dcb37703
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
id=
"svg4264"
sodipodi:docname=
"battery_100.svg"
inkscape:version=
"0.91 r13725"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:inkscape=
"http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns:cc=
"http://creativecommons.org/ns#"
viewBox=
"0 0 162 288"
enable-background=
"new 0 0 162 288"
xml:space=
"preserve"
>
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-142 87 326.3 620"
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E7E7E7"
stroke=
"#E7E7E7"
stroke-width=
"6"
d=
"M14.742,264.074V40.618
enable-background=
"new -142 87 326.3 620"
xml:space=
"preserve"
>
c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title
id=
"title4294"
>
Battery
</title>
C20.573,276.003,14.742,270.662,14.742,264.074z"
/>
<sodipodi:namedview
inkscape:window-maximized=
"0"
inkscape:window-y=
"65"
inkscape:window-x=
"2776"
inkscape:window-height=
"1259"
inkscape:window-width=
"2003"
fit-margin-bottom=
"0.02"
fit-margin-right=
"0.02"
inkscape:current-layer=
"layer1"
inkscape:pageshadow=
"2"
inkscape:document-units=
"in"
inkscape:pageopacity=
"0.0"
units=
"in"
borderopacity=
"1.0"
bordercolor=
"#666666"
pagecolor=
"#ffffff"
showgrid=
"false"
inkscape:cy=
"393.84035"
inkscape:zoom=
"1.2144444"
inkscape:cx=
"202.22082"
id=
"base"
fit-margin-top=
"0.02"
fit-margin-left=
"0.02"
showborder=
"true"
>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview>
c7.834,0,14.155,5.609,14.155,12.419v232.136c0,6.855-6.321,12.419-14.155,12.419H23.2C15.365,280.811,9,275.246,9,268.391z"
/>
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E6E7E8"
stroke=
"#E6E7E8"
stroke-width=
"6"
d=
"M-127.7,667.9v-502
<path
id=
"path4679"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"ccccc"
fill=
"#0F763C"
d=
"M30.9,265.899V42.117H131.1
c0-14.8,13.1-26.8,29.3-26.8h239.2c16.2,0,29.3,12,29.3,26.8v502c0,14.8-13.1,26.8-29.3,26.8H-98.4
v223.782H30.9z"
/>
C-114.6,694.7-127.7,682.7-127.7,667.9z"
/>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M-140.6,677.6V156.1c0-15.4,14.2-27.9,31.8-27.9h259.9
c17.6,0,31.8,12.6,31.8,27.9v521.5c0,15.4-14.2,27.9-31.8,27.9h-259.8C-126.3,705.5-140.6,693-140.6,677.6z"
/>
<path
id=
"path4669"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.4,260.4v-90.1h225.1v90.1
H-91.4L-91.4,260.4z"
/>
<path
id=
"path4671"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.4,363.3v-90.1h225.1v90.1
H-91.4z"
/>
<path
id=
"path4673"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.4,466.3v-90.1h225.1v90.1
H-91.4z"
/>
<path
id=
"path4675"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.4,569.2v-90.1h225.1v90.1
H-91.4z"
/>
<path
id=
"path4679"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.4,672V582h225.1V672H-91.4
z"
/>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
6E7E8"
stroke=
"#E6E7E8
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
7E7E7"
stroke=
"#E7E7E7
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
M2
29.9-81.3c0,2.2-1.7,3.9-3.9,3.9h-155c-2.2,0-3.9-1.7-3.9-3.9v-40.2c0-2.2,1.7-3.9,3.9-3.9h155c2.2,0,3.9,1.7,3.9,3.9L229.9-81.3
M2
44.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.894
L229.9-81.3L229.9-81.
3z"
/>
c0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.38
3z"
/>
</g>
</g>
</svg>
</svg>
resources/Battery_20.svg
View file @
dcb37703
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
id=
"svg4264"
sodipodi:docname=
"battery_100.svg"
inkscape:version=
"0.91 r13725"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:inkscape=
"http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns:cc=
"http://creativecommons.org/ns#"
viewBox=
"0 0 162 288"
enable-background=
"new 0 0 162 288"
xml:space=
"preserve"
>
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-142 87 326.32 620"
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E7E7E7"
stroke=
"#E7E7E7"
stroke-width=
"6"
d=
"M14.742,264.074V40.618
enable-background=
"new -142 87 326.32 620"
xml:space=
"preserve"
>
c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title
id=
"title4294"
>
Battery
</title>
C20.573,276.003,14.742,270.662,14.742,264.074z"
/>
<sodipodi:namedview
inkscape:window-maximized=
"0"
inkscape:window-y=
"65"
inkscape:window-x=
"2776"
inkscape:window-height=
"1259"
inkscape:window-width=
"2003"
fit-margin-bottom=
"0.02"
fit-margin-right=
"0.02"
inkscape:current-layer=
"layer1"
inkscape:pageshadow=
"2"
inkscape:document-units=
"in"
inkscape:pageopacity=
"0.0"
units=
"in"
borderopacity=
"1.0"
bordercolor=
"#666666"
pagecolor=
"#ffffff"
showgrid=
"false"
inkscape:cy=
"393.84035"
inkscape:zoom=
"1.2144444"
inkscape:cx=
"202.22082"
id=
"base"
fit-margin-top=
"0.02"
fit-margin-left=
"0.02"
showborder=
"true"
>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview>
c7.834,0,14.155,5.609,14.155,12.419v232.136c0,6.855-6.321,12.419-14.155,12.419H23.2C15.365,280.811,9,275.246,9,268.391z"
/>
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E6E7E8"
stroke=
"#E6E7E8"
stroke-width=
"6"
d=
"M-127.68,667.88v-502
<path
id=
"path4679"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"ccccc"
fill=
"#5B140E"
d=
"M30.9,265.899v-39.866H131.1
c0-14.8,13.12-26.8,29.28-26.8h239.2c16.16,0,29.28,12,29.28,26.8v502c0,14.8-13.12,26.8-29.28,26.8H-98.4
v39.866H30.9z"
/>
C-114.64,694.68-127.68,682.68-127.68,667.88z"
/>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M-140.56,677.64V156.12c0-15.36,14.24-27.92,31.76-27.92
h259.92c17.6,0,31.76,12.56,31.76,27.92v521.52c0,15.36-14.24,27.92-31.76,27.92h-259.84C-126.32,705.48-140.56,693-140.56,677.64z"
/>
<path
id=
"path4679"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#471F0D"
d=
"M-91.36,672.04v-90.08h225.12
v90.08H-91.36z"
/>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
6E7E8"
stroke=
"#E6E7E8
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
7E7E7"
stroke=
"#E7E7E7
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
M2
29.861-81.283c0,2.24-1.68,3.92-3.92,3.92H70.901c-2.24,0-3.92-1.68-3.92-3.92v-40.16c0-2.24,1.68-3.92,3.92-3.92h155.0
4
M2
44.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.89
4
c
2.24,0,3.92,1.68,3.92,3.92L229.861-81.283L229.861-81.283L229.861-81.2
83z"
/>
c
0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.3
83z"
/>
</g>
</g>
</svg>
</svg>
resources/Battery_40.svg
View file @
dcb37703
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
id=
"svg4264"
sodipodi:docname=
"battery_100.svg"
inkscape:version=
"0.91 r13725"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:inkscape=
"http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns:cc=
"http://creativecommons.org/ns#"
viewBox=
"0 0 162 288"
enable-background=
"new 0 0 162 288"
xml:space=
"preserve"
>
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-142 87 326.32 620"
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E7E7E7"
stroke=
"#E7E7E7"
stroke-width=
"6"
d=
"M14.742,264.074V40.618
enable-background=
"new -142 87 326.32 620"
xml:space=
"preserve"
>
c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title
id=
"title4294"
>
Battery
</title>
C20.573,276.003,14.742,270.662,14.742,264.074z"
/>
<sodipodi:namedview
inkscape:window-maximized=
"0"
inkscape:window-y=
"65"
inkscape:window-x=
"2776"
inkscape:window-height=
"1259"
inkscape:window-width=
"2003"
fit-margin-bottom=
"0.02"
fit-margin-right=
"0.02"
inkscape:current-layer=
"layer1"
inkscape:pageshadow=
"2"
inkscape:document-units=
"in"
inkscape:pageopacity=
"0.0"
units=
"in"
borderopacity=
"1.0"
bordercolor=
"#666666"
pagecolor=
"#ffffff"
showgrid=
"false"
inkscape:cy=
"393.84035"
inkscape:zoom=
"1.2144444"
inkscape:cx=
"202.22082"
id=
"base"
fit-margin-top=
"0.02"
fit-margin-left=
"0.02"
showborder=
"true"
>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview>
c7.834,0,14.155,5.609,14.155,12.419v232.136c0,6.855-6.321,12.419-14.155,12.419H23.2C15.365,280.811,9,275.246,9,268.391z"
/>
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E6E7E8"
stroke=
"#E6E7E8"
stroke-width=
"6"
d=
"M-127.68,667.88v-502
<path
id=
"path4679"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"ccccc"
fill=
"#5B4219"
d=
"M30.9,265.899v-86.02H131.1
c0-14.8,13.12-26.8,29.28-26.8h239.2c16.16,0,29.28,12,29.28,26.8v502c0,14.8-13.12,26.8-29.28,26.8H-98.4
v86.02H30.9z"
/>
C-114.64,694.68-127.68,682.68-127.68,667.88z"
/>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M-140.56,677.64V156.12c0-15.36,14.24-27.92,31.76-27.92
h259.92c17.6,0,31.76,12.56,31.76,27.92v521.52c0,15.36-14.24,27.92-31.76,27.92h-259.84C-126.32,705.48-140.56,693-140.56,677.64z"
/>
<path
id=
"path4675"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#9F4B23"
d=
"M-91.36,569.16v-90.08h225.12
v90.08H-91.36z"
/>
<path
id=
"path4679"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#9F4B23"
d=
"M-91.36,672.04v-90.08h225.12
v90.08H-91.36z"
/>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
6E7E8"
stroke=
"#E6E7E8
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
7E7E7"
stroke=
"#E7E7E7
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
M2
29.861-81.283c0,2.24-1.68,3.92-3.92,3.92H70.901c-2.24,0-3.92-1.68-3.92-3.92v-40.16c0-2.24,1.68-3.92,3.92-3.92h155.0
4
M2
44.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.89
4
c
2.24,0,3.92,1.68,3.92,3.92L229.861-81.283L229.861-81.283L229.861-81.2
83z"
/>
c
0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.3
83z"
/>
</g>
</g>
</svg>
</svg>
resources/Battery_60.svg
View file @
dcb37703
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
id=
"svg4264"
sodipodi:docname=
"battery_100.svg"
inkscape:version=
"0.91 r13725"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:inkscape=
"http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns:cc=
"http://creativecommons.org/ns#"
viewBox=
"0 0 162 288"
enable-background=
"new 0 0 162 288"
xml:space=
"preserve"
>
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-142 87 326.32 620"
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E7E7E7"
stroke=
"#E7E7E7"
stroke-width=
"6"
d=
"M14.742,264.074V40.618
enable-background=
"new -142 87 326.32 620"
xml:space=
"preserve"
>
c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title
id=
"title4294"
>
Battery
</title>
C20.573,276.003,14.742,270.662,14.742,264.074z"
/>
<sodipodi:namedview
inkscape:window-maximized=
"0"
inkscape:window-y=
"65"
inkscape:window-x=
"2776"
inkscape:window-height=
"1259"
inkscape:window-width=
"2003"
fit-margin-bottom=
"0.02"
fit-margin-right=
"0.02"
inkscape:current-layer=
"layer1"
inkscape:pageshadow=
"2"
inkscape:document-units=
"in"
inkscape:pageopacity=
"0.0"
units=
"in"
borderopacity=
"1.0"
bordercolor=
"#666666"
pagecolor=
"#ffffff"
showgrid=
"false"
inkscape:cy=
"393.84035"
inkscape:zoom=
"1.2144444"
inkscape:cx=
"202.22082"
id=
"base"
fit-margin-top=
"0.02"
fit-margin-left=
"0.02"
showborder=
"true"
>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview>
c7.834,0,14.155,5.609,14.155,12.419v232.136c0,6.855-6.321,12.419-14.155,12.419H23.2C15.365,280.811,9,275.246,9,268.391z"
/>
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E6E7E8"
stroke=
"#E6E7E8"
stroke-width=
"6"
d=
"M-127.68,667.88v-502
<path
id=
"path4679"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"ccccc"
fill=
"#5C5B27"
d=
"M30.9,265.899V133.958H131.1
c0-14.8,13.12-26.8,29.28-26.8h239.2c16.16,0,29.28,12,29.28,26.8v502c0,14.8-13.12,26.8-29.28,26.8H-98.4
v131.941H30.9z"
/>
C-114.64,694.68-127.68,682.68-127.68,667.88z"
/>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M-140.56,677.64V156.12c0-15.36,14.24-27.92,31.76-27.92
h259.92c17.6,0,31.76,12.56,31.76,27.92v521.52c0,15.36-14.24,27.92-31.76,27.92h-259.84C-126.32,705.48-140.56,693-140.56,677.64z"
/>
<path
id=
"path4673"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.36,466.28V376.2h225.12
v90.08H-91.36z"
/>
<path
id=
"path4675"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.36,569.16v-90.08h225.12
v90.08H-91.36z"
/>
<path
id=
"path4679"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.36,672.04v-90.08h225.12
v90.08H-91.36z"
/>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
6E7E8"
stroke=
"#E6E7E8
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
7E7E7"
stroke=
"#E7E7E7
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
M2
29.861-81.283c0,2.24-1.68,3.92-3.92,3.92H70.901c-2.24,0-3.92-1.68-3.92-3.92v-40.16c0-2.24,1.68-3.92,3.92-3.92h155.0
4
M2
44.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.89
4
c
2.24,0,3.92,1.68,3.92,3.92L229.861-81.283L229.861-81.283L229.861-81.2
83z"
/>
c
0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.3
83z"
/>
</g>
</g>
</svg>
</svg>
resources/Battery_80.svg
View file @
dcb37703
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
id=
"svg4264"
sodipodi:docname=
"battery_100.svg"
inkscape:version=
"0.91 r13725"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:inkscape=
"http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns:cc=
"http://creativecommons.org/ns#"
viewBox=
"0 0 162 288"
enable-background=
"new 0 0 162 288"
xml:space=
"preserve"
>
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-142 87 326.32 620"
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E7E7E7"
stroke=
"#E7E7E7"
stroke-width=
"6"
d=
"M14.742,264.074V40.618
enable-background=
"new -142 87 326.32 620"
xml:space=
"preserve"
>
c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title
id=
"title4294"
>
Battery
</title>
C20.573,276.003,14.742,270.662,14.742,264.074z"
/>
<sodipodi:namedview
inkscape:window-maximized=
"0"
inkscape:window-y=
"65"
inkscape:window-x=
"2776"
inkscape:window-height=
"1259"
inkscape:window-width=
"2003"
fit-margin-bottom=
"0.02"
fit-margin-right=
"0.02"
inkscape:current-layer=
"layer1"
inkscape:pageshadow=
"2"
inkscape:document-units=
"in"
inkscape:pageopacity=
"0.0"
units=
"in"
borderopacity=
"1.0"
bordercolor=
"#666666"
pagecolor=
"#ffffff"
showgrid=
"false"
inkscape:cy=
"393.84035"
inkscape:zoom=
"1.2144444"
inkscape:cx=
"202.22082"
id=
"base"
fit-margin-top=
"0.02"
fit-margin-left=
"0.02"
showborder=
"true"
>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview>
c7.834,0,14.155,5.609,14.155,12.419v232.136c0,6.855-6.321,12.419-14.155,12.419H23.2C15.365,280.811,9,275.246,9,268.391z"
/>
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
fill=
"#E6E7E8"
stroke=
"#E6E7E8"
stroke-width=
"6"
d=
"M-127.68,667.88v-502
<path
id=
"path4679"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"ccccc"
fill=
"#0F763C"
d=
"M30.9,265.899V88.27H131.1
c0-14.8,13.12-26.8,29.28-26.8h239.2c16.16,0,29.28,12,29.28,26.8v502c0,14.8-13.12,26.8-29.28,26.8H-98.4
v177.628H30.9z"
/>
C-114.64,694.68-127.68,682.68-127.68,667.88z"
/>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
fill=
"none"
d=
"M-140.56,677.64V156.12c0-15.36,14.24-27.92,31.76-27.92
h259.92c17.6,0,31.76,12.56,31.76,27.92v521.52c0,15.36-14.24,27.92-31.76,27.92h-259.84C-126.32,705.48-140.56,693-140.56,677.64z"
/>
<path
id=
"path4671"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.36,363.32v-90.08h225.12
v90.08H-91.36z"
/>
<path
id=
"path4673"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.36,466.28V376.2h225.12
v90.08H-91.36z"
/>
<path
id=
"path4675"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.36,569.16v-90.08h225.12
v90.08H-91.36z"
/>
<path
id=
"path4679"
sodipodi:nodetypes=
"ccccc"
inkscape:connector-curvature=
"0"
fill=
"#09753B"
d=
"M-91.36,672.04v-90.08h225.12
v90.08H-91.36z"
/>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
6E7E8"
stroke=
"#E6E7E8
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
fill=
"#E
7E7E7"
stroke=
"#E7E7E7
"
stroke-width=
"6"
stroke-miterlimit=
"10"
d=
"
M2
29.861-81.283c0,2.24-1.68,3.92-3.92,3.92H70.901c-2.24,0-3.92-1.68-3.92-3.92v-40.16c0-2.24,1.68-3.92,3.92-3.92h155.0
4
M2
44.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.89
4
c
2.24,0,3.92,1.68,3.92,3.92L229.861-81.283L229.861-81.283L229.861-81.2
83z"
/>
c
0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.3
83z"
/>
</g>
</g>
</svg>
</svg>
resources/antenna.svg
0 → 100644
View file @
dcb37703
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 288 288"
enable-background=
"new 0 0 288 288"
xml:space=
"preserve"
>
<path
fill=
"#FFFFFF"
d=
"M27,101.848c0,31.254,12.181,60.645,34.312,82.758l-19.09,19.09C14.994,176.484,0,140.309,0,101.848
S14.977,27.211,42.187,0.036l19.09,19.09C39.164,41.203,27,70.594,27,101.848z M102.621,60.469l-19.09-19.09
C67.394,57.551,58.5,79.031,58.5,101.847c0,22.852,8.895,44.332,25.067,60.469l19.09-19.09
C91.582,132.187,85.5,117.492,85.5,101.847C85.5,86.239,91.582,71.543,102.621,60.469z M245.777,0l-19.09,19.09
C248.818,41.204,261,70.594,261,101.848s-12.164,60.645-34.26,82.758l19.09,19.09C273.023,176.485,288,140.309,288,101.848
C287.999,63.352,273.005,27.176,245.777,0z M144,74.848c-14.906,0-27,12.094-27,27c0,9.984,5.467,18.598,13.5,23.256V288h27V125.121
c8.033-4.676,13.5-13.289,13.5-23.273C171,86.942,158.923,74.848,144,74.848z M204.433,41.379l-19.09,19.09
C196.4,71.543,202.5,86.239,202.5,101.848c0,15.645-6.082,30.34-17.121,41.379l19.09,19.09
C220.605,146.18,229.5,124.7,229.5,101.849S220.605,57.551,204.433,41.379z"
/>
</svg>
src/audio/QGCAudioWorker.cpp
View file @
dcb37703
...
@@ -100,7 +100,7 @@ void QGCAudioWorker::say(QString inText, int severity)
...
@@ -100,7 +100,7 @@ void QGCAudioWorker::say(QString inText, int severity)
if
(
!
muted
)
if
(
!
muted
)
{
{
QString
text
=
_fix
MillisecondString
(
inText
);
QString
text
=
_fix
TextMessageForAudio
(
inText
);
// Prepend high priority text with alert beep
// Prepend high priority text with alert beep
if
(
severity
<
GAudioOutput
::
AUDIO_SEVERITY_CRITICAL
)
{
if
(
severity
<
GAudioOutput
::
AUDIO_SEVERITY_CRITICAL
)
{
beep
();
beep
();
...
@@ -187,10 +187,18 @@ bool QGCAudioWorker::_getMillisecondString(const QString& string, QString& match
...
@@ -187,10 +187,18 @@ bool QGCAudioWorker::_getMillisecondString(const QString& string, QString& match
return
false
;
return
false
;
}
}
QString
QGCAudioWorker
::
_fix
MillisecondString
(
const
QString
&
string
)
{
QString
QGCAudioWorker
::
_fix
TextMessageForAudio
(
const
QString
&
string
)
{
QString
match
;
QString
match
;
QString
newNumber
;
QString
newNumber
;
QString
result
=
string
;
QString
result
=
string
;
//-- Look for modes
if
(
result
.
contains
(
"POSCTL"
,
Qt
::
CaseInsensitive
))
{
result
.
replace
(
"POSCTL"
,
"Position Control"
,
Qt
::
CaseInsensitive
);
}
else
if
(
result
.
contains
(
"ALTCTL"
,
Qt
::
CaseInsensitive
))
{
result
.
replace
(
"ALTCTL"
,
"Altitude Control"
,
Qt
::
CaseInsensitive
);
}
else
if
(
result
.
contains
(
"RTL"
,
Qt
::
CaseInsensitive
))
{
result
.
replace
(
"RTL"
,
"Return To Land"
,
Qt
::
CaseInsensitive
);
}
int
number
;
int
number
;
if
(
_getMillisecondString
(
string
,
match
,
number
)
&&
number
>
1000
)
{
if
(
_getMillisecondString
(
string
,
match
,
number
)
&&
number
>
1000
)
{
if
(
number
<
60000
)
{
if
(
number
<
60000
)
{
...
...
src/audio/QGCAudioWorker.h
View file @
dcb37703
...
@@ -51,7 +51,7 @@ protected:
...
@@ -51,7 +51,7 @@ protected:
QTimer
*
emergencyTimer
;
QTimer
*
emergencyTimer
;
bool
muted
;
bool
muted
;
private:
private:
QString
_fix
MillisecondString
(
const
QString
&
string
);
QString
_fix
TextMessageForAudio
(
const
QString
&
string
);
bool
_getMillisecondString
(
const
QString
&
string
,
QString
&
match
,
int
&
number
);
bool
_getMillisecondString
(
const
QString
&
string
,
QString
&
match
,
int
&
number
);
};
};
...
...
src/comm/MAVLinkProtocol.h
View file @
dcb37703
...
@@ -254,7 +254,7 @@ signals:
...
@@ -254,7 +254,7 @@ signals:
void
paramRewriteTimeoutChanged
(
int
ms
);
void
paramRewriteTimeoutChanged
(
int
ms
);
/** @brief Emitted if action guard status changed */
/** @brief Emitted if action guard status changed */
void
actionGuardChanged
(
bool
enabled
);
void
actionGuardChanged
(
bool
enabled
);
/** @brief Emitted if acti
i
on request timeout changed */
/** @brief Emitted if action request timeout changed */
void
actionRetransmissionTimeoutChanged
(
int
ms
);
void
actionRetransmissionTimeoutChanged
(
int
ms
);
/** @brief Update the packet loss from one system */
/** @brief Update the packet loss from one system */
void
receiveLossChanged
(
int
uasId
,
float
loss
);
void
receiveLossChanged
(
int
uasId
,
float
loss
);
...
...
src/ui/SettingsDialog.cc
View file @
dcb37703
...
@@ -81,6 +81,7 @@ _ui(new Ui::SettingsDialog)
...
@@ -81,6 +81,7 @@ _ui(new Ui::SettingsDialog)
_ui
->
showGPS
->
setChecked
(
settings
.
value
(
TOOL_BAR_SHOW_GPS
,
true
).
toBool
());
_ui
->
showGPS
->
setChecked
(
settings
.
value
(
TOOL_BAR_SHOW_GPS
,
true
).
toBool
());
_ui
->
showMav
->
setChecked
(
settings
.
value
(
TOOL_BAR_SHOW_MAV
,
true
).
toBool
());
_ui
->
showMav
->
setChecked
(
settings
.
value
(
TOOL_BAR_SHOW_MAV
,
true
).
toBool
());
_ui
->
showMessages
->
setChecked
(
settings
.
value
(
TOOL_BAR_SHOW_MESSAGES
,
true
).
toBool
());
_ui
->
showMessages
->
setChecked
(
settings
.
value
(
TOOL_BAR_SHOW_MESSAGES
,
true
).
toBool
());
_ui
->
showRSSI
->
setChecked
(
settings
.
value
(
TOOL_BAR_SHOW_RSSI
,
true
).
toBool
());
settings
.
endGroup
();
settings
.
endGroup
();
// Audio preferences
// Audio preferences
_ui
->
audioMuteCheckBox
->
setChecked
(
GAudioOutput
::
instance
()
->
isMuted
());
_ui
->
audioMuteCheckBox
->
setChecked
(
GAudioOutput
::
instance
()
->
isMuted
());
...
@@ -206,3 +207,8 @@ void SettingsDialog::on_showMav_clicked(bool checked)
...
@@ -206,3 +207,8 @@ void SettingsDialog::on_showMav_clicked(bool checked)
{
{
_mainWindow
->
getMainToolBar
()
->
viewStateChanged
(
TOOL_BAR_SHOW_MAV
,
checked
);
_mainWindow
->
getMainToolBar
()
->
viewStateChanged
(
TOOL_BAR_SHOW_MAV
,
checked
);
}
}
void
SettingsDialog
::
on_showRSSI_clicked
(
bool
checked
)
{
_mainWindow
->
getMainToolBar
()
->
viewStateChanged
(
TOOL_BAR_SHOW_RSSI
,
checked
);
}
src/ui/SettingsDialog.h
View file @
dcb37703
...
@@ -65,6 +65,8 @@ private slots:
...
@@ -65,6 +65,8 @@ private slots:
void
on_showMessages_clicked
(
bool
checked
);
void
on_showMessages_clicked
(
bool
checked
);
void
on_showMav_clicked
(
bool
checked
);
void
on_showMav_clicked
(
bool
checked
);
void
on_showRSSI_clicked
(
bool
checked
);
private:
private:
MainWindow
*
_mainWindow
;
MainWindow
*
_mainWindow
;
Ui
::
SettingsDialog
*
_ui
;
Ui
::
SettingsDialog
*
_ui
;
...
...
src/ui/SettingsDialog.ui
View file @
dcb37703
This diff is collapsed.
Click to expand it.
src/ui/flightdisplay/QGCFlightDisplay.cc
View file @
dcb37703
...
@@ -303,10 +303,14 @@ void QGCFlightDisplay::_checkUpdate()
...
@@ -303,10 +303,14 @@ void QGCFlightDisplay::_checkUpdate()
emit
longitudeChanged
();
emit
longitudeChanged
();
}
}
if
(
_mav
)
{
if
(
_mav
)
{
_latitude
=
_mav
->
getLatitude
();
if
(
_latitude
!=
_mav
->
getLatitude
())
{
_longitude
=
_mav
->
getLongitude
();
_latitude
=
_mav
->
getLatitude
();
if
(
_latitude
)
emit
latitudeChanged
();
emit
latitudeChanged
();
if
(
_longitude
)
emit
longitudeChanged
();
}
if
(
_longitude
!=
_mav
->
getLongitude
())
{
_longitude
=
_mav
->
getLongitude
();
emit
longitudeChanged
();
}
}
}
}
}
src/ui/toolbar/MainToolBar.cc
View file @
dcb37703
...
@@ -58,8 +58,11 @@ MainToolBar::MainToolBar(QWidget* parent)
...
@@ -58,8 +58,11 @@ MainToolBar::MainToolBar(QWidget* parent)
,
_showGPS
(
true
)
,
_showGPS
(
true
)
,
_showMav
(
true
)
,
_showMav
(
true
)
,
_showMessages
(
true
)
,
_showMessages
(
true
)
,
_showRSSI
(
true
)
,
_showBattery
(
true
)
,
_showBattery
(
true
)
,
_progressBarValue
(
0.0
f
)
,
_progressBarValue
(
0.0
f
)
,
_remoteRSSI
(
0.0
f
)
,
_telemetryRSSI
(
0
)
,
_rollDownMessages
(
0
)
,
_rollDownMessages
(
0
)
{
{
setSizePolicy
(
QSizePolicy
::
MinimumExpanding
,
QSizePolicy
::
MinimumExpanding
);
setSizePolicy
(
QSizePolicy
::
MinimumExpanding
,
QSizePolicy
::
MinimumExpanding
);
...
@@ -95,10 +98,14 @@ MainToolBar::MainToolBar(QWidget* parent)
...
@@ -95,10 +98,14 @@ MainToolBar::MainToolBar(QWidget* parent)
emit
heartbeatTimeoutChanged
(
_currentHeartbeatTimeout
);
emit
heartbeatTimeoutChanged
(
_currentHeartbeatTimeout
);
emit
connectionCountChanged
(
_connectionCount
);
emit
connectionCountChanged
(
_connectionCount
);
// Link signals
// Link signals
connect
(
UASManager
::
instance
(),
&
UASManager
::
activeUASSet
,
this
,
&
MainToolBar
::
_setActiveUAS
);
connect
(
UASManager
::
instance
(),
&
UASManager
::
activeUASSet
,
this
,
&
MainToolBar
::
_setActiveUAS
);
connect
(
LinkManager
::
instance
(),
&
LinkManager
::
linkConfigurationChanged
,
this
,
&
MainToolBar
::
_updateConfigurations
);
connect
(
LinkManager
::
instance
(),
&
LinkManager
::
linkConfigurationChanged
,
this
,
&
MainToolBar
::
_updateConfigurations
);
connect
(
LinkManager
::
instance
(),
&
LinkManager
::
linkConnected
,
this
,
&
MainToolBar
::
_linkConnected
);
connect
(
LinkManager
::
instance
(),
&
LinkManager
::
linkConnected
,
this
,
&
MainToolBar
::
_linkConnected
);
connect
(
LinkManager
::
instance
(),
&
LinkManager
::
linkDisconnected
,
this
,
&
MainToolBar
::
_linkDisconnected
);
connect
(
LinkManager
::
instance
(),
&
LinkManager
::
linkDisconnected
,
this
,
&
MainToolBar
::
_linkDisconnected
);
// RSSI (didn't like standard connection)
connect
(
MAVLinkProtocol
::
instance
(),
SIGNAL
(
radioStatusChanged
(
LinkInterface
*
,
unsigned
,
unsigned
,
unsigned
,
unsigned
,
unsigned
,
unsigned
,
unsigned
)),
this
,
SLOT
(
_telemetryChanged
(
LinkInterface
*
,
unsigned
,
unsigned
,
unsigned
,
unsigned
,
unsigned
,
unsigned
,
unsigned
)));
}
}
MainToolBar
::~
MainToolBar
()
MainToolBar
::~
MainToolBar
()
...
@@ -124,6 +131,9 @@ void MainToolBar::_setToolBarState(const QString& key, bool value)
...
@@ -124,6 +131,9 @@ void MainToolBar::_setToolBarState(const QString& key, bool value)
}
else
if
(
key
==
TOOL_BAR_SHOW_MESSAGES
)
{
}
else
if
(
key
==
TOOL_BAR_SHOW_MESSAGES
)
{
_showMessages
=
value
;
_showMessages
=
value
;
emit
showMessagesChanged
(
value
);
emit
showMessagesChanged
(
value
);
}
else
if
(
key
==
TOOL_BAR_SHOW_RSSI
)
{
_showRSSI
=
value
;
emit
showRSSIChanged
(
value
);
}
}
}
}
...
@@ -296,6 +306,7 @@ void MainToolBar::_setActiveUAS(UASInterface* active)
...
@@ -296,6 +306,7 @@ void MainToolBar::_setActiveUAS(UASInterface* active)
disconnect
(
_mav
,
&
UASInterface
::
nameChanged
,
this
,
&
MainToolBar
::
_updateName
);
disconnect
(
_mav
,
&
UASInterface
::
nameChanged
,
this
,
&
MainToolBar
::
_updateName
);
disconnect
(
_mav
,
&
UASInterface
::
systemTypeSet
,
this
,
&
MainToolBar
::
_setSystemType
);
disconnect
(
_mav
,
&
UASInterface
::
systemTypeSet
,
this
,
&
MainToolBar
::
_setSystemType
);
disconnect
(
_mav
,
&
UASInterface
::
localizationChanged
,
this
,
&
MainToolBar
::
_setSatLoc
);
disconnect
(
_mav
,
&
UASInterface
::
localizationChanged
,
this
,
&
MainToolBar
::
_setSatLoc
);
disconnect
(
_mav
,
&
UASInterface
::
remoteControlRSSIChanged
,
this
,
&
MainToolBar
::
_remoteControlRSSIChanged
);
disconnect
(
_mav
,
SIGNAL
(
statusChanged
(
UASInterface
*
,
QString
,
QString
)),
this
,
SLOT
(
_updateState
(
UASInterface
*
,
QString
,
QString
)));
disconnect
(
_mav
,
SIGNAL
(
statusChanged
(
UASInterface
*
,
QString
,
QString
)),
this
,
SLOT
(
_updateState
(
UASInterface
*
,
QString
,
QString
)));
disconnect
(
_mav
,
SIGNAL
(
armingChanged
(
bool
)),
this
,
SLOT
(
_updateArmingState
(
bool
)));
disconnect
(
_mav
,
SIGNAL
(
armingChanged
(
bool
)),
this
,
SLOT
(
_updateArmingState
(
bool
)));
if
(
_mav
->
getWaypointManager
())
if
(
_mav
->
getWaypointManager
())
...
@@ -324,6 +335,7 @@ void MainToolBar::_setActiveUAS(UASInterface* active)
...
@@ -324,6 +335,7 @@ void MainToolBar::_setActiveUAS(UASInterface* active)
connect
(
_mav
,
&
UASInterface
::
nameChanged
,
this
,
&
MainToolBar
::
_updateName
);
connect
(
_mav
,
&
UASInterface
::
nameChanged
,
this
,
&
MainToolBar
::
_updateName
);
connect
(
_mav
,
&
UASInterface
::
systemTypeSet
,
this
,
&
MainToolBar
::
_setSystemType
);
connect
(
_mav
,
&
UASInterface
::
systemTypeSet
,
this
,
&
MainToolBar
::
_setSystemType
);
connect
(
_mav
,
&
UASInterface
::
localizationChanged
,
this
,
&
MainToolBar
::
_setSatLoc
);
connect
(
_mav
,
&
UASInterface
::
localizationChanged
,
this
,
&
MainToolBar
::
_setSatLoc
);
connect
(
_mav
,
&
UASInterface
::
remoteControlRSSIChanged
,
this
,
&
MainToolBar
::
_remoteControlRSSIChanged
);
connect
(
_mav
,
SIGNAL
(
statusChanged
(
UASInterface
*
,
QString
,
QString
)),
this
,
SLOT
(
_updateState
(
UASInterface
*
,
QString
,
QString
)));
connect
(
_mav
,
SIGNAL
(
statusChanged
(
UASInterface
*
,
QString
,
QString
)),
this
,
SLOT
(
_updateState
(
UASInterface
*
,
QString
,
QString
)));
connect
(
_mav
,
SIGNAL
(
armingChanged
(
bool
)),
this
,
SLOT
(
_updateArmingState
(
bool
)));
connect
(
_mav
,
SIGNAL
(
armingChanged
(
bool
)),
this
,
SLOT
(
_updateArmingState
(
bool
)));
if
(
_mav
->
getWaypointManager
())
if
(
_mav
->
getWaypointManager
())
...
@@ -347,6 +359,26 @@ void MainToolBar::_setActiveUAS(UASInterface* active)
...
@@ -347,6 +359,26 @@ void MainToolBar::_setActiveUAS(UASInterface* active)
emit
mavPresentChanged
(
_mav
!=
NULL
);
emit
mavPresentChanged
(
_mav
!=
NULL
);
}
}
void
MainToolBar
::
_telemetryChanged
(
LinkInterface
*
,
unsigned
,
unsigned
,
unsigned
rssi
,
unsigned
foo
,
unsigned
,
unsigned
,
unsigned
)
{
// If we don't have any connections or more than one, ignore it
if
(
_connectionCount
==
1
)
{
if
((
unsigned
)
_telemetryRSSI
!=
rssi
)
{
_telemetryRSSI
=
rssi
;
emit
telemetryRSSIChanged
(
_telemetryRSSI
);
}
}
qDebug
()
<<
rssi
<<
foo
;
}
void
MainToolBar
::
_remoteControlRSSIChanged
(
float
rssi
)
{
if
(
_remoteRSSI
!=
rssi
)
{
_remoteRSSI
=
rssi
;
emit
remoteRSSIChanged
(
_remoteRSSI
);
}
}
void
MainToolBar
::
_updateArmingState
(
bool
armed
)
void
MainToolBar
::
_updateArmingState
(
bool
armed
)
{
{
if
(
_systemArmed
!=
armed
)
{
if
(
_systemArmed
!=
armed
)
{
...
@@ -426,6 +458,15 @@ void MainToolBar::_updateConnection(LinkInterface *disconnectedLink)
...
@@ -426,6 +458,15 @@ void MainToolBar::_updateConnection(LinkInterface *disconnectedLink)
_connectedList
=
connList
;
_connectedList
=
connList
;
emit
connectedListChanged
(
_connectedList
);
emit
connectedListChanged
(
_connectedList
);
}
}
// Update telemetry RSSI display
if
(
_connectionCount
==
0
&&
_telemetryRSSI
>
0
)
{
_telemetryRSSI
=
0
;
emit
telemetryRSSIChanged
(
_telemetryRSSI
);
}
if
(
_connectionCount
==
0
&&
_remoteRSSI
>
0
)
{
_remoteRSSI
=
0
;
emit
remoteRSSIChanged
(
_remoteRSSI
);
}
}
}
void
MainToolBar
::
_updateState
(
UASInterface
*
,
QString
name
,
QString
)
void
MainToolBar
::
_updateState
(
UASInterface
*
,
QString
name
,
QString
)
...
...
src/ui/toolbar/MainToolBar.h
View file @
dcb37703
...
@@ -37,6 +37,7 @@ This file is part of the QGROUNDCONTROL project
...
@@ -37,6 +37,7 @@ This file is part of the QGROUNDCONTROL project
#define TOOL_BAR_SHOW_GPS "ShowGPS"
#define TOOL_BAR_SHOW_GPS "ShowGPS"
#define TOOL_BAR_SHOW_MAV "ShowMav"
#define TOOL_BAR_SHOW_MAV "ShowMav"
#define TOOL_BAR_SHOW_MESSAGES "ShowMessages"
#define TOOL_BAR_SHOW_MESSAGES "ShowMessages"
#define TOOL_BAR_SHOW_RSSI "ShowRSSI"
class
UASInterface
;
class
UASInterface
;
class
UASMessage
;
class
UASMessage
;
...
@@ -96,12 +97,17 @@ public:
...
@@ -96,12 +97,17 @@ public:
Q_PROPERTY
(
bool
showMav
MEMBER
_showMav
NOTIFY
showMavChanged
)
Q_PROPERTY
(
bool
showMav
MEMBER
_showMav
NOTIFY
showMavChanged
)
Q_PROPERTY
(
bool
showMessages
MEMBER
_showMessages
NOTIFY
showMessagesChanged
)
Q_PROPERTY
(
bool
showMessages
MEMBER
_showMessages
NOTIFY
showMessagesChanged
)
Q_PROPERTY
(
bool
showBattery
MEMBER
_showBattery
NOTIFY
showBatteryChanged
)
Q_PROPERTY
(
bool
showBattery
MEMBER
_showBattery
NOTIFY
showBatteryChanged
)
Q_PROPERTY
(
bool
showRSSI
MEMBER
_showRSSI
NOTIFY
showRSSIChanged
)
Q_PROPERTY
(
float
progressBarValue
MEMBER
_progressBarValue
NOTIFY
progressBarValueChanged
)
Q_PROPERTY
(
float
progressBarValue
MEMBER
_progressBarValue
NOTIFY
progressBarValueChanged
)
Q_PROPERTY
(
float
remoteRSSI
READ
remoteRSSI
NOTIFY
remoteRSSIChanged
)
Q_PROPERTY
(
int
telemetryRSSI
READ
telemetryRSSI
NOTIFY
telemetryRSSIChanged
)
bool
mavPresent
()
{
return
_mav
!=
NULL
;
}
bool
mavPresent
()
{
return
_mav
!=
NULL
;
}
float
remoteRSSI
()
{
return
_remoteRSSI
;
}
int
telemetryRSSI
()
{
return
_telemetryRSSI
;
}
void
setCurrentView
(
int
currentView
);
void
setCurrentView
(
int
currentView
);
void
viewStateChanged
(
const
QString
&
key
,
bool
value
);
void
viewStateChanged
(
const
QString
&
key
,
bool
value
);
signals:
signals:
void
connectionCountChanged
(
int
count
);
void
connectionCountChanged
(
int
count
);
...
@@ -126,7 +132,10 @@ signals:
...
@@ -126,7 +132,10 @@ signals:
void
showMavChanged
(
bool
value
);
void
showMavChanged
(
bool
value
);
void
showMessagesChanged
(
bool
value
);
void
showMessagesChanged
(
bool
value
);
void
showBatteryChanged
(
bool
value
);
void
showBatteryChanged
(
bool
value
);
void
showRSSIChanged
(
bool
value
);
void
progressBarValueChanged
(
float
value
);
void
progressBarValueChanged
(
float
value
);
void
remoteRSSIChanged
(
float
value
);
void
telemetryRSSIChanged
(
int
value
);
private
slots
:
private
slots
:
void
_setActiveUAS
(
UASInterface
*
active
);
void
_setActiveUAS
(
UASInterface
*
active
);
...
@@ -147,6 +156,8 @@ private slots:
...
@@ -147,6 +156,8 @@ private slots:
void
_leaveMessageView
();
void
_leaveMessageView
();
void
_setSatLoc
(
UASInterface
*
uas
,
int
fix
);
void
_setSatLoc
(
UASInterface
*
uas
,
int
fix
);
void
_setProgressBarValue
(
float
value
);
void
_setProgressBarValue
(
float
value
);
void
_remoteControlRSSIChanged
(
float
rssi
);
void
_telemetryChanged
(
LinkInterface
*
link
,
unsigned
rxerrors
,
unsigned
fixed
,
unsigned
rssi
,
unsigned
remrssi
,
unsigned
txbuf
,
unsigned
noise
,
unsigned
remnoise
);
private:
private:
void
_updateConnection
(
LinkInterface
*
disconnectedLink
=
NULL
);
void
_updateConnection
(
LinkInterface
*
disconnectedLink
=
NULL
);
...
@@ -180,8 +191,11 @@ private:
...
@@ -180,8 +191,11 @@ private:
bool
_showGPS
;
bool
_showGPS
;
bool
_showMav
;
bool
_showMav
;
bool
_showMessages
;
bool
_showMessages
;
bool
_showRSSI
;
bool
_showBattery
;
bool
_showBattery
;
float
_progressBarValue
;
float
_progressBarValue
;
float
_remoteRSSI
;
int
_telemetryRSSI
;
UASMessageViewRollDown
*
_rollDownMessages
;
UASMessageViewRollDown
*
_rollDownMessages
;
};
};
...
...
src/ui/toolbar/MainToolBar.qml
View file @
dcb37703
...
@@ -126,6 +126,11 @@ Rectangle {
...
@@ -126,6 +126,11 @@ Rectangle {
return
colorGreen
;
return
colorGreen
;
}
}
function
getRSSIColor
()
{
// TODO: Figure out RSSI threshold values
return
colorBlue
;
}
function
showMavStatus
()
{
function
showMavStatus
()
{
return
(
mainToolBar
.
mavPresent
&&
mainToolBar
.
heartbeatTimeout
===
0
&&
mainToolBar
.
connectionCount
>
0
);
return
(
mainToolBar
.
mavPresent
&&
mainToolBar
.
heartbeatTimeout
===
0
&&
mainToolBar
.
connectionCount
>
0
);
}
}
...
@@ -238,7 +243,7 @@ Rectangle {
...
@@ -238,7 +243,7 @@ Rectangle {
fillMode
:
Image
.
PreserveAspectFit
fillMode
:
Image
.
PreserveAspectFit
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.left
:
parent
.
left
anchors.left
:
parent
.
left
anchors.leftMargin
:
getProportionalDimmension
(
10
)
anchors.leftMargin
:
getProportionalDimmension
(
8
)
}
}
Rectangle
{
Rectangle
{
...
@@ -314,7 +319,7 @@ Rectangle {
...
@@ -314,7 +319,7 @@ Rectangle {
Rectangle
{
Rectangle
{
id
:
satelitte
id
:
satelitte
width
:
getProportionalDimmension
(
6
0
)
width
:
getProportionalDimmension
(
5
0
)
height
:
cellHeight
height
:
cellHeight
visible
:
showMavStatus
()
&&
(
mainToolBar
.
showGPS
)
visible
:
showMavStatus
()
&&
(
mainToolBar
.
showGPS
)
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
...
@@ -329,7 +334,7 @@ Rectangle {
...
@@ -329,7 +334,7 @@ Rectangle {
fillMode
:
Image
.
PreserveAspectFit
fillMode
:
Image
.
PreserveAspectFit
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.left
:
parent
.
left
anchors.left
:
parent
.
left
anchors.leftMargin
:
getProportionalDimmension
(
10
)
anchors.leftMargin
:
getProportionalDimmension
(
6
)
mipmap
:
true
mipmap
:
true
smooth
:
true
smooth
:
true
}
}
...
@@ -341,15 +346,124 @@ Rectangle {
...
@@ -341,15 +346,124 @@ Rectangle {
font.weight
:
Font
.
DemiBold
font.weight
:
Font
.
DemiBold
anchors.verticalCenter
:
parent
.
verticalCenter