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
df2047c4
Commit
df2047c4
authored
May 30, 2020
by
DonLakeFlyer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
parent
3e5eb1f3
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
36 additions
and
487 deletions
+36
-487
qgroundcontrol.qrc
qgroundcontrol.qrc
+1
-2
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 @
df2047c4
...
@@ -9,7 +9,6 @@
...
@@ -9,7 +9,6 @@
<file alias="GPSRTKIndicator.qml">src/ui/toolbar/GPSRTKIndicator.qml</file>
<file alias="GPSRTKIndicator.qml">src/ui/toolbar/GPSRTKIndicator.qml</file>
<file alias="JoystickIndicator.qml">src/ui/toolbar/JoystickIndicator.qml</file>
<file alias="JoystickIndicator.qml">src/ui/toolbar/JoystickIndicator.qml</file>
<file alias="LinkIndicator.qml">src/ui/toolbar/LinkIndicator.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="MainToolBarIndicators.qml">src/ui/toolbar/MainToolBarIndicators.qml</file>
<file alias="MessageIndicator.qml">src/ui/toolbar/MessageIndicator.qml</file>
<file alias="MessageIndicator.qml">src/ui/toolbar/MessageIndicator.qml</file>
<file alias="ModeIndicator.qml">src/ui/toolbar/ModeIndicator.qml</file>
<file alias="ModeIndicator.qml">src/ui/toolbar/ModeIndicator.qml</file>
...
@@ -107,6 +106,7 @@
...
@@ -107,6 +106,7 @@
<file alias="QGroundControl/Controls/JoystickThumbPad.qml">src/QmlControls/JoystickThumbPad.qml</file>
<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/KMLOrSHPFileDialog.qml">src/QmlControls/KMLOrSHPFileDialog.qml</file>
<file alias="QGroundControl/Controls/LogReplayStatusBar.qml">src/QmlControls/LogReplayStatusBar.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/MainWindowSavedState.qml">src/QmlControls/MainWindowSavedState.qml</file>
<file alias="QGroundControl/Controls/MAVLinkChart.qml">src/QmlControls/MAVLinkChart.qml</file>
<file alias="QGroundControl/Controls/MAVLinkChart.qml">src/QmlControls/MAVLinkChart.qml</file>
<file alias="QGroundControl/Controls/MAVLinkMessageButton.qml">src/QmlControls/MAVLinkMessageButton.qml</file>
<file alias="QGroundControl/Controls/MAVLinkMessageButton.qml">src/QmlControls/MAVLinkMessageButton.qml</file>
...
@@ -179,7 +179,6 @@
...
@@ -179,7 +179,6 @@
<file alias="QGroundControl/Controls/SurveyMapVisual.qml">src/PlanView/SurveyMapVisual.qml</file>
<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/TerrainStatus.qml">src/PlanView/TerrainStatus.qml</file>
<file alias="QGroundControl/Controls/TakeoffItemMapVisual.qml">src/PlanView/TakeoffItemMapVisual.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/ToolStrip.qml">src/QmlControls/ToolStrip.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemStats.qml">src/PlanView/TransectStyleComplexItemStats.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemStats.qml">src/PlanView/TransectStyleComplexItemStats.qml</file>
<file alias="QGroundControl/Controls/VehicleRotationCal.qml">src/QmlControls/VehicleRotationCal.qml</file>
<file alias="QGroundControl/Controls/VehicleRotationCal.qml">src/QmlControls/VehicleRotationCal.qml</file>
...
...
src/QmlControls/QGroundControl/Controls/qmldir
View file @
df2047c4
...
@@ -31,6 +31,7 @@ InstrumentValueEditDialog 1.0 InstrumentValueEditDialog.qml
...
@@ -31,6 +31,7 @@ InstrumentValueEditDialog 1.0 InstrumentValueEditDialog.qml
JoystickThumbPad 1.0 JoystickThumbPad.qml
JoystickThumbPad 1.0 JoystickThumbPad.qml
KMLOrSHPFileDialog 1.0 KMLOrSHPFileDialog.qml
KMLOrSHPFileDialog 1.0 KMLOrSHPFileDialog.qml
LogReplayStatusBar 1.0 LogReplayStatusBar.qml
LogReplayStatusBar 1.0 LogReplayStatusBar.qml
MainToolBar 1.0 MainToolBar.qml
MainWindowSavedState 1.0 MainWindowSavedState.qml
MainWindowSavedState 1.0 MainWindowSavedState.qml
MAVLinkMessageButton 1.0 MAVLinkMessageButton.qml
MAVLinkMessageButton 1.0 MAVLinkMessageButton.qml
MissionCommandDialog 1.0 MissionCommandDialog.qml
MissionCommandDialog 1.0 MissionCommandDialog.qml
...
@@ -101,7 +102,6 @@ SurveyMapVisuals 1.0 SurveyMapVisuals.qml
...
@@ -101,7 +102,6 @@ SurveyMapVisuals 1.0 SurveyMapVisuals.qml
TerrainStatus 1.0 TerrainStatus.qml
TerrainStatus 1.0 TerrainStatus.qml
TransectStyleComplexItemStats 1.0 TransectStyleComplexItemStats.qml
TransectStyleComplexItemStats 1.0 TransectStyleComplexItemStats.qml
TransectStyleMapVisuals 1.0 TransectStyleMapVisuals.qml
TransectStyleMapVisuals 1.0 TransectStyleMapVisuals.qml
ToolBarBase 1.0 ToolBarBase.qml
ToolStrip 1.0 ToolStrip.qml
ToolStrip 1.0 ToolStrip.qml
VehicleRotationCal 1.0 VehicleRotationCal.qml
VehicleRotationCal 1.0 VehicleRotationCal.qml
VehicleSummaryRow 1.0 VehicleSummaryRow.qml
VehicleSummaryRow 1.0 VehicleSummaryRow.qml
...
...
src/ui/MainRootWindow.qml
View file @
df2047c4
...
@@ -77,8 +77,6 @@ ApplicationWindow {
...
@@ -77,8 +77,6 @@ ApplicationWindow {
/// Current active Vehicle
/// Current active Vehicle
property
var
activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
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
:
""
property
string
formatedMessage
:
activeVehicle
?
activeVehicle
.
formatedMessage
:
""
/// Indicates usable height between toolbar and footer
/// Indicates usable height between toolbar and footer
property
real
availableHeight
:
mainWindow
.
height
-
mainWindow
.
header
.
height
-
mainWindow
.
footer
.
height
property
real
availableHeight
:
mainWindow
.
height
-
mainWindow
.
header
.
height
-
mainWindow
.
footer
.
height
...
@@ -125,47 +123,40 @@ ApplicationWindow {
...
@@ -125,47 +123,40 @@ ApplicationWindow {
return
_rgPreventViewSwitch
[
_rgPreventViewSwitch
.
length
-
1
]
return
_rgPreventViewSwitch
[
_rgPreventViewSwitch
.
length
-
1
]
}
}
function
viewSwitch
(
isPlanView
,
showModeIndicators
)
{
function
viewSwitch
(
currentToolbar
)
{
settingsWindow
.
visible
=
false
settingsWindow
.
visible
=
false
setupWindow
.
visible
=
false
setupWindow
.
visible
=
false
analyzeWindow
.
visible
=
false
analyzeWindow
.
visible
=
false
flightView
.
visible
=
false
flightView
.
visible
=
false
planViewLoader
.
visible
=
false
planViewLoader
.
visible
=
false
var
indicatorSource
toolbar
.
currentToolbar
=
currentToolbar
if
(
isPlanView
)
{
indicatorSource
=
"
qrc:/qml/PlanToolBarIndicators.qml
"
}
else
{
indicatorSource
=
"
qrc:/toolbar/MainToolBarIndicators.qml
"
}
toolbar
.
item
.
indicatorSource
=
indicatorSource
toolbar
.
item
.
showModeIndicators
=
showModeIndicators
}
}
function
showFlyView
()
{
function
showFlyView
()
{
if
(
!
flightView
.
visible
)
{
if
(
!
flightView
.
visible
)
{
mainWindow
.
showPreFlightChecklistIfNeeded
()
mainWindow
.
showPreFlightChecklistIfNeeded
()
}
}
viewSwitch
(
false
,
true
)
viewSwitch
(
toolbar
.
flyViewToolbar
)
flightView
.
visible
=
true
flightView
.
visible
=
true
}
}
function
showPlanView
()
{
function
showPlanView
()
{
viewSwitch
(
t
rue
,
false
)
viewSwitch
(
t
oolbar
.
planViewToolbar
)
planViewLoader
.
visible
=
true
planViewLoader
.
visible
=
true
}
}
function
showAnalyzeView
()
{
function
showAnalyzeView
()
{
viewSwitch
(
false
,
false
)
viewSwitch
(
toolbar
.
simpleToolbar
)
analyzeWindow
.
visible
=
true
analyzeWindow
.
visible
=
true
}
}
function
showSetupView
()
{
function
showSetupView
()
{
viewSwitch
(
false
,
false
)
viewSwitch
(
toolbar
.
simpleToolbar
)
setupWindow
.
visible
=
true
setupWindow
.
visible
=
true
}
}
function
showSettingsView
()
{
function
showSettingsView
()
{
viewSwitch
(
false
,
false
)
viewSwitch
(
toolbar
.
simpleToolbar
)
settingsWindow
.
visible
=
true
settingsWindow
.
visible
=
true
}
}
...
@@ -354,29 +345,10 @@ ApplicationWindow {
...
@@ -354,29 +345,10 @@ ApplicationWindow {
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
/// Toolbar
/// Toolbar
header
:
ToolBar
{
header
:
MainToolBar
{
id
:
toolbar
height
:
ScreenTools
.
toolbarHeight
height
:
ScreenTools
.
toolbarHeight
visible
:
!
QGroundControl
.
videoManager
.
fullScreen
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
{
footer
:
LogReplayStatusBar
{
...
...
src/ui/toolbar/MainToolBar.qml
View file @
df2047c4
...
@@ -19,15 +19,18 @@ import QGroundControl.MultiVehicleManager 1.0
...
@@ -19,15 +19,18 @@ import QGroundControl.MultiVehicleManager 1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Controllers
1.0
import
QGroundControl
.
Controllers
1.0
Item
{
Rectangle
{
id
:
_root
id
:
_root
color
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundLight
:
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundDark
property
alias
indicatorSource
:
indicatorLoader
.
source
property
int
currentToolbar
:
flyViewToolbar
property
alias
showModeIndicators
:
indicatorLoader
.
showModeIndicators
// 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
var
_activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
property
bool
_communicationLost
:
_activeVehicle
?
_activeVehicle
.
connectionLost
:
false
Component.onCompleted
:
_viewButtonClicked
(
flyButton
)
Component.onCompleted
:
_viewButtonClicked
(
flyButton
)
...
@@ -74,6 +77,7 @@ Item {
...
@@ -74,6 +77,7 @@ Item {
QGCToolBarButton
{
QGCToolBarButton
{
id
:
currentButton
id
:
currentButton
Layout.fillHeight
:
true
Layout.fillHeight
:
true
visible
:
!
viewButtonSelectRow
.
visible
onClicked
:
{
onClicked
:
{
viewButtonSelectRow
.
visible
=
!
viewButtonSelectRow
.
visible
viewButtonSelectRow
.
visible
=
!
viewButtonSelectRow
.
visible
...
@@ -100,19 +104,12 @@ Item {
...
@@ -100,19 +104,12 @@ Item {
onTriggered
:
viewButtonSelectRow
.
visible
=
false
onTriggered
:
viewButtonSelectRow
.
visible
=
false
}
}
Rectangle
{
Layout.margins
:
ScreenTools
.
defaultFontPixelHeight
/
2
Layout.fillHeight
:
true
width
:
1
color
:
qgcPal
.
text
}
QGCToolBarButton
{
QGCToolBarButton
{
id
:
settingsButton
id
:
settingsButton
Layout.fillHeight
:
true
Layout.fillHeight
:
true
icon.source
:
"
/res/QGCLogoFull
"
icon.source
:
"
/res/QGCLogoFull
"
logo
:
true
logo
:
true
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
&&
!
QGroundControl
.
corePlugin
.
options
.
combineSettingsAndSetup
visible
:
!
QGroundControl
.
corePlugin
.
options
.
combineSettingsAndSetup
onClicked
:
{
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showSettingsView
()
mainWindow
.
showSettingsView
()
...
@@ -124,7 +121,6 @@ Item {
...
@@ -124,7 +121,6 @@ Item {
id
:
setupButton
id
:
setupButton
Layout.fillHeight
:
true
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/Gears.svg
"
icon.source
:
"
/qmlimages/Gears.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
onClicked
:
{
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showSetupView
()
mainWindow
.
showSetupView
()
...
@@ -136,7 +132,6 @@ Item {
...
@@ -136,7 +132,6 @@ Item {
id
:
planButton
id
:
planButton
Layout.fillHeight
:
true
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/Plan.svg
"
icon.source
:
"
/qmlimages/Plan.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
onClicked
:
{
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showPlanView
()
mainWindow
.
showPlanView
()
...
@@ -148,7 +143,6 @@ Item {
...
@@ -148,7 +143,6 @@ Item {
id
:
flyButton
id
:
flyButton
Layout.fillHeight
:
true
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/PaperPlane.svg
"
icon.source
:
"
/qmlimages/PaperPlane.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
onClicked
:
{
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showFlyView
()
mainWindow
.
showFlyView
()
...
@@ -192,7 +186,7 @@ Item {
...
@@ -192,7 +186,7 @@ Item {
id
:
analyzeButton
id
:
analyzeButton
Layout.fillHeight
:
true
Layout.fillHeight
:
true
icon.source
:
"
/qmlimages/Analyze.svg
"
icon.source
:
"
/qmlimages/Analyze.svg
"
visible
:
currentButton
.
icon
.
source
!==
icon
.
source
&&
QGroundControl
.
corePlugin
.
showAdvancedUI
visible
:
QGroundControl
.
corePlugin
.
showAdvancedUI
onClicked
:
{
onClicked
:
{
if
(
_viewButtonClicked
(
this
))
{
if
(
_viewButtonClicked
(
this
))
{
mainWindow
.
showAnalyzeView
()
mainWindow
.
showAnalyzeView
()
...
@@ -230,6 +224,7 @@ Item {
...
@@ -230,6 +224,7 @@ Item {
anchors.bottom
:
parent
.
bottom
anchors.bottom
:
parent
.
bottom
userSettingsGroup
:
toolbarUserSettingsGroup
userSettingsGroup
:
toolbarUserSettingsGroup
defaultSettingsGroup
:
toolbarDefaultSettingsGroup
defaultSettingsGroup
:
toolbarDefaultSettingsGroup
visible
:
currentToolbar
!==
planViewToolbar
QGCMouseArea
{
QGCMouseArea
{
anchors.fill
:
parent
anchors.fill
:
parent
...
@@ -247,17 +242,18 @@ Item {
...
@@ -247,17 +242,18 @@ Item {
anchors.left
:
valueArea
.
right
anchors.left
:
valueArea
.
right
width
:
1
width
:
1
color
:
qgcPal
.
text
color
:
qgcPal
.
text
visible
:
currentToolbar
==
flyViewToolbar
}
}
Loader
{
Loader
{
id
:
indicatorLoader
id
:
indicatorLoader
anchors.leftMargin
:
ScreenTools
.
defaultFontPixelHeight
/
2
anchors.leftMargin
:
currentToolbar
!==
planViewToolbar
?
ScreenTools
.
defaultFontPixelHeight
/
2
:
0
anchors.left
:
separator2
.
righ
t
anchors.left
:
currentToolbar
!==
planViewToolbar
?
separator2
.
right
:
parent
.
lef
t
anchors.top
:
parent
.
top
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.bottom
:
parent
.
bottom
source
:
"
qrc:/toolbar/MainToolBarIndicators.qml
"
source
:
currentToolbar
===
flyViewToolbar
?
"
qrc:/toolbar/MainToolBarIndicators.qml
"
:
property
bool
showModeIndicators
:
true
(
currentToolbar
==
planViewToolbar
?
"
qrc:/qml/PlanToolBarIndicators.qml
"
:
""
)
}
}
}
}
...
@@ -268,7 +264,7 @@ Item {
...
@@ -268,7 +264,7 @@ Item {
anchors.top
:
parent
.
top
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.bottom
:
parent
.
bottom
anchors.margins
:
ScreenTools
.
defaultFontPixelHeight
*
0.66
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
fillMode
:
Image
.
PreserveAspectFit
source
:
_outdoorPalette
?
_brandImageOutdoor
:
_brandImageIndoor
source
:
_outdoorPalette
?
_brandImageOutdoor
:
_brandImageIndoor
mipmap
:
true
mipmap
:
true
...
@@ -363,7 +359,7 @@ Item {
...
@@ -363,7 +359,7 @@ Item {
font.pointSize
:
ScreenTools
.
mediumFontPointSize
font.pointSize
:
ScreenTools
.
mediumFontPointSize
font.family
:
ScreenTools
.
demiboldFontFamily
font.family
:
ScreenTools
.
demiboldFontFamily
color
:
qgcPal
.
colorRed
color
:
qgcPal
.
colorRed
visible
:
!
_activeVehicle
visible
:
currentToolbar
!==
planViewToolbar
&&
!
_activeVehicle
}
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
...
@@ -376,7 +372,7 @@ Item {
...
@@ -376,7 +372,7 @@ Item {
anchors.right
:
parent
.
right
anchors.right
:
parent
.
right
layoutDirection
:
Qt
.
RightToLeft
layoutDirection
:
Qt
.
RightToLeft
spacing
:
ScreenTools
.
defaultFontPixelWidth
spacing
:
ScreenTools
.
defaultFontPixelWidth
visible
:
_activeVehicle
&&
communicationLost
visible
:
currentToolbar
!==
planViewToolbar
&&
_activeVehicle
&&
_
communicationLost
QGCButton
{
QGCButton
{
id
:
disconnectButton
id
:
disconnectButton
...
...
src/ui/toolbar/MainToolBarIndicators.qml
View file @
df2047c4
...
@@ -21,9 +21,6 @@ Row {
...
@@ -21,9 +21,6 @@ Row {
anchors.margins
:
_toolIndicatorMargins
anchors.margins
:
_toolIndicatorMargins
spacing
:
ScreenTools
.
defaultFontPixelWidth
*
1.5
spacing
:
ScreenTools
.
defaultFontPixelWidth
*
1.5
// This property should come in from the Loader
//property bool showModeIndicators: true
property
var
_activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
property
var
_activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
property
real
_toolIndicatorMargins
:
ScreenTools
.
defaultFontPixelHeight
*
0.66
property
real
_toolIndicatorMargins
:
ScreenTools
.
defaultFontPixelHeight
*
0.66
...
@@ -49,7 +46,7 @@ Row {
...
@@ -49,7 +46,7 @@ Row {
}
}
Repeater
{
Repeater
{
model
:
_activeVehicle
&&
showModeIndicators
?
_activeVehicle
.
modeIndicators
:
[]
model
:
_activeVehicle
?
_activeVehicle
.
modeIndicators
:
[]
Loader
{
Loader
{
anchors.top
:
parent
.
top
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.bottom
:
parent
.
bottom
...
...
src/ui/toolbar/ToolBarBase.qml
deleted
100644 → 0
View file @
3e5eb1f3
/****************************************************************************
*
* (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