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
44d55231
Unverified
Commit
44d55231
authored
May 31, 2020
by
Don Gagne
Committed by
GitHub
May 31, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #8800 from DonLakeFlyer/ToolbarTweaks
Toolbar tweaks
parents
6298f047
df2047c4
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
47 additions
and
487 deletions
+47
-487
qgroundcontrol.qrc
qgroundcontrol.qrc
+1
-2
LogReplayStatusBar.qml
src/QmlControls/LogReplayStatusBar.qml
+11
-0
qmldir
src/QmlControls/QGroundControl/Controls/qmldir
+1
-1
MainRootWindow.qml
src/ui/MainRootWindow.qml
+11
-39
MainToolBar.qml
src/ui/toolbar/MainToolBar.qml
+22
-26
MainToolBarIndicators.qml
src/ui/toolbar/MainToolBarIndicators.qml
+1
-4
ToolBarBase.qml
src/ui/toolbar/ToolBarBase.qml
+0
-415
No files found.
qgroundcontrol.qrc
View file @
44d55231
...
...
@@ -9,7 +9,6 @@
<file alias="GPSRTKIndicator.qml">src/ui/toolbar/GPSRTKIndicator.qml</file>
<file alias="JoystickIndicator.qml">src/ui/toolbar/JoystickIndicator.qml</file>
<file alias="LinkIndicator.qml">src/ui/toolbar/LinkIndicator.qml</file>
<file alias="MainToolBar.qml">src/ui/toolbar/MainToolBar.qml</file>
<file alias="MainToolBarIndicators.qml">src/ui/toolbar/MainToolBarIndicators.qml</file>
<file alias="MessageIndicator.qml">src/ui/toolbar/MessageIndicator.qml</file>
<file alias="ModeIndicator.qml">src/ui/toolbar/ModeIndicator.qml</file>
...
...
@@ -107,6 +106,7 @@
<file alias="QGroundControl/Controls/JoystickThumbPad.qml">src/QmlControls/JoystickThumbPad.qml</file>
<file alias="QGroundControl/Controls/KMLOrSHPFileDialog.qml">src/QmlControls/KMLOrSHPFileDialog.qml</file>
<file alias="QGroundControl/Controls/LogReplayStatusBar.qml">src/QmlControls/LogReplayStatusBar.qml</file>
<file alias="QGroundControl/Controls/MainToolBar.qml">src/ui/toolbar/MainToolBar.qml</file>
<file alias="QGroundControl/Controls/MainWindowSavedState.qml">src/QmlControls/MainWindowSavedState.qml</file>
<file alias="QGroundControl/Controls/MAVLinkChart.qml">src/QmlControls/MAVLinkChart.qml</file>
<file alias="QGroundControl/Controls/MAVLinkMessageButton.qml">src/QmlControls/MAVLinkMessageButton.qml</file>
...
...
@@ -179,7 +179,6 @@
<file alias="QGroundControl/Controls/SurveyMapVisual.qml">src/PlanView/SurveyMapVisual.qml</file>
<file alias="QGroundControl/Controls/TerrainStatus.qml">src/PlanView/TerrainStatus.qml</file>
<file alias="QGroundControl/Controls/TakeoffItemMapVisual.qml">src/PlanView/TakeoffItemMapVisual.qml</file>
<file alias="QGroundControl/Controls/ToolBarBase.qml">src/ui/toolbar/ToolBarBase.qml</file>
<file alias="QGroundControl/Controls/ToolStrip.qml">src/QmlControls/ToolStrip.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemStats.qml">src/PlanView/TransectStyleComplexItemStats.qml</file>
<file alias="QGroundControl/Controls/VehicleRotationCal.qml">src/QmlControls/VehicleRotationCal.qml</file>
...
...
src/QmlControls/LogReplayStatusBar.qml
View file @
44d55231
...
...
@@ -103,5 +103,16 @@ Rectangle {
onClicked
:
pickLogFile
()
visible
:
!
controller
.
link
}
QGCButton
{
text
:
qsTr
(
"
Close
"
)
onClicked
:
{
var
activeVehicle
=
QGroundControl
.
multiVehicleManager
.
activeVehicle
if
(
activeVehicle
)
{
activeVehicle
.
disconnectInactiveVehicle
()
}
QGroundControl
.
settingsManager
.
flyViewSettings
.
showLogReplayStatusBar
.
rawValue
=
false
}
}
}
}
src/QmlControls/QGroundControl/Controls/qmldir
View file @
44d55231
...
...
@@ -31,6 +31,7 @@ InstrumentValueEditDialog 1.0 InstrumentValueEditDialog.qml
JoystickThumbPad 1.0 JoystickThumbPad.qml
KMLOrSHPFileDialog 1.0 KMLOrSHPFileDialog.qml
LogReplayStatusBar 1.0 LogReplayStatusBar.qml
MainToolBar 1.0 MainToolBar.qml
MainWindowSavedState 1.0 MainWindowSavedState.qml
MAVLinkMessageButton 1.0 MAVLinkMessageButton.qml
MissionCommandDialog 1.0 MissionCommandDialog.qml
...
...
@@ -101,7 +102,6 @@ SurveyMapVisuals 1.0 SurveyMapVisuals.qml
TerrainStatus 1.0 TerrainStatus.qml
TransectStyleComplexItemStats 1.0 TransectStyleComplexItemStats.qml
TransectStyleMapVisuals 1.0 TransectStyleMapVisuals.qml
ToolBarBase 1.0 ToolBarBase.qml
ToolStrip 1.0 ToolStrip.qml
VehicleRotationCal 1.0 VehicleRotationCal.qml
VehicleSummaryRow 1.0 VehicleSummaryRow.qml
...
...
src/ui/MainRootWindow.qml
View file @
44d55231
...
...
@@ -77,8 +77,6 @@ ApplicationWindow {
/// Current active Vehicle
property
var
activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
/// Indicates communication with vehicle is list (no heartbeats)
property
bool
communicationLost
:
activeVehicle
?
activeVehicle
.
connectionLost
:
false
property
string
formatedMessage
:
activeVehicle
?
activeVehicle
.
formatedMessage
:
""
/// Indicates usable height between toolbar and footer
property
real
availableHeight
:
mainWindow
.
height
-
mainWindow
.
header
.
height
-
mainWindow
.
footer
.
height
...
...
@@ -125,47 +123,40 @@ ApplicationWindow {
return
_rgPreventViewSwitch
[
_rgPreventViewSwitch
.
length
-
1
]
}
function
viewSwitch
(
isPlanView
,
showModeIndicators
)
{
function
viewSwitch
(
currentToolbar
)
{
settingsWindow
.
visible
=
false
setupWindow
.
visible
=
false
analyzeWindow
.
visible
=
false
flightView
.
visible
=
false
planViewLoader
.
visible
=
false
var
indicatorSource
if
(
isPlanView
)
{
indicatorSource
=
"
qrc:/qml/PlanToolBarIndicators.qml
"
}
else
{
indicatorSource
=
"
qrc:/toolbar/MainToolBarIndicators.qml
"
}
toolbar
.
item
.
indicatorSource
=
indicatorSource
toolbar
.
item
.
showModeIndicators
=
showModeIndicators
toolbar
.
currentToolbar
=
currentToolbar
}
function
showFlyView
()
{
if
(
!
flightView
.
visible
)
{
mainWindow
.
showPreFlightChecklistIfNeeded
()
}
viewSwitch
(
false
,
true
)
viewSwitch
(
toolbar
.
flyViewToolbar
)
flightView
.
visible
=
true
}
function
showPlanView
()
{
viewSwitch
(
t
rue
,
false
)
viewSwitch
(
t
oolbar
.
planViewToolbar
)
planViewLoader
.
visible
=
true
}
function
showAnalyzeView
()
{
viewSwitch
(
false
,
false
)
viewSwitch
(
toolbar
.
simpleToolbar
)
analyzeWindow
.
visible
=
true
}
function
showSetupView
()
{
viewSwitch
(
false
,
false
)
viewSwitch
(
toolbar
.
simpleToolbar
)
setupWindow
.
visible
=
true
}
function
showSettingsView
()
{
viewSwitch
(
false
,
false
)
viewSwitch
(
toolbar
.
simpleToolbar
)
settingsWindow
.
visible
=
true
}
...
...
@@ -354,29 +345,10 @@ ApplicationWindow {
//-------------------------------------------------------------------------
/// Toolbar
header
:
ToolBar
{
header
:
MainToolBar
{
id
:
toolbar
height
:
ScreenTools
.
toolbarHeight
visible
:
!
QGroundControl
.
videoManager
.
fullScreen
background
:
Rectangle
{
color
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundLight
:
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundDark
}
Loader
{
id
:
toolbar
anchors.fill
:
parent
source
:
"
qrc:/toolbar/MainToolBar.qml
"
//-- Toggle Full Screen / Windowed
MouseArea
{
anchors.fill
:
parent
enabled
:
!
ScreenTools
.
isMobile
onDoubleClicked
:
{
if
(
mainWindow
.
visibility
===
Window
.
Windowed
)
{
mainWindow
.
showFullScreen
()
}
else
{
mainWindow
.
showNormal
()
}
}
}
}
}
footer
:
LogReplayStatusBar
{
...
...
src/ui/toolbar/MainToolBar.qml
View file @
44d55231
...
...
@@ -19,15 +19,18 @@ import QGroundControl.MultiVehicleManager 1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Controllers
1.0
Item
{
Rectangle
{
id
:
_root
color
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundLight
:
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundDark
property
alias
indicatorSource
:
indicatorLoader
.
source
property
alias
showModeIndicators
:
indicatorLoader
.
showModeIndicators
property
int
currentToolbar
:
flyViewToolbar
// FIXME: Reaching up for communicationLost?
readonly
property
int
flyViewToolbar
:
0
readonly
property
int
planViewToolbar
:
1
readonly
property
int
simpleToolbar
:
2
property
var
_activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
property
bool
_communicationLost
:
_activeVehicle
?
_activeVehicle
.
connectionLost
:
false
Component.onCompleted
:
_viewButtonClicked
(
flyButton
)
...
...
@@ -74,6 +77,7 @@ Item {
QGCToolBarButton
{
id
:
currentButton
Layout.fillHeight
:
true
visible
:
!
viewButtonSelectRow
.
visible
onClicked
:
{
viewButtonSelectRow
.
visible
=
!
viewButtonSelectRow
.
visible
...
...
@@ -100,19 +104,12 @@ Item {
onTriggered
:
viewButtonSelectRow
.
visible
=
false
}
Rectangle
{
Layout.margins
:
ScreenTools
.
defaultFontPixelHeight
/
2
Layout.fillHeight
:
true
width
:
1
color
:
qgcPal
.
text
}
QGCToolBarButton
{
id
:
settingsButton
Layout.fillHeight
:
true
icon.source
:
"
/res/QGCLogoFull
"
logo
:
true
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
&&
!
QGroundControl
.
corePlugin
.
options
.
combineSettingsAndSetup
visible
:
!
QGroundControl
.
corePlugin
.
options
.
combineSettingsAndSetup
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showSettingsView
()
...
...
@@ -124,7 +121,6 @@ Item {
id
:
setupButton
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/Gears.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showSetupView
()
...
...
@@ -136,7 +132,6 @@ Item {
id
:
planButton
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/Plan.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showPlanView
()
...
...
@@ -148,7 +143,6 @@ Item {
id
:
flyButton
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/PaperPlane.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showFlyView
()
...
...
@@ -192,7 +186,7 @@ Item {
id
:
analyzeButton
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/Analyze.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
&&
QGroundControl
.
corePlugin
.
showAdvancedUI
visible
:
QGroundControl
.
corePlugin
.
showAdvancedUI
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showAnalyzeView
()
...
...
@@ -230,6 +224,7 @@ Item {
anchors.bottom
:
parent
.
bottom
userSettingsGroup
:
toolbarUserSettingsGroup
defaultSettingsGroup
:
toolbarDefaultSettingsGroup
visible
:
currentToolbar
!==
planViewToolbar
QGCMouseArea
{
anchors.fill
:
parent
...
...
@@ -247,17 +242,18 @@ Item {
anchors.left
:
valueArea
.
right
width
:
1
color
:
qgcPal
.
text
visible
:
currentToolbar
==
flyViewToolbar
}
Loader
{
id
:
indicatorLoader
anchors.leftMargin
:
ScreenTools
.
defaultFontPixelHeight
/
2
anchors.left
:
separator2
.
righ
t
anchors.leftMargin
:
currentToolbar
!==
planViewToolbar
?
ScreenTools
.
defaultFontPixelHeight
/
2
:
0
anchors.left
:
currentToolbar
!==
planViewToolbar
?
separator2
.
right
:
parent
.
lef
t
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
source
:
"
qrc:/toolbar/MainToolBarIndicators.qml
"
property
bool
showModeIndicators
:
true
source
:
currentToolbar
===
flyViewToolbar
?
"
qrc:/toolbar/MainToolBarIndicators.qml
"
:
(
currentToolbar
==
planViewToolbar
?
"
qrc:/qml/PlanToolBarIndicators.qml
"
:
""
)
}
}
...
...
@@ -268,7 +264,7 @@ Item {
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.margins
:
ScreenTools
.
defaultFontPixelHeight
*
0.66
visible
:
_activeVehicle
&&
!
communicationLost
&&
x
>
(
toolsFlickable
.
x
+
toolsFlickable
.
contentWidth
+
ScreenTools
.
defaultFontPixelWidth
)
visible
:
currentToolbar
!==
planViewToolbar
&&
_activeVehicle
&&
!
_
communicationLost
&&
x
>
(
toolsFlickable
.
x
+
toolsFlickable
.
contentWidth
+
ScreenTools
.
defaultFontPixelWidth
)
fillMode
:
Image
.
PreserveAspectFit
source
:
_outdoorPalette
?
_brandImageOutdoor
:
_brandImageIndoor
mipmap
:
true
...
...
@@ -363,7 +359,7 @@ Item {
font.pointSize
:
ScreenTools
.
mediumFontPointSize
font.family
:
ScreenTools
.
demiboldFontFamily
color
:
qgcPal
.
colorRed
visible
:
!
_activeVehicle
visible
:
currentToolbar
!==
planViewToolbar
&&
!
_activeVehicle
}
//-------------------------------------------------------------------------
...
...
@@ -376,7 +372,7 @@ Item {
anchors.right
:
parent
.
right
layoutDirection
:
Qt
.
RightToLeft
spacing
:
ScreenTools
.
defaultFontPixelWidth
visible
:
_activeVehicle
&&
communicationLost
visible
:
currentToolbar
!==
planViewToolbar
&&
_activeVehicle
&&
_
communicationLost
QGCButton
{
id
:
disconnectButton
...
...
src/ui/toolbar/MainToolBarIndicators.qml
View file @
44d55231
...
...
@@ -21,9 +21,6 @@ Row {
anchors.margins
:
_toolIndicatorMargins
spacing
:
ScreenTools
.
defaultFontPixelWidth
*
1.5
// This property should come in from the Loader
//property bool showModeIndicators: true
property
var
_activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
property
real
_toolIndicatorMargins
:
ScreenTools
.
defaultFontPixelHeight
*
0.66
...
...
@@ -49,7 +46,7 @@ Row {
}
Repeater
{
model
:
_activeVehicle
&&
showModeIndicators
?
_activeVehicle
.
modeIndicators
:
[]
model
:
_activeVehicle
?
_activeVehicle
.
modeIndicators
:
[]
Loader
{
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
...
...
src/ui/toolbar/ToolBarBase.qml
deleted
100644 → 0
View file @
6298f047
/****************************************************************************
*
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
import
QtQuick
2.11
import
QtQuick
.
Controls
2.4
import
QtQuick
.
Layouts
1.11
import
QtQuick
.
Dialogs
1.3
import
QGroundControl
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Palette
1.0
import
QGroundControl
.
MultiVehicleManager
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Controllers
1.0
Item
{
id
:
_root
// FIXME: Reaching up for communicationLost?
property
var
_activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
property
real
_toolIndicatorMargins
:
ScreenTools
.
defaultFontPixelHeight
*
0.66
Component.onCompleted
:
_viewButtonClicked
(
flyButton
)
function
_viewButtonClicked
(
button
)
{
if
(
mainWindow
.
preventViewSwitch
())
{
return
false
}
viewButtonSelectRow
.
visible
=
false
buttonSelectHideTimer
.
stop
()
currentButton
.
icon
.
source
=
button
.
icon
.
source
currentButton
.
logo
=
button
.
logo
return
true
}
//-- Setup can be invoked from c++ side
Connections
{
target
:
setupWindow
onVisibleChanged
:
{
if
(
setupWindow
.
visible
)
{
_viewButtonClicked
(
setupButton
)
}
}
}
QGCPalette
{
id
:
qgcPal
}
/// Bottom single pixel divider
Rectangle
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
anchors.bottom
:
parent
.
bottom
height
:
1
color
:
"
black
"
visible
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
}
//-- Setup can be invoked from c++ side
Connections
{
target
:
setupWindow
onVisibleChanged
:
{
if
(
setupWindow
.
visible
)
{
buttonRow
.
clearAllChecks
()
setupButton
.
checked
=
true
}
}
}
RowLayout
{
id
:
viewButtonRow
anchors.bottomMargin
:
1
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
spacing
:
ScreenTools
.
defaultFontPixelWidth
/
2
QGCToolBarButton
{
id
:
currentButton
Layout.fillHeight
:
true
onClicked
:
{
viewButtonSelectRow
.
visible
=
!
viewButtonSelectRow
.
visible
if
(
viewButtonSelectRow
.
visible
)
{
buttonSelectHideTimer
.
start
()
}
else
{
buttonSelectHideTimer
.
stop
()
}
}
}
//---------------------------------------------
// Toolbar Row
RowLayout
{
id
:
viewButtonSelectRow
Layout.fillHeight
:
true
spacing
:
0
visible
:
false
Timer
{
id
:
buttonSelectHideTimer
interval
:
5000
repeat
:
false
onTriggered
:
viewButtonSelectRow
.
visible
=
false
}
QGCToolBarButton
{
id
:
settingsButton
Layout.fillHeight
:
true
icon.source
:
"
/res/QGCLogoFull
"
logo
:
true
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
&&
!
QGroundControl
.
corePlugin
.
options
.
combineSettingsAndSetup
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showSettingsView
()
}
}
}
QGCToolBarButton
{
id
:
setupButton
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/Gears.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showSetupView
()
}
}
}
QGCToolBarButton
{
id
:
planButton
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/Plan.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showPlanView
()
}
}
}
QGCToolBarButton
{
id
:
flyButton
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/PaperPlane.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showFlyView
()
// Easter Egg mechanism
_clickCount
++
eggTimer
.
restart
()
if
(
_clickCount
==
5
)
{
if
(
!
QGroundControl
.
corePlugin
.
showAdvancedUI
)
{
advancedModeConfirmation
.
open
()
}
else
{
QGroundControl
.
corePlugin
.
showAdvancedUI
=
false
}
}
else
if
(
_clickCount
==
7
)
{
QGroundControl
.
corePlugin
.
showTouchAreas
=
!
QGroundControl
.
corePlugin
.
showTouchAreas
}
}
}
property
int
_clickCount
:
0
Timer
{
id
:
eggTimer
interval
:
1000
repeat
:
false
onTriggered
:
parent
.
_clickCount
=
0
}
MessageDialog
{
id
:
advancedModeConfirmation
title
:
qsTr
(
"
Advanced Mode
"
)
text
:
QGroundControl
.
corePlugin
.
showAdvancedUIMessage
standardButtons
:
StandardButton
.
Yes
|
StandardButton
.
No
onYes
:
{
QGroundControl
.
corePlugin
.
showAdvancedUI
=
true
advancedModeConfirmation
.
close
()
}
}
}
QGCToolBarButton
{
id
:
analyzeButton
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/Analyze.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
&&
QGroundControl
.
corePlugin
.
showAdvancedUI
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showAnalyzeView
()
}
}
}
}
}
// View / Tool separator
Row
{
id
:
separator
anchors.bottomMargin
:
1
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
spacing
:
ScreenTools
.
defaultFontPixelWidth
*
1.5
Item
{
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
width
:
ScreenTools
.
defaultFontPixelWidth
/
2
}
Rectangle
{
anchors.margins
:
ScreenTools
.
defaultFontPixelHeight
/
2
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
width
:
1
color
:
qgcPal
.
text
}
Item
{
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
width
:
ScreenTools
.
defaultFontPixelWidth
/
2
}
}
QGCFlickable
{
id
:
toolsFlickable
anchors.left
:
separator
.
right
anchors.right
:
connectionStatus
.
visible
?
connectionStatus
.
left
:
parent
.
right
anchors.bottomMargin
:
1
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
contentWidth
:
toolRow
.
width
flickableDirection
:
Flickable
.
HorizontalFlick
Row
{
id
:
toolRow
anchors.bottomMargin
:
1
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
spacing
:
ScreenTools
.
defaultFontPixelWidth
*
1.5
Repeater
{
id
:
appRepeater
model
:
QGroundControl
.
corePlugin
.
toolBarIndicators
Loader
{
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.margins
:
_toolIndicatorMargins
source
:
modelData
visible
:
item
.
showIndicator
}
}
Repeater
{
model
:
_activeVehicle
?
_activeVehicle
.
toolBarIndicators
:
[]
Loader
{
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.margins
:
_toolIndicatorMargins
source
:
modelData
visible
:
item
.
showIndicator
}
}
}
}
//-------------------------------------------------------------------------
//-- Branding Logo
Image
{
anchors.right
:
parent
.
right
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.margins
:
ScreenTools
.
defaultFontPixelHeight
*
0.66
visible
:
_activeVehicle
&&
!
communicationLost
&&
x
>
(
toolsFlickable
.
x
+
toolsFlickable
.
contentWidth
+
ScreenTools
.
defaultFontPixelWidth
)
fillMode
:
Image
.
PreserveAspectFit
source
:
_outdoorPalette
?
_brandImageOutdoor
:
_brandImageIndoor
mipmap
:
true
property
bool
_outdoorPalette
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
property
bool
_corePluginBranding
:
QGroundControl
.
corePlugin
.
brandImageIndoor
.
length
!=
0
property
string
_userBrandImageIndoor
:
QGroundControl
.
settingsManager
.
brandImageSettings
.
userBrandImageIndoor
.
value
property
string
_userBrandImageOutdoor
:
QGroundControl
.
settingsManager
.
brandImageSettings
.
userBrandImageOutdoor
.
value
property
bool
_userBrandingIndoor
:
_userBrandImageIndoor
.
length
!=
0
property
bool
_userBrandingOutdoor
:
_userBrandImageOutdoor
.
length
!=
0
property
string
_brandImageIndoor
:
_userBrandingIndoor
?
_userBrandImageIndoor
:
(
_userBrandingOutdoor
?
_userBrandImageOutdoor
:
(
_corePluginBranding
?
QGroundControl
.
corePlugin
.
brandImageIndoor
:
(
activeVehicle
?
activeVehicle
.
brandImageIndoor
:
""
)
)
)
property
string
_brandImageOutdoor
:
_userBrandingOutdoor
?
_userBrandImageOutdoor
:
(
_userBrandingIndoor
?
_userBrandImageIndoor
:
(
_corePluginBranding
?
QGroundControl
.
corePlugin
.
brandImageOutdoor
:
(
activeVehicle
?
activeVehicle
.
brandImageOutdoor
:
""
)
)
)
}
// Small parameter download progress bar
Rectangle
{
anchors.bottom
:
parent
.
bottom
height
:
_root
.
height
*
0.05
width
:
_activeVehicle
?
_activeVehicle
.
parameterManager
.
loadProgress
*
parent
.
width
:
0
color
:
qgcPal
.
colorGreen
visible
:
!
largeProgressBar
.
visible
}
// Large parameter download progress bar
Rectangle
{
id
:
largeProgressBar
anchors.bottom
:
parent
.
bottom
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
height
:
parent
.
height
color
:
qgcPal
.
window
visible
:
_showLargeProgress
property
bool
_initialDownloadComplete
:
_activeVehicle
?
_activeVehicle
.
parameterManager
.
parametersReady
:
true
property
bool
_userHide
:
false
property
bool
_showLargeProgress
:
!
_initialDownloadComplete
&&
!
_userHide
&&
qgcPal
.
globalTheme
===
QGCPalette
.
Light
Connections
{
target
:
QGroundControl
.
multiVehicleManager
onActiveVehicleChanged
:
largeProgressBar
.
_userHide
=
false
}
Rectangle
{
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
width
:
_activeVehicle
?
_activeVehicle
.
parameterManager
.
loadProgress
*
parent
.
width
:
0
color
:
qgcPal
.
colorGreen
}
QGCLabel
{
anchors.centerIn
:
parent
text
:
qsTr
(
"
Downloading Parameters
"
)
font.pointSize
:
ScreenTools
.
largeFontPointSize
}
QGCLabel
{
anchors.margins
:
_margin
anchors.right
:
parent
.
right
anchors.bottom
:
parent
.
bottom
text
:
qsTr
(
"
Click anywhere to hide
"
)
property
real
_margin
:
ScreenTools
.
defaultFontPixelWidth
/
2
}
MouseArea
{
anchors.fill
:
parent
onClicked
:
largeProgressBar
.
_userHide
=
true
}
}
//-------------------------------------------------------------------------
//-- Waiting for a vehicle
QGCLabel
{
anchors.rightMargin
:
ScreenTools
.
defaultFontPixelWidth
anchors.right
:
parent
.
right
anchors.verticalCenter
:
parent
.
verticalCenter
text
:
qsTr
(
"
Waiting For Vehicle Connection
"
)
font.pointSize
:
ScreenTools
.
mediumFontPointSize
font.family
:
ScreenTools
.
demiboldFontFamily
color
:
qgcPal
.
colorRed
visible
:
!
_activeVehicle
}
//-------------------------------------------------------------------------
//-- Connection Status
Row
{
id
:
connectionStatus
anchors.rightMargin
:
ScreenTools
.
defaultFontPixelWidth
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.right
:
parent
.
right
layoutDirection
:
Qt
.
RightToLeft
spacing
:
ScreenTools
.
defaultFontPixelWidth
visible
:
_activeVehicle
&&
communicationLost
QGCButton
{
id
:
disconnectButton
anchors.verticalCenter
:
parent
.
verticalCenter
text
:
qsTr
(
"
Disconnect
"
)
primary
:
true
onClicked
:
_activeVehicle
.
disconnectInactiveVehicle
()
}
QGCLabel
{
id
:
connectionLost
anchors.verticalCenter
:
parent
.
verticalCenter
text
:
qsTr
(
"
COMMUNICATION LOST
"
)
font.pointSize
:
ScreenTools
.
largeFontPointSize
font.family
:
ScreenTools
.
demiboldFontFamily
color
:
qgcPal
.
colorRed
}
}
}
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