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
fe59583d
Commit
fe59583d
authored
Aug 27, 2019
by
Gus Grubba
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
UI/UX Rework
parent
b4784c40
Changes
10
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
396 additions
and
199 deletions
+396
-199
CustomMainToolBarIndicators.qml
...m-example/res/MainToolbar/CustomMainToolBarIndicators.qml
+24
-0
qgcimages.qrc
qgcimages.qrc
+6
-6
PairingButton.svg
src/PairingManager/Images/PairingButton.svg
+23
-0
PairingConnected.svg
src/PairingManager/Images/PairingConnected.svg
+44
-0
PairingError.svg
src/PairingManager/Images/PairingError.svg
+11
-0
PairingIcon.svg
src/PairingManager/Images/PairingIcon.svg
+24
-16
PairingManager.cc
src/PairingManager/PairingManager.cc
+12
-1
PairingManager.h
src/PairingManager/PairingManager.h
+36
-24
GeneralSettings.qml
src/ui/preferences/GeneralSettings.qml
+2
-2
PairingIndicator.qml
src/ui/toolbar/PairingIndicator.qml
+214
-150
No files found.
custom-example/res/MainToolbar/CustomMainToolBarIndicators.qml
View file @
fe59583d
...
@@ -23,6 +23,29 @@ import QGroundControl.Palette 1.0
...
@@ -23,6 +23,29 @@ import QGroundControl.Palette 1.0
Item
{
Item
{
anchors.fill
:
parent
anchors.fill
:
parent
readonly
property
real
_indicatorMargins
:
ScreenTools
.
defaultFontPixelHeight
*
0.75
readonly
property
real
_indicatorMargins
:
ScreenTools
.
defaultFontPixelHeight
*
0.75
Component.onCompleted
:
{
if
(
QGroundControl
.
pairingManager
)
{
if
(
!
activeVehicle
)
{
pairingTimer
.
start
()
}
}
}
//-------------------------------------------------------------------------
//-- Launch pairing manager if nothing connected
Timer
{
id
:
pairingTimer
interval
:
5000
running
:
false
;
repeat
:
false
;
onTriggered
:
{
if
(
!
activeVehicle
)
{
if
(
QGroundControl
.
pairingManager
.
firstBoot
&&
pairingLoader
.
item
)
{
QGroundControl
.
pairingManager
.
firstBoot
=
false
pairingLoader
.
item
.
runPairing
()
}
}
}
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
//-- Waiting for a vehicle
//-- Waiting for a vehicle
Row
{
Row
{
...
@@ -60,6 +83,7 @@ Item {
...
@@ -60,6 +83,7 @@ Item {
spacing
:
ScreenTools
.
defaultFontPixelWidth
*
2
spacing
:
ScreenTools
.
defaultFontPixelWidth
*
2
visible
:
!
indicatorRow
.
visible
visible
:
!
indicatorRow
.
visible
Loader
{
Loader
{
id
:
pairingLoader
anchors.top
:
parent
.
top
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.bottom
:
parent
.
bottom
anchors.margins
:
_indicatorMargins
anchors.margins
:
_indicatorMargins
...
...
qgcimages.qrc
View file @
fe59583d
...
@@ -66,11 +66,11 @@
...
@@ -66,11 +66,11 @@
<file alias="CameraTrigger.svg">src/AutoPilotPlugins/PX4/Images/CameraTrigger.svg</file>
<file alias="CameraTrigger.svg">src/AutoPilotPlugins/PX4/Images/CameraTrigger.svg</file>
<file alias="check.svg">resources/check.svg</file>
<file alias="check.svg">resources/check.svg</file>
<file alias="checkbox-check.svg">src/QmlControls/checkbox-check.svg</file>
<file alias="checkbox-check.svg">src/QmlControls/checkbox-check.svg</file>
<file alias="cOGPointer.svg">src/FlightMap/Images/cOGPointer.svg</file>
<file alias="CogWheel.svg">src/MissionManager/CogWheel.svg</file>
<file alias="CogWheel.svg">src/MissionManager/CogWheel.svg</file>
<file alias="compassDottedLine.svg">src/FlightMap/Images/compassDottedLine.svg</file>
<file alias="compassInstrumentArrow.svg">src/FlightMap/Images/compassInstrumentArrow.svg</file>
<file alias="compassInstrumentArrow.svg">src/FlightMap/Images/compassInstrumentArrow.svg</file>
<file alias="compassInstrumentDial.svg">src/FlightMap/Images/compassInstrumentDial.svg</file>
<file alias="compassInstrumentDial.svg">src/FlightMap/Images/compassInstrumentDial.svg</file>
<file alias="compassDottedLine.svg">src/FlightMap/Images/compassDottedLine.svg</file>
<file alias="cOGPointer.svg">src/FlightMap/Images/cOGPointer.svg</file>
<file alias="Connect.svg">src/ui/toolbar/Images/Connect.svg</file>
<file alias="Connect.svg">src/ui/toolbar/Images/Connect.svg</file>
<file alias="crossHair.svg">src/FlightMap/Images/crossHair.svg</file>
<file alias="crossHair.svg">src/FlightMap/Images/crossHair.svg</file>
<file alias="DatalinkLoss.svg">src/AutoPilotPlugins/PX4/Images/DatalinkLoss.svg</file>
<file alias="DatalinkLoss.svg">src/AutoPilotPlugins/PX4/Images/DatalinkLoss.svg</file>
...
@@ -121,6 +121,10 @@
...
@@ -121,6 +121,10 @@
<file alias="no-logging-light.svg">src/AutoPilotPlugins/PX4/Images/no-logging-light.svg</file>
<file alias="no-logging-light.svg">src/AutoPilotPlugins/PX4/Images/no-logging-light.svg</file>
<file alias="no-logging.svg">src/AutoPilotPlugins/PX4/Images/no-logging.svg</file>
<file alias="no-logging.svg">src/AutoPilotPlugins/PX4/Images/no-logging.svg</file>
<file alias="ObjectAvoidance.svg">src/AutoPilotPlugins/PX4/Images/ObjectAvoidance.svg</file>
<file alias="ObjectAvoidance.svg">src/AutoPilotPlugins/PX4/Images/ObjectAvoidance.svg</file>
<file alias="PairingButton.svg">src/PairingManager/Images/PairingButton.svg</file>
<file alias="PairingConnected.svg">src/PairingManager/Images/PairingConnected.svg</file>
<file alias="PairingError.svg">src/PairingManager/Images/PairingError.svg</file>
<file alias="PairingIcon.svg">src/PairingManager/Images/PairingIcon.svg</file>
<file alias="PaperPlane.svg">src/ui/toolbar/Images/PaperPlane.svg</file>
<file alias="PaperPlane.svg">src/ui/toolbar/Images/PaperPlane.svg</file>
<file alias="PiP.svg">src/FlightMap/Images/PiP.svg</file>
<file alias="PiP.svg">src/FlightMap/Images/PiP.svg</file>
<file alias="pipHide.svg">src/FlightMap/Images/pipHide.svg</file>
<file alias="pipHide.svg">src/FlightMap/Images/pipHide.svg</file>
...
@@ -181,9 +185,5 @@
...
@@ -181,9 +185,5 @@
<file alias="Yield.svg">src/ui/toolbar/Images/Yield.svg</file>
<file alias="Yield.svg">src/ui/toolbar/Images/Yield.svg</file>
<file alias="ZoomMinus.svg">src/FlightMap/Images/ZoomMinus.svg</file>
<file alias="ZoomMinus.svg">src/FlightMap/Images/ZoomMinus.svg</file>
<file alias="ZoomPlus.svg">src/FlightMap/Images/ZoomPlus.svg</file>
<file alias="ZoomPlus.svg">src/FlightMap/Images/ZoomPlus.svg</file>
<file alias="PairingIcon.svg">src/PairingManager/Images/PairingIcon.svg</file>
<file alias="PairingIconLight.svg">src/PairingManager/Images/PairingIconLight.svg</file>
</qresource>
</qresource>
</RCC>
</RCC>
src/PairingManager/Images/PairingButton.svg
0 → 100644
View file @
fe59583d
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.6, 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"
style=
"enable-background:new 0 0 288 288;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill:#FFFFFF;}
</style>
<path
class=
"st0"
d=
"M106.783,143.429c-1.327-5.063-2.711-10.125-4.095-15.256c-29.464-2.025-52.834-26.495-52.834-56.465
c0-31.299,25.438-56.736,56.736-56.736s56.647,25.438,56.647,56.736c0,17.247-7.752,32.684-19.902,43.067
c0.675,1.744,1.373,3.499,2.048,5.209c1.496,3.792,2.576,6.345,3.814,9.394c17.641-13.062,29.116-34.032,29.116-57.669
c-0.011-39.614-32.108-71.71-71.722-71.71s-71.71,32.099-71.71,71.71c0,39.614,32.108,71.71,71.71,71.71
c0.068,0.011,0.124,0.011,0.191,0.011L106.783,143.429z"
/>
<path
class=
"st0"
d=
"M231.879,162.801c-13.321-4.534-33.3-7.223-50.043-8.562c-16.932-1.35-30.42-1.485-30.42-1.485h-1.395
l-0.461-1.215c0,0-5.659-13.467-11.633-28.644c-5.974-15.177-12.274-31.86-13.669-39.536c-1.294-7.054-2.588-12.736-4.748-16.28
c-2.16-3.533-4.759-5.265-10.508-4.927c-2.599,0.157-4.039,1.181-5.209,2.88c-1.17,1.699-1.924,4.264-2.228,7.256
c-0.607,5.985,0.45,13.478,1.204,18.699c3.454,23.874,11.937,46.632,16.561,70.687c2.756,14.322,3.893,28.925,6.514,42.888
l0.743,4.185l-3.724-1.958c-1.766-0.923-3.015-2.531-4.275-4.467c-1.271-1.935-2.464-4.286-3.724-6.694
c-2.509-4.815-5.186-10.036-7.628-12.927c-3.78-4.478-8.449-9.473-13.388-12.466c-4.883-2.959-9.676-3.915-14.885-1.305
c-2.306,2.093-3.139,3.983-3.162,6.143c-0.022,2.25,0.889,4.86,2.329,7.628c2.869,5.535,7.752,11.397,9.203,17.483
c3.611,15.154,12.781,26.978,20.926,39.904c6.368,10.105,11.093,21.23,20.926,26.227c12.972,6.592,24.256,17.01,37.116,19.16
c15.616,2.61,33.076,3.397,48.084,1.394c14.873-1.981,27.103-6.851,32.828-14.604c12.297-49.862,4.534-82.32-15.335-109.468V162.801
z"
/>
</svg>
src/PairingManager/Images/PairingConnected.svg
0 → 100644
View file @
fe59583d
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.6, 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 360 72"
style=
"enable-background:new 0 0 360 72;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill:#FFFFFF;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st2{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.2573;stroke-dasharray:2,6,2,6;}
.st3{fill:#0CA678;}
</style>
<path
class=
"st0"
d=
"M349.779,17.419h-30.656c-5.646,0-10.221,4.605-10.221,10.288v20.571c0,2.827,2.299,5.141,5.107,5.141h5.107
l2.825-5.684c1.258-2.531,4.587-4.599,7.395-4.599h10.226c2.808,0,6.137,2.067,7.395,4.599l2.825,5.684h5.107
c2.808,0,5.107-2.314,5.107-5.141V27.708C360,22.03,355.426,17.419,349.779,17.419L349.779,17.419z M321.681,35.422
c-2.821,0-5.107-2.302-5.107-5.147c0-2.839,2.287-5.141,5.107-5.141c2.82,0,5.107,2.302,5.107,5.141
C326.788,33.12,324.506,35.422,321.681,35.422z M347.229,35.422c-2.821,0-5.107-2.302-5.107-5.147c0-2.839,2.287-5.141,5.107-5.141
c2.82,0,5.107,2.302,5.107,5.141C352.337,33.12,350.049,35.422,347.229,35.422z"
/>
<path
class=
"st1"
d=
"M39.568,25.298l5.557-4.015c-1.334-2.006-2-4.237-2-6.913c0-6.691,5.336-12.042,12.003-12.042
c6.891,0,12.227,5.353,12.227,12.042c0,6.913-5.336,12.266-12.227,12.266c-2.223,0-4.447-0.668-6.225-1.784l-4.223,5.799v11.596
l3.778,5.129c1.779-1.338,4.223-2.006,6.67-2.006c6.67,0,12.003,5.575,12.003,12.266s-5.336,12.042-12.003,12.042
c-6.67,0-12.226-5.353-12.226-12.042c0-2.452,0.889-4.683,2-6.691l-5.781-4.015H27.784l-5.112,3.791
c1.334,2.006,2.223,4.237,2.223,6.913c0,6.691-5.557,12.042-12.227,12.042c-6.67,0-12.003-5.353-12.003-12.042
c0-6.691,5.336-12.266,12.003-12.266c2.444,0,4.668,0.668,6.446,2.006l4.002-5.575v-11.82l-4.223-5.353
c-2,1.114-4.223,2.006-6.891,2.006C5.333,26.631,0,21.277,0,14.364C0,7.673,5.336,2.323,12.003,2.323
c6.891,0,12.227,5.353,12.227,12.042c0,2.452-0.666,4.907-2,6.691l6.002,4.237h11.337L39.568,25.298z M49.793,49.16l3.778,5.353
l2.889,2.898c0.221,0.668-1.11,2.006-1.555,1.784l-3.113-3.344l-5.112-3.569c-0.889,1.56-1.555,3.344-1.555,5.353
c0,5.353,4.447,9.812,10.004,9.812c5.336,0,9.78-4.461,9.78-9.812c0-5.575-4.447-10.036-9.78-10.036
C53.129,47.599,51.351,48.267,49.793,49.16L49.793,49.16z M46.904,19.944l4.891-3.569l2.889-2.898c0.666-0.668,2,1.114,1.779,1.56
l-2.889,3.123l-3.334,4.907c1.334,0.892,3.113,1.338,4.891,1.338c5.557,0,10.004-4.461,10.004-10.036
c0-5.353-4.447-9.812-10.004-9.812c-5.336,0-9.78,4.461-9.78,9.812c0,2.006,0.666,4.015,1.555,5.575L46.904,19.944z M17.562,22.843
l-3.778-5.129l-2.889-2.677c-0.221-0.446,1.11-1.784,1.779-1.56l2.889,2.898l4.891,3.569c0.889-1.56,1.555-3.569,1.555-5.575
c0-5.353-4.447-9.812-10.004-9.812c-5.336,0-9.78,4.461-9.78,9.812c0,5.575,4.447,10.036,9.78,10.036
c2.223,0,4.002-0.668,5.557-1.56L17.562,22.843z M20.896,52.058l-5.336,3.79l-2.889,3.345c-0.666,0.222-2-1.114-1.779-1.784
l2.889-2.898l4.002-5.353c-1.555-0.892-3.113-1.56-5.112-1.56c-5.336,0-9.78,4.461-9.78,10.036c0,5.575,4.447,9.812,9.78,9.812
c5.557,0,10.004-4.237,10.004-9.812C22.675,55.627,22.009,53.618,20.896,52.058L20.896,52.058z"
/>
<line
class=
"st2"
x1=
"81.29"
y1=
"34.839"
x2=
"297.29"
y2=
"34.839"
/>
<rect
x=
"184.065"
y=
"26.323"
class=
"st0"
width=
"19.355"
height=
"18.387"
/>
<path
class=
"st3"
d=
"M206.948,24.149l-13.7-7.298c-0.426-0.238-0.948-0.238-1.375,0l-13.271,7.298
c-0.474,0.238-0.758,0.711-0.758,1.232v10.334c0,8.105,4.833,15.5,12.277,18.769l1.849,0.806c0.188,0.094,0.379,0.094,0.568,0.094
c0.188,0,0.379-0.047,0.568-0.094l2.085-0.9c7.587-3.223,12.516-10.617,12.516-18.864V25.383
C207.706,24.861,207.422,24.387,206.948,24.149L206.948,24.149z M199.931,34.198l-8.389,6.826c-0.285,0.238-0.568,0.332-0.9,0.332
c-0.379,0-0.806-0.189-1.09-0.521l-3.601-4.219c-0.521-0.617-0.427-1.517,0.141-1.991c0.618-0.521,1.518-0.426,1.992,0.142
l2.701,3.175l7.3-5.971c0.617-0.474,1.517-0.426,1.99,0.189C200.642,32.825,200.548,33.725,199.931,34.198L199.931,34.198z"
/>
</svg>
src/PairingManager/Images/PairingError.svg
0 → 100644
View file @
fe59583d
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.6, 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"
style=
"enable-background:new 0 0 288 288;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill:#C92A30;}
</style>
<path
class=
"st0"
d=
"M279.208,90.739c-35.477-36.963-83.184-57.313-134.318-57.313c-51.541,0-101.247,21.676-136.384,59.487
l-8.503,9.142l142.983,152.52l145.017-154.67L279.208,90.739z M158.864,196.782h-29.737v-29.737h29.737V196.782z M158.864,150.006
h-29.737v-83.38h29.737V150.006z"
/>
</svg>
src/PairingManager/Images/PairingIcon.svg
View file @
fe59583d
...
@@ -3,21 +3,29 @@
...
@@ -3,21 +3,29 @@
<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"
<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"
style=
"enable-background:new 0 0 288 288;"
xml:space=
"preserve"
>
viewBox=
"0 0 288 288"
style=
"enable-background:new 0 0 288 288;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
<style
type=
"text/css"
>
.st0{fill:#
07916D
;}
.st0{fill:#
FFFFFF
;}
.st1{fill:#FFFFFF;}
.st1{fill
-rule:evenodd;clip-rule:evenodd;fill
:#FFFFFF;}
</style>
</style>
<rect
x=
"45"
y=
"94.5"
class=
"st0"
width=
"128.1"
height=
"136.1"
/>
<path
class=
"st0"
d=
"M95.992,203.994h-71.99c-13.259,0-24.001,10.743-24.001,24.001v47.988c0,6.594,5.399,11.993,11.993,11.993
<path
class=
"st1"
d=
"M251.5,247H4.5c-1.3,0-2.3,0.5-3.2,1.3C0.5,249.3,0,250.7,0,252c1.3,20.2,18.4,36,38.7,36h178.7
h11.993l6.636-13.258c2.953-5.906,10.771-10.729,17.365-10.729h24.016c6.594,0,14.411,4.823,17.364,10.729l6.636,13.258H108
c20.2,0,37.3-15.8,38.7-36c0-1.3-0.5-2.7-1.3-3.6C253.8,247.5,252.9,247,251.5,247L251.5,247z M137.7,272.3h-19.8
c6.594,0,11.993-5.399,11.993-11.993v-47.988C119.993,214.751,109.25,203.994,95.992,203.994L95.992,203.994z M30.006,245.993
c-2.7,0-4.5-2.3-4.5-4.5c0-2.2,1.8-4.5,4.5-4.5h19.8c2.3,0,4.5,2.3,4.5,4.5C142.2,270,140.4,272.3,137.7,272.3z"
/>
c-6.623,0-11.993-5.37-11.993-12.007c0-6.623,5.37-11.993,11.993-11.993c6.622,0,11.994,5.37,11.994,11.993
<path
class=
"st1"
d=
"M274.5,0h-74.7c-7.6,0-13.5,6.3-13.5,13.5v106.2l101.7,0V13.5C288,6.3,281.7,0,274.5,0L274.5,0z"
/>
C41.999,240.623,36.642,245.993,30.006,245.993z M90.002,245.993c-6.623,0-11.993-5.37-11.993-12.007
<path
class=
"st1"
d=
"M186.3,147.2c0,7.6,5.8,13.5,13.5,13.5l74.7,0c7.6,0,13.5-6.3,13.5-13.5v-18.4H186.3V147.2z M230.4,140h13.5
c0-6.623,5.37-11.993,11.993-11.993c6.622,0,11.993,5.37,11.993,11.993C101.996,240.623,96.624,245.993,90.002,245.993z"
/>
c2.7,0,4.5,1.8,4.5,4.5c0,2.7-1.8,4.5-4.5,4.5h-13.5c-2.7,0-4.5-1.8-4.5-4.5C225.9,141.7,227.7,140,230.4,140z"
/>
<path
class=
"st1"
d=
"M287.974,0.034v24.001l-0.002-0.014h-29.991v24.001h5.99c13.274,0,24.001,10.743,24.001,24.001L288,96.025
<path
class=
"st1"
d=
"M18.9,238.1h218.2c2.7,0,4.5-2.3,4.5-4.5v-63.9h-41.8c-12.6,0-22.5-10.3-22.5-22.5V77.4l-149.9,0
c0,13.259-10.742,24.001-24.001,24.001h-19.586c12.443,25.38,19.586,53.81,19.586,83.983c0,19.868-16.128,35.995-35.995,35.995
c-7.2,0-13.1,5.8-13.1,13.1v143.1C14.4,236.3,16.2,238.1,18.9,238.1L18.9,238.1z M102.6,135.4l27-12.1l-8.6-3.2
h-35.995v-23.987h35.995c6.622,0,12.008-5.385,12.008-12.008c-0.029-30.426-8.296-58.884-22.526-83.49
c-2.3-0.9-3.6-3.6-2.7-5.8c0.9-2.3,3.6-3.6,5.8-2.7l18.4,6.8c0.9,0.5,2.3,1.3,2.7,2.3c0.5,0.9,0.5,2.3,0,3.6l-6.8,18.4
c-5.722,1.013-11.853,3.712-15.114,6.96c-4.093,4.106-7.452,7.467-7.452,7.467c-5.849,5.864-12.767,10.658-20.36,14.214
c-0.9,2.3-3.6,3.6-5.8,2.7c-2.2-0.9-3.6-3.6-2.7-5.8l3.2-8.6l-27,12.1c-2.3,0.9-5,0-5.8-2.3C99,139,100.4,136.4,102.6,135.4
c3.403,5.499,5.456,11.924,5.456,18.87c0,19.881-16.128,35.995-35.995,35.995c-19.896,0-36.009-16.114-36.009-35.995
L102.6,135.4z M81,190.8l6.8-18.4c0.9-2.3,3.6-3.6,5.8-2.7c2.3,0.9,3.6,3.6,2.7,5.8l-3.2,8.6l27-12.1c2.3-0.9,5,0,5.8,2.3
c0-6.946,2.053-13.372,5.456-18.87c-7.594-3.571-14.511-8.352-20.374-14.229c0,0-3.361-3.346-7.452-7.452
c0.9,2.3,0,5-2.2,5.8l-27,12.1l8.6,3.2c2.3,0.9,3.6,3.6,2.7,5.8c-0.9,2.3-3.6,3.6-5.8,2.7l-18.4-6.8c-0.9-0.5-2.3-1.3-2.7-2.3
c-3.234-3.234-9.323-5.933-15.003-6.96c-10.376,18.037-17.59,38.09-20.697,59.503H25.644c2.672-21.316,9.013-41.451,18.081-59.996
C81.4,193.9,80.6,193.1,81,190.8L81,190.8z"
/>
H24.014c-13.274,0-24.001-10.742-24.001-24.001V72.024C0.012,58.779,10.74,48.037,24,48.037h6.004V24.036H0.012V0.034L83.996,0.02
v24.001H54.005v24.001l0.182,0.014h11.994c6.594,0,15.34-3.346,19.446-7.452l7.452-7.452c13.037-13.034,31.032-21.091,50.915-21.091
s37.88,8.057,50.9,21.077c0,0,3.346,3.36,7.452,7.465c4.091,4.106,12.866,7.452,19.446,7.452h12.19V24.036h-29.991V0.034H287.974z
M132.001,168.015c0,6.623,5.357,11.993,11.993,11.993c6.622,0,12.008-5.37,11.993-11.993c0-6.636-5.372-12.008-11.993-12.008
S132.001,161.379,132.001,168.015z M195.332,70.369l-26.937-19.418c-2.131-1.46-4.936,0.338-4.49,2.806l2.245,13.022h-28.953
c-1.569,0-2.92,1.346-2.92,2.919v5.836c0,1.569,1.346,2.92,2.92,2.92h28.844l-2.245,13.021c-0.448,2.583,2.468,4.376,4.49,2.806
l27.05-19.418c1.68-1.013,1.68-3.372-0.004-4.493V70.369z M149.315,90.91h-28.953l2.245-13.022c0.446-2.582-2.468-4.376-4.49-2.806
L91.18,94.391c-1.571,1.122-1.571,3.59,0,4.713l27.05,19.418c2.131,1.46,4.937-0.338,4.49-2.806l-2.245-13.022h28.844
c1.569,0,2.92-1.346,2.92-2.919v-5.836c-0.119-1.683-1.351-3.03-2.925-3.03V90.91z"
/>
</svg>
</svg>
src/PairingManager/PairingManager.cc
View file @
fe59583d
...
@@ -70,7 +70,9 @@ PairingManager::_pairingCompleted(QString name)
...
@@ -70,7 +70,9 @@ PairingManager::_pairingCompleted(QString name)
{
{
_writeJson
(
_jsonDoc
,
_pairingCacheFile
(
name
));
_writeJson
(
_jsonDoc
,
_pairingCacheFile
(
name
));
_remotePairingMap
[
"NM"
]
=
name
;
_remotePairingMap
[
"NM"
]
=
name
;
_lastPaired
=
name
;
emit
pairedListChanged
();
emit
pairedListChanged
();
emit
pairedVehicleChanged
();
_app
->
informationMessageBoxOnMainThread
(
""
,
tr
(
"Paired with %1"
).
arg
(
name
));
_app
->
informationMessageBoxOnMainThread
(
""
,
tr
(
"Paired with %1"
).
arg
(
name
));
setPairingStatus
(
PairingSuccess
,
tr
(
"Pairing Successfull"
));
setPairingStatus
(
PairingSuccess
,
tr
(
"Pairing Successfull"
));
}
}
...
@@ -154,7 +156,7 @@ PairingManager::_uploadFinished(void)
...
@@ -154,7 +156,7 @@ PairingManager::_uploadFinished(void)
}
else
{
}
else
{
if
(
++
_pairRetryCount
>
3
)
{
if
(
++
_pairRetryCount
>
3
)
{
qCDebug
(
PairingManagerLog
)
<<
"Giving up"
;
qCDebug
(
PairingManagerLog
)
<<
"Giving up"
;
setPairingStatus
(
PairingError
,
tr
(
"
Too Many Errors
"
));
setPairingStatus
(
PairingError
,
tr
(
"
No Response From Vehicle
"
));
_uploadManager
->
deleteLater
();
_uploadManager
->
deleteLater
();
_uploadManager
=
nullptr
;
_uploadManager
=
nullptr
;
}
else
{
}
else
{
...
@@ -190,6 +192,15 @@ PairingManager::connectToPairedDevice(QString name)
...
@@ -190,6 +192,15 @@ PairingManager::connectToPairedDevice(QString name)
jsonReceived
(
json
);
jsonReceived
(
json
);
}
}
//-----------------------------------------------------------------------------
void
PairingManager
::
removePairedDevice
(
QString
name
)
{
QFile
file
(
_pairingCacheFile
(
name
));
file
.
remove
();
emit
pairedListChanged
();
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
QStringList
QStringList
PairingManager
::
pairedDeviceNameList
(
void
)
PairingManager
::
pairedDeviceNameList
(
void
)
...
...
src/PairingManager/PairingManager.h
View file @
fe59583d
...
@@ -61,18 +61,23 @@ public:
...
@@ -61,18 +61,23 @@ public:
Q_ENUM
(
PairingStatus
)
Q_ENUM
(
PairingStatus
)
QStringList
pairingLinkTypeStrings
(
void
);
QStringList
pairingLinkTypeStrings
(
void
);
QString
pairingStatusStr
(
void
)
const
;
QString
pairingStatusStr
(
void
)
const
;
QStringList
pairedDeviceNameList
(
void
);
QStringList
pairedDeviceNameList
(
void
);
PairingStatus
pairingStatus
()
{
return
_status
;
}
PairingStatus
pairingStatus
()
{
return
_status
;
}
int
nfcIndex
(
void
)
{
return
_nfcIndex
;
}
QString
pairedVehicle
()
{
return
_lastPaired
;
}
int
microhardIndex
(
void
)
{
return
_microhardIndex
;
}
int
nfcIndex
(
void
)
{
return
_nfcIndex
;
}
void
setStatusMessage
(
PairingStatus
status
,
QString
statusStr
)
{
emit
setPairingStatus
(
status
,
statusStr
);
}
int
microhardIndex
(
void
)
{
return
_microhardIndex
;
}
void
jsonReceived
(
QString
json
)
{
emit
parsePairingJson
(
json
);
}
bool
firstBoot
()
{
return
_firstBoot
;
}
bool
errorState
()
{
return
_status
==
PairingRejected
||
_status
==
PairingConnectionRejected
||
_status
==
PairingError
;
}
void
setStatusMessage
(
PairingStatus
status
,
QString
statusStr
)
{
emit
setPairingStatus
(
status
,
statusStr
);
}
void
jsonReceived
(
QString
json
)
{
emit
parsePairingJson
(
json
);
}
void
setFirstBoot
(
bool
set
)
{
_firstBoot
=
set
;
emit
firstBootChanged
();
}
#ifdef __android__
#ifdef __android__
static
void
setNativeMethods
(
void
);
static
void
setNativeMethods
(
void
);
#endif
#endif
Q_INVOKABLE
void
connectToPairedDevice
(
QString
name
);
Q_INVOKABLE
void
connectToPairedDevice
(
QString
name
);
Q_INVOKABLE
void
removePairedDevice
(
QString
name
);
#if defined QGC_ENABLE_NFC || defined QGC_ENABLE_QTNFC
#if defined QGC_ENABLE_NFC || defined QGC_ENABLE_QTNFC
Q_INVOKABLE
void
startNFCScan
();
Q_INVOKABLE
void
startNFCScan
();
...
@@ -86,8 +91,11 @@ public:
...
@@ -86,8 +91,11 @@ public:
Q_PROPERTY
(
PairingStatus
pairingStatus
READ
pairingStatus
NOTIFY
pairingStatusChanged
)
Q_PROPERTY
(
PairingStatus
pairingStatus
READ
pairingStatus
NOTIFY
pairingStatusChanged
)
Q_PROPERTY
(
QStringList
pairedDeviceNameList
READ
pairedDeviceNameList
NOTIFY
pairedListChanged
)
Q_PROPERTY
(
QStringList
pairedDeviceNameList
READ
pairedDeviceNameList
NOTIFY
pairedListChanged
)
Q_PROPERTY
(
QStringList
pairingLinkTypeStrings
READ
pairingLinkTypeStrings
CONSTANT
)
Q_PROPERTY
(
QStringList
pairingLinkTypeStrings
READ
pairingLinkTypeStrings
CONSTANT
)
Q_PROPERTY
(
QString
pairedVehicle
READ
pairedVehicle
NOTIFY
pairedVehicleChanged
)
Q_PROPERTY
(
bool
errorState
READ
errorState
NOTIFY
pairingStatusChanged
)
Q_PROPERTY
(
int
nfcIndex
READ
nfcIndex
CONSTANT
)
Q_PROPERTY
(
int
nfcIndex
READ
nfcIndex
CONSTANT
)
Q_PROPERTY
(
int
microhardIndex
READ
microhardIndex
CONSTANT
)
Q_PROPERTY
(
int
microhardIndex
READ
microhardIndex
CONSTANT
)
Q_PROPERTY
(
bool
firstBoot
READ
firstBoot
WRITE
setFirstBoot
NOTIFY
firstBootChanged
)
signals:
signals:
void
startUpload
(
QString
pairURL
,
QJsonDocument
);
void
startUpload
(
QString
pairURL
,
QJsonDocument
);
...
@@ -98,6 +106,8 @@ signals:
...
@@ -98,6 +106,8 @@ signals:
void
parsePairingJson
(
QString
json
);
void
parsePairingJson
(
QString
json
);
void
setPairingStatus
(
PairingStatus
status
,
QString
pairingStatus
);
void
setPairingStatus
(
PairingStatus
status
,
QString
pairingStatus
);
void
pairedListChanged
();
void
pairedListChanged
();
void
pairedVehicleChanged
();
void
firstBootChanged
();
private
slots
:
private
slots
:
void
_startUpload
(
QString
pairURL
,
QJsonDocument
);
void
_startUpload
(
QString
pairURL
,
QJsonDocument
);
...
@@ -109,6 +119,7 @@ private slots:
...
@@ -109,6 +119,7 @@ private slots:
private:
private:
QString
_statusString
;
QString
_statusString
;
QString
_jsonFileName
;
QString
_jsonFileName
;
QString
_lastPaired
;
QVariantMap
_remotePairingMap
;
QVariantMap
_remotePairingMap
;
int
_nfcIndex
=
-
1
;
int
_nfcIndex
=
-
1
;
int
_microhardIndex
=
-
1
;
int
_microhardIndex
=
-
1
;
...
@@ -135,6 +146,7 @@ private:
...
@@ -135,6 +146,7 @@ private:
void
_connectionCompleted
(
QString
name
);
void
_connectionCompleted
(
QString
name
);
QDir
_pairingCacheDir
();
QDir
_pairingCacheDir
();
QString
_pairingCacheFile
(
QString
uavName
);
QString
_pairingCacheFile
(
QString
uavName
);
bool
_firstBoot
=
true
;
#if defined QGC_ENABLE_NFC || defined QGC_ENABLE_QTNFC
#if defined QGC_ENABLE_NFC || defined QGC_ENABLE_QTNFC
PairingNFC
pairingNFC
;
PairingNFC
pairingNFC
;
...
...
src/ui/preferences/GeneralSettings.qml
View file @
fe59583d
...
@@ -484,14 +484,14 @@ Rectangle {
...
@@ -484,14 +484,14 @@ Rectangle {
}
}
FactCheckBox
{
FactCheckBox
{
text
:
qsTr
(
"
Show additional heading indicators on Compass
"
)
text
:
qsTr
(
"
Show additional heading indicators on Compass
"
)
visible
:
_showAdditionalIndicatorsCompass
.
visibl
e
visible
:
_showAdditionalIndicatorsCompass
?
_showAdditionalIndicatorsCompass
.
visible
:
fals
e
fact
:
_showAdditionalIndicatorsCompass
fact
:
_showAdditionalIndicatorsCompass
property
Fact
_showAdditionalIndicatorsCompass
:
QGroundControl
.
settingsManager
.
flyViewSettings
.
showAdditionalIndicatorsCompass
property
Fact
_showAdditionalIndicatorsCompass
:
QGroundControl
.
settingsManager
.
flyViewSettings
.
showAdditionalIndicatorsCompass
}
}
FactCheckBox
{
FactCheckBox
{
text
:
qsTr
(
"
Lock Compass Nose-Up
"
)
text
:
qsTr
(
"
Lock Compass Nose-Up
"
)
visible
:
_lockNoseUpCompass
.
visibl
e
visible
:
_lockNoseUpCompass
?
_lockNoseUpCompass
.
visible
:
fals
e
fact
:
_lockNoseUpCompass
fact
:
_lockNoseUpCompass
property
Fact
_lockNoseUpCompass
:
QGroundControl
.
settingsManager
.
flyViewSettings
.
lockNoseUpCompass
property
Fact
_lockNoseUpCompass
:
QGroundControl
.
settingsManager
.
flyViewSettings
.
lockNoseUpCompass
...
...
src/ui/toolbar/PairingIndicator.qml
View file @
fe59583d
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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