Skip to content

Commit

Permalink
Make use of Component default property to reduce code duplication
Browse files Browse the repository at this point in the history
  • Loading branch information
nirvn committed May 21, 2024
1 parent d0eb92f commit 4d5cf37
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 140 deletions.
187 changes: 48 additions & 139 deletions src/qml/InformationDrawer.qml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ Item {
}
}

property real itemRadius: 8

// SensorInformationView
property bool sensorInformationViewEnabled: sensorInformationView.activeSensors > 0

Expand Down Expand Up @@ -52,160 +50,71 @@ Item {
rightPadding: 5
spacing: 8

Rectangle {
QfOverlayContainer {
visible: navigationInformationViewEnabled
width: parent.width
height: childrenRect.height
color: Theme.mainBackgroundColorSemiOpaque
radius: itemRadius
clip: true

Column {
width: parent.width - 10
anchors.horizontalCenter: parent.horizontalCenter
topPadding: 5
bottomPadding: 5
spacing: 4

Text {
text: "Navigation"
font: Theme.strongTipFont
color: Theme.mainTextColor
leftPadding: 6
}

NavigationInformationView {
id: navigationInformationView
width: parent.width
height: contentHeight
navigation: controller.navigation
}

title: qsTr("Navigation")

NavigationInformationView {
id: navigationInformationView
width: parent.width
height: contentHeight
navigation: controller.navigation
}
}

Rectangle {
QfOverlayContainer {
visible: positioningInformationViewEnabled
width: parent.width
height: childrenRect.height
color: Theme.mainBackgroundColorSemiOpaque
radius: itemRadius
clip: true

Column {
width: parent.width - 10
anchors.horizontalCenter: parent.horizontalCenter
topPadding: 5
bottomPadding: 5
spacing: 4

Text {
text: "Positioning"
font: Theme.strongTipFont
color: Theme.mainTextColor
leftPadding: 6
}

PositioningInformationView {
id: positioningInformationView
width: parent.width
height: contentHeight
visible: positioningInformationViewEnabled
positionSource: controller.positionSource
antennaHeight: positioningSettings.antennaHeightActivated ? positioningSettings.antennaHeight : NaN
}

title: qsTr("Positioning")

PositioningInformationView {
id: positioningInformationView
width: parent.width
height: contentHeight
visible: positioningInformationViewEnabled
positionSource: controller.positionSource
antennaHeight: positioningSettings.antennaHeightActivated ? positioningSettings.antennaHeight : NaN
}
}

Rectangle {
QfOverlayContainer {
visible: positioningPreciseEnabled
width: parent.width
height: childrenRect.height
color: Theme.mainBackgroundColorSemiOpaque

Column {
width: parent.width - 10
anchors.horizontalCenter: parent.horizontalCenter
topPadding: 5
bottomPadding: 5
spacing: 4

Text {
text: "Precise view"
font: Theme.strongTipFont
color: Theme.mainTextColor
leftPadding: 6
}

PositioningPreciseView {
id: positioningPreciseView
width: parent.width
height: Math.min(mainWindow.height / 2.5, 400)
clip: true
precision: positioningSettings.preciseViewPrecision
}

title: qsTr("Precise view")

PositioningPreciseView {
id: positioningPreciseView
width: parent.width
height: Math.min(mainWindow.height / 2.5, 400)
precision: positioningSettings.preciseViewPrecision
}
}

Rectangle {
QfOverlayContainer {
visible: sensorInformationViewEnabled
width: parent.width
height: childrenRect.height
color: Theme.mainBackgroundColorSemiOpaque
radius: itemRadius
clip: true

Column {
width: parent.width - 10
anchors.horizontalCenter: parent.horizontalCenter
topPadding: 5
bottomPadding: 5
spacing: 4

Text {
text: "Sensors"
font: Theme.strongTipFont
color: Theme.mainTextColor
leftPadding: 6
}

SensorInformationView {
id: sensorInformationView
height: contentHeight
}

title: qsTr("Sensors")

SensorInformationView {
id: sensorInformationView
height: contentHeight
}
}

Rectangle {
QfOverlayContainer {
visible: stateMachine.state === 'measure' && elevationProfileButton.elevationProfileActive
width: parent.width
height: childrenRect.height
color: Theme.mainBackgroundColorSemiOpaque
radius: itemRadius
clip: true

Column {
width: parent.width - 10
anchors.horizontalCenter: parent.horizontalCenter
topPadding: 5
bottomPadding: 5
spacing: 4

Text {
text: "Elevation profile"
font: Theme.strongTipFont
color: Theme.mainTextColor
leftPadding: 6
}

ElevationProfile {
id: elevationProfile

width: parent.width
height: Math.max(220, mainWindow.height / 4)

project: qgisProject
crs: mapCanvas.mapSettings.destinationCrs
}

title: qsTr("Elevation profile")

ElevationProfile {
id: elevationProfile

width: parent.width
height: Math.max(220, mainWindow.height / 4)

project: qgisProject
crs: mapCanvas.mapSettings.destinationCrs
}
}
}
Expand Down
1 change: 0 additions & 1 deletion src/qml/PositioningPreciseView.qml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ Item {
Rectangle {
anchors.fill: parent
color: Theme.mainBackgroundColorSemiOpaque
radius: 8
}

Row {
Expand Down
1 change: 1 addition & 0 deletions src/qml/imports/Theme/qmldir
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ QfDropShadow 1.0 QfDropShadow.qml
QfOpacityMask 1.0 QfOpacityMask.qml
QfCalendarPanel 1.0 QfCalendarPanel.qml
QfPageHeader 1.0 QfPageHeader.qml
QfOverlayContainer 1.0 QfOverlayContainer.qml
1 change: 1 addition & 0 deletions src/qml/qml.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@
<file>imports/Theme/QfSlider.qml</file>
<file>imports/Theme/QfCalendarPanel.qml</file>
<file>imports/Theme/QfPageHeader.qml</file>
<file>imports/Theme/QfOverlayContainer.qml</file>
<file>imports/Theme/qmldir</file>
<file>TrackerSettings.qml</file>
<file>TrackingSession.qml</file>
Expand Down

0 comments on commit 4d5cf37

Please sign in to comment.