Commit c6b66c46 authored by Gus Grubba's avatar Gus Grubba

Merge pull request #2179 from mavlink/toolbarWork

Toolbar work
parents a120ffe7 1a960233
......@@ -65,7 +65,7 @@ cache:
before_install:
- cd ${TRAVIS_BUILD_DIR} && git fetch --unshallow && git fetch --tags
- cd ${TRAVIS_BUILD_DIR} && git fetch --unshallow && git fetch --all --tags
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then mkdir -p ~/.config/QtProject/ && cp ${TRAVIS_BUILD_DIR}/test/qtlogging.ini ~/.config/QtProject/; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then mkdir -p ~/Library/Preferences/QtProject/ && cp ${TRAVIS_BUILD_DIR}/test/qtlogging.ini ~/Library/Preferences/QtProject/; fi
- if [ "${TRAVIS_OS_NAME}" = "android" ]; then wget https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-android-armv7-1.5.2.tar.bz2 && mkdir -p ${TRAVIS_BUILD_DIR}/gstreamer-1.0-android-armv7-1.5.2 && tar jxf gstreamer-1.0-android-armv7-1.5.2.tar.bz2 -C ${TRAVIS_BUILD_DIR}/gstreamer-1.0-android-armv7-1.5.2; fi
......@@ -81,6 +81,7 @@ install:
&& sh -e /etc/init.d/xvfb start
;
elif [ "${TRAVIS_OS_NAME}" = "osx" ]; then
brew update;
brew update
&& brew install qt5
&& export PATH=/usr/local/opt/qt5/bin:$PATH
......
......@@ -80,6 +80,25 @@
<file alias="XDelete.svg">src/FlightMap/Images/XDelete.svg</file>
<file alias="XDeleteBlack.svg">src/FlightMap/Images/XDeleteBlack.svg</file>
<!-- Toolbar -->
<file alias="Armed.svg">src/ui/toolbar/Images/Armed.svg</file>
<file alias="Battery.svg">src/ui/toolbar/Images/Battery.svg</file>
<file alias="Connect.svg">src/ui/toolbar/Images/Connect.svg</file>
<file alias="Disarmed.svg">src/ui/toolbar/Images/Disarmed.svg</file>
<file alias="Disconnect.svg">src/ui/toolbar/Images/Disconnect.svg</file>
<file alias="Gps.svg">src/ui/toolbar/Images/Gps.svg</file>
<file alias="Megaphone.svg">src/ui/toolbar/Images/Megaphone.svg</file>
<file alias="Quad.svg">src/ui/toolbar/Images/Quad.svg</file>
<file alias="RC.svg">src/ui/toolbar/Images/RC.svg</file>
<file alias="Signal0.svg">src/ui/toolbar/Images/Signal0.svg</file>
<file alias="Signal20.svg">src/ui/toolbar/Images/Signal20.svg</file>
<file alias="Signal40.svg">src/ui/toolbar/Images/Signal40.svg</file>
<file alias="Signal60.svg">src/ui/toolbar/Images/Signal60.svg</file>
<file alias="Signal80.svg">src/ui/toolbar/Images/Signal80.svg</file>
<file alias="Signal100.svg">src/ui/toolbar/Images/Signal100.svg</file>
<file alias="Yield.svg">src/ui/toolbar/Images/Yield.svg</file>
</qresource>
<qresource prefix="/res">
......@@ -100,9 +119,6 @@
<file alias="Shutdown">resources/Shutdown.svg</file>
<file alias="AntennaT">resources/Antenna_T.svg</file>
<file alias="AntennaRC">resources/Antenna_RC.svg</file>
<file alias="Gps">resources/Gps.svg</file>
<file alias="Megaphone">resources/Megaphone.png</file>
<file alias="Yield">resources/Yield.png</file>
<file alias="Battery_0">resources/Battery_0.svg</file>
<file alias="Battery_20">resources/Battery_20.svg</file>
<file alias="Battery_40">resources/Battery_40.svg</file>
......@@ -112,6 +128,10 @@
<file alias="SystemLockScreen">resources/SystemLockScreen.svg</file>
<file alias="SplashScreen">resources/SplashScreen.png</file>
<file alias="QGroundControlConnect">resources/QGroundControlConnect.svg</file>
<file alias="Gears">resources/Gears.svg</file>
<file alias="Plan">resources/Plan.svg</file>
<file alias="PaperPlane">resources/PaperPlane.svg</file>
<file alias="PowerButton">resources/PowerButton.svg</file>
</qresource>
<qresource prefix="/res/firmware">
......
......@@ -51,8 +51,11 @@
<!-- Main Window -->
<file alias="MainWindow.qml">src/ui/MainWindow.qml</file>
<!-- Main ToolBar -->
<file alias="QGroundControl/Controls/MainToolBar.qml">src/ui/toolbar/MainToolBar.qml</file>
<file alias="MainToolBarActiveVehicleComponent.qml">src/ui/toolbar/MainToolBarActiveVehicleComponent.qml</file>
<file alias="QGroundControl/Controls/MainToolBarIndicators.qml">src/ui/toolbar/MainToolBarIndicators.qml</file>
<file alias="QGroundControl/Controls/SignalStrength.qml">src/ui/toolbar/SignalStrength.qml</file>
<!-- Vehicle Setup -->
<file alias="SetupView.qml">src/VehicleSetup/SetupView.qml</file>
......
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="160 862 72 72" style="enable-background:new 160 862 72 72;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<g>
<path class="st0" d="M164.7,888.4c0.4,1.3,0.9,2.5,1.6,3.7l-1.9,2.4c-0.6,0.8-0.5,1.9,0.1,2.6l3.3,3.3c0.7,0.7,1.8,0.8,2.6,0.1
l2.4-1.9c1.2,0.7,2.5,1.3,3.9,1.6l0.4,3.1c0.1,1,1,1.7,1.9,1.7h4.6c1,0,1.8-0.7,1.9-1.7l0.3-2.9c1.5-0.4,2.8-0.9,4.1-1.7l2.3,1.8
c0.8,0.6,1.9,0.5,2.6-0.1l3.3-3.3c0.7-0.7,0.8-1.8,0.1-2.6l-1.8-2.3c0.7-1.3,1.3-2.6,1.7-4.1l2.7-0.3c1-0.1,1.7-1,1.7-1.9v-4.6
c0-1-0.7-1.8-1.7-1.9l-2.7-0.3c-0.4-1.4-0.9-2.8-1.6-4l1.7-2.1c0.6-0.8,0.5-1.9-0.1-2.6l-3.3-3.3c-0.7-0.7-1.8-0.8-2.6-0.1l-2,1.6
c-1.3-0.8-2.7-1.4-4.2-1.8l-0.3-2.6c-0.1-1-1-1.7-1.9-1.7h-4.6c-1,0-1.8,0.7-1.9,1.7l-0.3,2.6c-1.5,0.4-3,1-4.3,1.8l-2.1-1.7
c-0.8-0.6-1.9-0.5-2.6,0.1l-3.3,3.3c-0.7,0.7-0.8,1.8-0.1,2.6l1.8,2.2c-0.7,1.3-1.3,2.6-1.6,4.1l-2.8,0.3c-1,0.1-1.7,1-1.7,1.9v4.6
c0,1,0.7,1.8,1.7,1.9L164.7,888.4z M181.4,875.9c4.2,0,7.6,3.4,7.6,7.6s-3.4,7.6-7.6,7.6c-4.2,0-7.6-3.4-7.6-7.6
S177.2,875.9,181.4,875.9z"/>
<path class="st0" d="M227,889.5l-2.4-2.1c-0.7-0.6-1.9-0.6-2.6,0.1l-1.3,1.3c-1.1-0.5-2.3-0.9-3.6-1.2l-0.4-1.9
c-0.2-1-1.1-1.6-2.1-1.5l-3.2,0.3c-1,0.1-1.7,0.9-1.8,1.9l-0.1,1.9c-1.2,0.4-2.4,1-3.4,1.8l-1.6-1.1c-0.8-0.5-1.9-0.4-2.5,0.4
l-2.1,2.4c-0.6,0.7-0.6,1.9,0.1,2.6l1.4,1.5c-0.5,1.1-0.8,2.2-1,3.4l-2,0.4c-1,0.2-1.6,1.1-1.5,2.1l0.3,3.2c0.1,1,0.9,1.7,1.9,1.8
l2.2,0.1c0.4,1,0.9,2,1.5,2.9l-1.2,1.8c-0.5,0.8-0.4,1.9,0.4,2.5l2.4,2.1c0.7,0.6,1.9,0.6,2.6-0.1l1.6-1.5c1,0.5,2.1,0.8,3.3,1.1
l0.4,2.2c0.2,1,1.1,1.6,2.1,1.5l3.2-0.3c1-0.1,1.7-0.9,1.8-1.9l0.1-2.1c1.2-0.4,2.3-1,3.3-1.7l1.8,1.2c0.8,0.5,1.9,0.4,2.5-0.4
l2.1-2.4c0.6-0.7,0.6-1.9-0.1-2.6l-1.4-1.5c0.5-1.1,0.9-2.3,1.1-3.4l1.9-0.4c1-0.2,1.6-1.1,1.5-2.1l-0.3-3.2
c-0.1-1-0.9-1.7-1.9-1.8l-1.9-0.1c-0.4-1.1-0.9-2.2-1.6-3.2l1.1-1.6C227.9,891.2,227.8,890.1,227,889.5z M215.1,907.9
c-3.4,0.3-6.5-2.3-6.7-5.7c-0.3-3.4,2.3-6.5,5.7-6.7c3.4-0.3,6.5,2.3,6.7,5.7C221,904.6,218.5,907.6,215.1,907.9z"/>
<path class="st0" d="M175.8,916.4c-1,0.1-1.7,0.9-1.7,1.9l0,2c0,1,0.7,1.8,1.7,1.9l1.4,0.2c0.2,0.9,0.6,1.7,1,2.5l-0.9,1.1
c-0.6,0.8-0.6,1.9,0.1,2.6l1.4,1.4c0.7,0.7,1.8,0.8,2.6,0.2l1.2-0.9c0.8,0.5,1.7,0.9,2.6,1.1l0.2,1.5c0.1,1,0.9,1.7,1.9,1.7l2,0
c1,0,1.8-0.7,1.9-1.7l0.2-1.4c1-0.2,1.9-0.6,2.8-1.1l1.1,0.9c0.8,0.6,1.9,0.6,2.6-0.1l1.4-1.4c0.7-0.7,0.8-1.8,0.2-2.6l-0.8-1.1
c0.5-0.8,0.9-1.8,1.2-2.7l1.3-0.1c1-0.1,1.7-0.9,1.7-1.9l0-2c0-1-0.7-1.8-1.7-1.9l-1.3-0.2c-0.2-0.9-0.6-1.9-1.1-2.7l0.8-1
c0.6-0.8,0.6-1.9-0.1-2.6l-1.4-1.4c-0.7-0.7-1.8-0.8-2.6-0.2l-0.9,0.7c-0.9-0.5-1.8-0.9-2.8-1.2l-0.1-1.2c-0.1-1-0.9-1.7-1.9-1.7
l-2,0c-1,0-1.8,0.7-1.9,1.7l-0.2,1.2c-1,0.3-2,0.7-2.9,1.2l-1-0.8c-0.8-0.6-1.9-0.6-2.6,0.1l-1.4,1.4c-0.7,0.7-0.8,1.8-0.2,2.6
l0.8,1.1c-0.5,0.8-0.9,1.8-1.1,2.7L175.8,916.4z M188.4,914.2c2.8,0,5.1,2.3,5,5.1c0,2.8-2.3,5.1-5.1,5c-2.8,0-5.1-2.3-5-5.1
C183.3,916.4,185.6,914.2,188.4,914.2z"/>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
width="110px"
height="110px"
viewBox="0 0 110 110"
enable-background="new 0 0 110 110"
xml:space="preserve"
id="svg3852"
inkscape:version="0.91 r13725"
sodipodi:docname="gps.svg"><title
id="title4758">GPS</title><metadata
id="metadata3933"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>GPS</dc:title><dc:creator><cc:Agent><dc:title>Gus Grubba</dc:title></cc:Agent></dc:creator><cc:license
rdf:resource="http://creativecommons.org/licenses/by-nc/3.0/" /></cc:Work><cc:License
rdf:about="http://creativecommons.org/licenses/by-nc/3.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" /><cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" /><cc:prohibits
rdf:resource="http://creativecommons.org/ns#CommercialUse" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata><defs
id="defs3931" /><sodipodi:namedview
pagecolor="#808080"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview3929"
showgrid="false"
inkscape:zoom="11.136364"
inkscape:cx="55"
inkscape:cy="55"
inkscape:current-layer="svg3852" /><g
id="Layer_2"
display="none" /><g
id="ex_thick"
style="fill:#ffffff;stroke:#ffffff;stroke-opacity:1"
transform="matrix(-1,0,0,-1,111.82126,108.29692)" /><g
id="Layer_2_copy_3"
display="none" /><g
id="ex_thin"
style="fill:#ffffff;stroke:#ffffff;stroke-opacity:1"
transform="matrix(-1,0,0,-1,111.82126,108.29692)" /><g
id="Layer_2_copy"
display="none" /><g
id="em_thick"
style="fill:#ffffff;stroke:#ffffff;stroke-opacity:1"
transform="matrix(-1,0,0,-1,111.82126,108.29692)" /><g
id="Layer_2_copy_4"
display="none"><g
display="inline"
id="g3861"><rect
x="-36.1"
y="-21.3"
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
width="56.3"
height="56.3"
id="rect3863" /><circle
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
cx="-8"
cy="6.8"
r="28.2"
id="circle3865" /></g><g
display="inline"
id="g3867"><rect
x="28.3"
y="-21.3"
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
width="56.3"
height="56.3"
id="rect3869" /><circle
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
cx="56.5"
cy="6.8"
r="28.2"
id="circle3871" /></g><g
display="inline"
id="g3873"><rect
x="91.5"
y="-21.3"
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
width="56.3"
height="56.3"
id="rect3875" /><circle
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
cx="119.7"
cy="6.8"
r="28.2"
id="circle3877" /></g></g><rect
x="-129.87416"
y="-13.196043"
transform="matrix(-0.70710678,-0.70710678,0.70710678,-0.70710678,0,0)"
stroke-miterlimit="10"
width="32.29969"
height="16.099846"
id="rect3882"
style="fill:#ffffff;stroke:#ffffff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1" /><rect
x="24.979502"
y="-2.9382656"
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,0,0)"
stroke-miterlimit="10"
width="32.29969"
height="16.099846"
id="rect3884"
style="fill:#ffffff;stroke:#ffffff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1" /><path
stroke-miterlimit="10"
d="m 31.121258,78.396923 c 4.7,4.7 12.4,4.7 17.1,0 l 22.8,-22.9 -17.1,-17.1 -22.8,22.8 c -4.7,4.8 -4.7,12.4 0,17.2 z"
id="path3886"
style="fill:#ffffff;stroke:#ffffff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" /><path
stroke-miterlimit="10"
d="m 62.521258,46.996923 c 6.3,6.3 16.5,6.3 22.8,0 l -22.8,-22.8 c -6.3,6.2 -6.3,16.5 0,22.8 z"
id="path3888"
style="fill:#ffffff;stroke:#ffffff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" /><path
stroke-miterlimit="10"
d="m 96.084265,44.511467 c 8.249995,-8.25 8.249995,-21.75 0,-30 -8.25,-8.2499943 -21.75,-8.2499943 -30,0"
id="path3890"
style="fill:none;stroke:#ffffff;stroke-width:3.89999986;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0" /><path
stroke-miterlimit="10"
d="m 86.118561,36.977171 c 3.6,-3.6 3.6,-9.3 0,-12.9 -3.6,-3.6 -9.3,-3.6 -12.9,0"
id="path3892"
style="fill:none;stroke:#ffffff;stroke-width:3.89999986;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0" /><line
stroke-miterlimit="10"
x1="65.321259"
y1="72.596924"
x2="59.621258"
y2="66.896919"
id="line3894"
style="fill:#ffffff;stroke:#ffffff;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" /><line
stroke-miterlimit="10"
x1="42.521255"
y1="49.796921"
x2="36.821259"
y2="44.096924"
id="line3896"
style="fill:#ffffff;stroke:#ffffff;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" /><g
id="Layer_2_copy_2"
display="none"><g
display="inline"
id="g3905"><rect
x="-36.1"
y="83.3"
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
width="56.3"
height="56.3"
id="rect3907" /><circle
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
cx="-8"
cy="111.5"
r="28.2"
id="circle3909" /></g><g
display="inline"
id="g3911"><rect
x="28.3"
y="83.3"
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
width="56.3"
height="56.3"
id="rect3913" /><circle
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
cx="56.5"
cy="111.5"
r="28.2"
id="circle3915" /></g><g
display="inline"
id="g3917"><rect
x="91.5"
y="83.3"
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
width="56.3"
height="56.3"
id="rect3919" /><circle
fill="none"
stroke="#EB008B"
stroke-width="0.25"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
cx="119.7"
cy="111.5"
r="28.2"
id="circle3921" /></g></g><g
id="hornet"
style="fill:#ffffff;stroke:#ffffff;stroke-opacity:1"
transform="matrix(-1,0,0,-1,111.82126,108.29692)" /><g
id="Layer_2_copy_5"
display="none" /><g
id="hornet_THIN"
style="fill:#ffffff;stroke:#ffffff;stroke-opacity:1"
transform="matrix(-1,0,0,-1,111.82126,108.29692)" /><g
id="Layer_6"
display="none"><polygon
display="inline"
fill="none"
stroke="#224A80"
stroke-width="3"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
points=" -14.6,111.2 -19.5,111.2 -19.5,152.2 3.4,152.2 3.4,111.2 -1.5,111.2 -1.5,104.7 -14.6,104.7 "
id="polygon3927" /></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, 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="194 896 72 72" style="enable-background:new 194 896 72 72;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<path class="st0" d="M194,943.5c-0.1-0.9,0.2-1.6,1-2l67.5-45c0.4-0.3,0.8-0.4,1.3-0.4s0.9,0.1,1.3,0.4c0.7,0.5,1.1,1.2,1,2.2
l-11.2,67.5c-0.2,0.7-0.6,1.2-1.1,1.5c-0.4,0.2-0.7,0.3-1.1,0.3c-0.3,0-0.6,0-0.8-0.1l-21.8-8.7l-4.6,7.7c-0.5,0.7-1.1,1.1-2,1.1
s-1.5-0.4-2-1.1l-8.3-14.5l-17.6-7C194.6,945,194.1,944.3,194,943.5L194,943.5z M201,942.7l13.6,5.5c0.1,0.1,0.2,0.2,0.4,0.3
l0.2,0.1l38-40.6L201,942.7z M216.9,950.1l6.3,11l36.3-56.6L216.9,950.1z M230.1,954.6c0.6,0.1,1,0.2,1.4,0.3l19.1,7.7l9-53.8
L230.1,954.6z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="road-icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-255 447 72 72" style="enable-background:new -255 447 72 72;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:9;stroke-linecap:round;stroke-miterlimit:10;}
</style>
<g>
<polygon class="st0" points="-246.5,455.1 -247.5,457.1 -245.5,457.1 -246.5,455.1 "/>
<path class="st0" d="M-246.5,447c-4.7,0-8.5,3.8-8.5,8.5c0,5.8,7.7,15.6,8,16c0.1,0.2,0.3,0.3,0.5,0.3h0c0.2,0,0.4-0.1,0.5-0.3
c0.3-0.4,7.9-10.3,7.9-16C-238,450.8-241.8,447-246.5,447z M-242.5,460.1h-1.4c-0.2,0-0.3-0.1-0.4-0.3l-0.5-1h-3.4l-0.5,1
c-0.1,0.2-0.2,0.3-0.5,0.3h-1.4c-0.2,0-0.3-0.2-0.2-0.3l3.9-8.5c0-0.1,0.1-0.1,0.2-0.1h0.1c0.1,0,0.2,0.1,0.2,0.1l3.9,8.5
C-242.2,460-242.3,460.1-242.5,460.1z"/>
</g>
<g>
<path class="st0" d="M-197.7,466.4c-8,0-14.6,6.6-14.6,14.6c0,9.9,13.2,26.8,13.7,27.5c0.2,0.3,0.6,0.4,0.9,0.4c0,0,0,0,0,0
c0.4,0,0.7-0.2,0.9-0.4c0.6-0.7,13.6-17.6,13.6-27.5C-183.1,473-189.6,466.4-197.7,466.4z M-197.2,488.7h-5.3
c-0.2,0-0.4-0.2-0.4-0.4V474c0-0.2,0.2-0.4,0.4-0.4h5c2.5,0,4.6,1.7,4.6,4c0,1.7-1.5,2.9-2.5,3.4c1.1,0.5,2.9,1.5,2.9,3.5
C-192.5,486.9-194.6,488.7-197.2,488.7z"/>
<path class="st0" d="M-197.8,482.5h-1.7v3.1h2c0.8,0,1.5-0.7,1.5-1.6C-196,483.2-197,482.5-197.8,482.5z"/>
<path class="st0" d="M-196.4,478.2c0-0.9-0.7-1.5-1.5-1.5h-1.7v3h1.7C-197,479.7-196.4,479-196.4,478.2z"/>
</g>
<path class="st1" d="M-189.8,480"/>
<path class="st0" d="M-197.3,512.5l-38.9-21.3l9-4.8c0.9-0.5,1.4-1.5,1.3-2.5c-0.1-1-0.7-1.9-1.6-2.4c0,0-16.1-7.2-17.2-7.7
c-0.8-0.3-1.9-0.3-2.3-0.2c-1.2,0.3-2,1-2,1.8c0,1.2,2.1,1.9,2.4,2.1l15.3,6.7l-11.3,4.7c-0.9,0.5-1.4,1.5-1.3,2.5
c0,1,0.6,1.9,1.5,2.4l39.3,23.6c1.3,0.6,2.8,1.7,5.1,1.7c0.2,0,0.4,0,0.6,0c0,0,0,0,0.1,0c0.3,0,0.5,0,0.8-0.1
c1.9-0.4,3.3-1.5,3.3-2.8C-193.2,514.6-195,513.7-197.3,512.5z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, 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="-49 653 72 72" style="enable-background:new -49 653 72 72;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<path class="st0" d="M-13,725c-18.5,0-33.6-15.1-33.6-33.6c0-9.6,4.1-18.7,11.3-25.1c2-1.8,5-1.6,6.8,0.4c1.8,2,1.6,5-0.4,6.8
c-5.1,4.6-8.1,11.1-8.1,17.9c0,13.2,10.8,24,24,24c13.2,0,24-10.8,24-24c0-6.8-2.9-13.4-8-17.9c-2-1.8-2.2-4.8-0.4-6.8
c1.8-2,4.8-2.2,6.8-0.4c7.2,6.4,11.3,15.5,11.3,25.1C20.6,709.9,5.5,725-13,725z M-8.2,681.8v-24c0-2.7-2.1-4.8-4.8-4.8
s-4.8,2.1-4.8,4.8v24c0,2.7,2.1,4.8,4.8,4.8S-8.2,684.5-8.2,681.8z"/>
</svg>
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009 - 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
/// @file
......@@ -74,14 +74,14 @@ static const struct Modes2Name rgModes2Name[] = {
{ PX4_CUSTOM_MAIN_MODE_ACRO, 0, "Acro", true },
{ PX4_CUSTOM_MAIN_MODE_STABILIZED, 0, "Stabilized", true },
{ PX4_CUSTOM_MAIN_MODE_RATTITUDE, 0, "Rattitude", true },
{ PX4_CUSTOM_MAIN_MODE_ALTCTL, 0, "Altitude control", true },
{ PX4_CUSTOM_MAIN_MODE_POSCTL, 0, "Position control", true },
{ PX4_CUSTOM_MAIN_MODE_OFFBOARD, 0, "Offboard control", true },
{ PX4_CUSTOM_MAIN_MODE_AUTO, PX4_CUSTOM_SUB_MODE_AUTO_READY, "Auto ready", false },
{ PX4_CUSTOM_MAIN_MODE_AUTO, PX4_CUSTOM_SUB_MODE_AUTO_TAKEOFF, "Taking off", false },
{ PX4_CUSTOM_MAIN_MODE_ALTCTL, 0, "Altitude Control", true },
{ PX4_CUSTOM_MAIN_MODE_POSCTL, 0, "Position Control", true },
{ PX4_CUSTOM_MAIN_MODE_OFFBOARD, 0, "Offboard Control", true },
{ PX4_CUSTOM_MAIN_MODE_AUTO, PX4_CUSTOM_SUB_MODE_AUTO_READY, "Auto Ready", false },
{ PX4_CUSTOM_MAIN_MODE_AUTO, PX4_CUSTOM_SUB_MODE_AUTO_TAKEOFF, "Taking Off", false },
{ PX4_CUSTOM_MAIN_MODE_AUTO, PX4_CUSTOM_SUB_MODE_AUTO_LOITER, "Loiter", true },
{ PX4_CUSTOM_MAIN_MODE_AUTO, PX4_CUSTOM_SUB_MODE_AUTO_MISSION, "Mission", true },
{ PX4_CUSTOM_MAIN_MODE_AUTO, PX4_CUSTOM_SUB_MODE_AUTO_RTL, "Return to Land", true },
{ PX4_CUSTOM_MAIN_MODE_AUTO, PX4_CUSTOM_SUB_MODE_AUTO_RTL, "Return To Land", true },
{ PX4_CUSTOM_MAIN_MODE_AUTO, PX4_CUSTOM_SUB_MODE_AUTO_LAND, "Landing", false },
};
......@@ -89,55 +89,55 @@ static const struct Modes2Name rgModes2Name[] = {
QList<VehicleComponent*> PX4FirmwarePlugin::componentsForVehicle(AutoPilotPlugin* vehicle)
{
Q_UNUSED(vehicle);
return QList<VehicleComponent*>();
}
QStringList PX4FirmwarePlugin::flightModes(void)
{
QStringList flightModes;
// FIXME: fixed-wing/multi-rotor differences?
for (size_t i=0; i<sizeof(rgModes2Name)/sizeof(rgModes2Name[0]); i++) {
const struct Modes2Name* pModes2Name = &rgModes2Name[i];
if (pModes2Name->canBeSet) {
flightModes += pModes2Name->name;
}
}
return flightModes;
}
QString PX4FirmwarePlugin::flightMode(uint8_t base_mode, uint32_t custom_mode)
{
QString flightMode = "Unknown";
if (base_mode & MAV_MODE_FLAG_CUSTOM_MODE_ENABLED) {
union px4_custom_mode px4_mode;
px4_mode.data = custom_mode;
// FIXME: fixed-wing/multi-rotor differences?
bool found = false;
for (size_t i=0; i<sizeof(rgModes2Name)/sizeof(rgModes2Name[0]); i++) {
const struct Modes2Name* pModes2Name = &rgModes2Name[i];
if (pModes2Name->main_mode == px4_mode.main_mode && pModes2Name->sub_mode == px4_mode.sub_mode) {
flightMode = pModes2Name->name;
found = true;
break;
}
}
if (!found) {
qWarning() << "Unknown flight mode" << custom_mode;
}
} else {
qWarning() << "PX4 Flight Stack flight mode without custom mode enabled?";
}
return flightMode;
}
......@@ -145,30 +145,30 @@ bool PX4FirmwarePlugin::setFlightMode(const QString& flightMode, uint8_t* base_m
{
*base_mode = 0;
*custom_mode = 0;
bool found = false;
for (size_t i=0; i<sizeof(rgModes2Name)/sizeof(rgModes2Name[0]); i++) {
const struct Modes2Name* pModes2Name = &rgModes2Name[i];
if (flightMode.compare(pModes2Name->name, Qt::CaseInsensitive) == 0) {
union px4_custom_mode px4_mode;
px4_mode.data = 0;
px4_mode.main_mode = pModes2Name->main_mode;
px4_mode.sub_mode = pModes2Name->sub_mode;
*base_mode = MAV_MODE_FLAG_CUSTOM_MODE_ENABLED;
*custom_mode = px4_mode.data;
found = true;
break;
}
}
if (!found) {
qWarning() << "Unknown flight Mode" << flightMode;
}
return found;
}
......@@ -180,7 +180,7 @@ int PX4FirmwarePlugin::manualControlReservedButtonCount(void)
void PX4FirmwarePlugin::adjustMavlinkMessage(mavlink_message_t* message)
{
Q_UNUSED(message);
// PX4 Flight Stack plugin does no message adjustment
}
......@@ -192,7 +192,7 @@ bool PX4FirmwarePlugin::isCapable(FirmwareCapabilities capabilities)
void PX4FirmwarePlugin::initializeVehicle(Vehicle* vehicle)
{
Q_UNUSED(vehicle);
// PX4 Flight Stack doesn't need to do any extra work
}
......
......@@ -43,7 +43,11 @@ Item {
QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
property var _activeVehicle: multiVehicleManager.activeVehicle
property real avaiableHeight: parent.height
readonly property bool isBackgroundDark: _mainIsMap ? (_flightMap ? _flightMap.isSatelliteMap : true) : true
property var _activeVehicle: multiVehicleManager.activeVehicle
readonly property var _defaultVehicleCoordinate: QtPositioning.coordinate(37.803784, -122.462276)
readonly property real _defaultRoll: 0
......@@ -73,9 +77,6 @@ Item {
property real _airSpeed: _activeVehicle ? _activeVehicle.airSpeed : _defaultAirSpeed
property real _climbRate: _activeVehicle ? _activeVehicle.climbRate : _defaultClimbRate
property bool _isBackgroundDark: _mainIsMap ? (_flightMap ? _flightMap.isSatelliteMap : true) : true
property var _flightMap: null
property var _flightVideo: null
property var _savedZoomLevel: 0
......@@ -130,7 +131,7 @@ Item {
width: _pipSize
height: _pipSize * (9/16)
color: "#000010"
border.color: _isBackgroundDark ? Qt.rgba(1,1,1,0.75) : Qt.rgba(0,0,0,0.75)
border.color: isBackgroundDark ? Qt.rgba(1,1,1,0.75) : Qt.rgba(0,0,0,0.75)
Loader {
id: pipLoader
anchors.fill: parent
......@@ -181,7 +182,7 @@ Item {
width: ScreenTools.defaultFontPixelSize * 2
radius: ScreenTools.defaultFontPixelSize / 3
visible: _controller.hasVideo && !_isPipVisible
color: _isBackgroundDark ? Qt.rgba(1,1,1,0.5) : Qt.rgba(0,0,0,0.5)
color: isBackgroundDark ? Qt.rgba(1,1,1,0.5) : Qt.rgba(0,0,0,0.5)
Image {
width: parent.width * 0.75
height: parent.height * 0.75
......@@ -203,6 +204,10 @@ Item {
//-- Widgets
Loader {
id: widgetsLoader
anchors.fill: parent
anchors.right: parent.right
anchors.left: parent.left
anchors.bottom: parent.bottom
height: avaiableHeight
}
}
......@@ -45,7 +45,7 @@ Item {
text: "NO VIDEO"
font.weight: Font.DemiBold
color: "white"
font.pixelSize: ScreenTools.defaultFontPixelSize * 1.5
font.pixelSize: _mainIsMap ? 12 * ScreenTools.fontHRatio : 20 * ScreenTools.fontHRatio
anchors.centerIn: parent
}
}
......
......@@ -82,7 +82,7 @@ Item {
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
visible: _isInstrumentVisible
size: mainWindow.width * 0.15
size: ScreenTools.isTinyScreen ? mainWindow.width * 0.2 : mainWindow.width * 0.15
active: _activeVehicle != null
heading: _heading
rollAngle: _roll
......@@ -108,7 +108,7 @@ Item {
width: ScreenTools.defaultFontPixelSize * 2
radius: ScreenTools.defaultFontPixelSize / 3
visible: !_isInstrumentVisible
color: _isBackgroundDark ? Qt.rgba(1,1,1,0.5) : Qt.rgba(0,0,0,0.5)
color: isBackgroundDark ? Qt.rgba(1,1,1,0.5) : Qt.rgba(0,0,0,0.5)
Image {
width: parent.width * 0.75
height: parent.height * 0.75
......@@ -130,6 +130,7 @@ Item {
//-- Vertical Tool Buttons
Column {
id: toolColumn
visible: _mainIsMap
anchors.margins: ScreenTools.defaultFontPixelHeight
anchors.left: parent.left
anchors.top: parent.top
......
......@@ -373,7 +373,7 @@ QGCView {
// Mission Item Editor
Item {
id: missionItemEditor
anchors.top: parent.top
height: mainWindow.avaiableHeight
anchors.bottom: parent.bottom
anchors.right: parent.right
width: _rightPanelWidth
......
import QtQuick 2.2
import QtQuick 2.4
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick.Controls.Private 1.0