Commit 0a5a5835 authored by dogmaphobic's avatar dogmaphobic

New, system wide font (OpenSans)

UI Tweaks for all mobile platforms.
parent a8cd4b51
android/res/drawable-hdpi/icon.png

20.5 KB | W: | H:

android/res/drawable-hdpi/icon.png

21.6 KB | W: | H:

android/res/drawable-hdpi/icon.png
android/res/drawable-hdpi/icon.png
android/res/drawable-hdpi/icon.png
android/res/drawable-hdpi/icon.png
  • 2-up
  • Swipe
  • Onion skin
android/res/drawable-ldpi/icon.png

19.2 KB | W: | H:

android/res/drawable-ldpi/icon.png

20 KB | W: | H:

android/res/drawable-ldpi/icon.png
android/res/drawable-ldpi/icon.png
android/res/drawable-ldpi/icon.png
android/res/drawable-ldpi/icon.png
  • 2-up
  • Swipe
  • Onion skin
android/res/drawable-mdpi/icon.png

19.2 KB | W: | H:

android/res/drawable-mdpi/icon.png

20 KB | W: | H:

android/res/drawable-mdpi/icon.png
android/res/drawable-mdpi/icon.png
android/res/drawable-mdpi/icon.png
android/res/drawable-mdpi/icon.png
  • 2-up
  • Swipe
  • Onion skin
android/res/drawable-xhdpi/icon.png

22 KB | W: | H:

android/res/drawable-xhdpi/icon.png

23.3 KB | W: | H:

android/res/drawable-xhdpi/icon.png
android/res/drawable-xhdpi/icon.png
android/res/drawable-xhdpi/icon.png
android/res/drawable-xhdpi/icon.png
  • 2-up
  • Swipe
  • Onion skin
android/res/drawable-xxhdpi/icon.png

25.2 KB | W: | H:

android/res/drawable-xxhdpi/icon.png

27 KB | W: | H:

android/res/drawable-xxhdpi/icon.png
android/res/drawable-xxhdpi/icon.png
android/res/drawable-xxhdpi/icon.png
android/res/drawable-xxhdpi/icon.png
  • 2-up
  • Swipe
  • Onion skin
android/res/drawable-xxxhdpi/icon.png

26.9 KB | W: | H:

android/res/drawable-xxxhdpi/icon.png

28.9 KB | W: | H:

android/res/drawable-xxxhdpi/icon.png
android/res/drawable-xxxhdpi/icon.png
android/res/drawable-xxxhdpi/icon.png
android/res/drawable-xxxhdpi/icon.png
  • 2-up
  • Swipe
  • Onion skin
<RCC>
<qresource prefix="/fonts">
<file alias="opensans">resources/fonts/OpenSans-Regular.ttf</file>
<file alias="opensans-demibold">resources/fonts/OpenSans-Semibold.ttf</file>
</qresource>
<qresource prefix="/qmlimages">
<file alias="AirframeComponentIcon.png">src/AutoPilotPlugins/Common/Images/AirframeComponentIcon.png</file>
......
......@@ -211,7 +211,7 @@ QGCView {
QGCLabel {
id: directionLabel
text: qsTr("Gimbal ") + directionTitle
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -393,7 +393,7 @@ QGCView {
QGCLabel {
id: settingsLabel
text: qsTr("Gimbal Settings")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......
......@@ -63,7 +63,7 @@ QGCView {
QGCLabel {
id: flightModeLabel
text: qsTr("Flight Mode Settings") + (_fltmodeChExists ? "" : qsTr(" (Channel 5)"))
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -141,7 +141,7 @@ QGCView {
anchors.top: parent.top
anchors.left: flightModeSettings.right
text: qsTr("Channel Options")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
visible: _channelOptionCount != 0
}
......
......@@ -80,7 +80,7 @@ QGCView {
QGCLabel {
id: failsafeLabel
text: qsTr("Failsafe Triggers")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -217,7 +217,7 @@ QGCView {
anchors.left: failsafeSettings.right
anchors.top: parent.top
text: qsTr("GeoFence")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -342,7 +342,7 @@ QGCView {
anchors.topMargin: _margins
anchors.top: geoFenceSettings.bottom
text: qsTr("Return to Launch")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -475,7 +475,7 @@ QGCView {
anchors.left: parent.left
anchors.top: rtlSettings.bottom
text: qsTr("Arming Checks")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......
......@@ -65,7 +65,7 @@ QGCView {
QGCLabel {
id: failsafeTriggersLabel
text: qsTr("Failsafe Triggers")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -158,7 +158,7 @@ QGCView {
anchors.leftMargin: _margins
anchors.left: failsafeTriggerSettings.right
text: qsTr("Return to Launch")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......
......@@ -135,7 +135,7 @@ QGCView {
QGCLabel {
id: basicLabel
text: qsTr("Basic Tuning")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -161,7 +161,7 @@ QGCView {
QGCLabel {
text: qsTr("Throttle Hover")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
......@@ -191,7 +191,7 @@ QGCView {
QGCLabel {
text: qsTr("Roll/Pitch Sensitivity")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
......@@ -224,7 +224,7 @@ QGCView {
QGCLabel {
text: qsTr("Climb Sensitivity")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
......@@ -256,7 +256,7 @@ QGCView {
QGCLabel {
text: qsTr("RC Roll/Pitch Feel")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
......@@ -287,7 +287,7 @@ QGCView {
anchors.topMargin: _margins
anchors.top: basicTuningRect.bottom
text: qsTr("AutoTune")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......
......@@ -50,6 +50,7 @@ FactPanel {
labelText: qsTr("WiFi AP Password:")
valueText: esp8266.wifiPassword
}
/* Too much info makes it all crammed
VehicleSummaryRow {
labelText: qsTr("WiFi STA SSID:")
valueText: esp8266.wifiSSIDSta
......@@ -58,6 +59,7 @@ FactPanel {
labelText: qsTr("WiFi STA Password:")
valueText: esp8266.wifiPasswordSta
}
*/
VehicleSummaryRow {
labelText: qsTr("UART Baud Rate:")
valueText: uartBaud ? uartBaud.valueString : ""
......
......@@ -130,7 +130,7 @@ QGCView {
qsTr("You've connected a %1.").arg(controller.currentVehicleName) :
qsTr("Airframe is not set.")) +
qsTr("To change this configuration, select the desired airframe below then click “Apply and Restart”.")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
wrapMode: Text.WordWrap
}
......
......@@ -131,7 +131,7 @@ QGCView {
*/
QGCLabel {
text: qsTr("Camera Trigger Settings")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
id: camTrigRect
......@@ -213,7 +213,7 @@ QGCView {
Item { width: 1; height: _margins * 0.5; }
QGCLabel {
text: qsTr("Hardware Settings")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
visible: _auxPins
}
Rectangle {
......
......@@ -20,26 +20,21 @@ FactPanel {
property Fact _rcMapModeSw: controller.getParameterFact(-1, "RC_MAP_MODE_SW")
property bool _simpleMode: _rcMapFltmode.value > 0 || _rcMapModeSw.value == 0
Loader {
anchors.fill: parent
anchors.margins: 8
sourceComponent: _simpleMode ? simple : advanced
}
Component {
id: simple
Column {
anchors.margins: 8
VehicleSummaryRow {
labelText: qsTr("Mode switch:")
valueText: _rcMapFltmode.value === 0 ? qsTr("Setup required") : _rcMapFltmode.enumStringValue
}
Repeater {
model: 6
VehicleSummaryRow {
labelText: qsTr("Flight Mode %1 :").arg(index + 1)
valueText: controller.getParameterFact(-1, "COM_FLTMODE" + (index + 1)).enumStringValue
......@@ -50,29 +45,22 @@ FactPanel {
Component {
id: advanced
Column {
anchors.margins: 8
property Fact posCtlSwFact: controller.getParameterFact(-1, "RC_MAP_POSCTL_SW")
property Fact loiterSwFact: controller.getParameterFact(-1, "RC_MAP_LOITER_SW")
property Fact returnSwFact: controller.getParameterFact(-1, "RC_MAP_RETURN_SW")
VehicleSummaryRow {
labelText: qsTr("Mode switch:")
valueText: _rcMapModeSw.value === 0 ? qsTr("Setup required") : _rcMapModeSw.valueString
}
VehicleSummaryRow {
labelText: qsTr("Position Ctl switch:")
valueText: posCtlSwFact.value === 0 ? qsTr("Disabled") : posCtlSwFact.valueString
}
VehicleSummaryRow {
labelText: qsTr("Loiter switch:")
valueText: loiterSwFact.value === 0 ? qsTr("Disabled") : loiterSwFact.valueString
}
VehicleSummaryRow {
labelText: qsTr("Return switch:")
valueText: returnSwFact.value === 0 ? qsTr("Disabled") : returnSwFact.valueString
......
......@@ -71,7 +71,7 @@ Item {
QGCLabel {
id: flightModeLabel
text: qsTr("Flight Mode Settings")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -136,7 +136,7 @@ Item {
QGCLabel {
text: qsTr("Switch Settings")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......
......@@ -123,7 +123,7 @@ QGCView {
QGCLabel {
text: qsTr("Battery")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -236,7 +236,7 @@ QGCView {
QGCLabel {
text: qsTr("ESC PWM Minimum and Maximum Calibration")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
......@@ -276,7 +276,7 @@ QGCView {
QGCLabel {
text: qsTr("UAVCAN Bus Configuration")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
visible: showUAVCAN.checked
}
......@@ -306,7 +306,7 @@ QGCView {
QGCLabel {
text: qsTr("UAVCAN Motor Index and Direction Assignment")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
visible: showUAVCAN.checked
}
......@@ -358,7 +358,7 @@ QGCView {
QGCLabel {
text: qsTr("Advanced Power Settings")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
visible: showAdvanced.checked
}
......
......@@ -44,7 +44,7 @@ QGCView {
QGCPalette { id: palette; colorGroupEnabled: enabled }
property real _margins: ScreenTools.defaultFontPixelHeight
property real _middleRowWidth: ScreenTools.defaultFontPixelWidth * 22
property real _middleRowWidth: ScreenTools.defaultFontPixelWidth * 24
property real _editFieldWidth: ScreenTools.defaultFontPixelWidth * 18
property Fact _fenceAction: controller.getParameterFact(-1, "GF_ACTION")
......@@ -55,7 +55,7 @@ QGCView {
property Fact _rcLossAction: controller.getParameterFact(-1, "NAV_RCL_ACT")
property Fact _dlLossAction: controller.getParameterFact(-1, "NAV_DLL_ACT")
property Fact _disarmLandDelay: controller.getParameterFact(-1, "COM_DISARM_LAND")
property Fact _landSpeedMC: controller.getParameterFact(-1, "MPC_LAND_SPEED", false)
property Fact _landSpeedMC: controller.getParameterFact(-1, "MPC_LAND_SPEED", false)
QGCViewPanel {
id: panel
......@@ -75,7 +75,7 @@ QGCView {
Item { width: 1; height: _margins * 0.5; }
QGCLabel {
text: qsTr("Low Battery Failsafe Trigger")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
color: palette.windowShade
......@@ -146,7 +146,7 @@ QGCView {
*/
QGCLabel {
text: qsTr("RC Loss Failsafe Trigger")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
color: palette.windowShade
......@@ -203,7 +203,7 @@ QGCView {
*/
QGCLabel {
text: qsTr("Data Link Loss Failsafe Trigger")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
color: palette.windowShade
......@@ -260,7 +260,7 @@ QGCView {
*/
QGCLabel {
text: qsTr("Geofence Failsafe Trigger")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
color: palette.windowShade
......@@ -340,7 +340,7 @@ QGCView {
QGCLabel {
id: rtlLabel
text: qsTr("Return Home Settings")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
id: rtlSettings
......@@ -453,7 +453,7 @@ QGCView {
*/
QGCLabel {
text: qsTr("Land Mode Settings")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
color: palette.windowShade
......
......@@ -43,7 +43,7 @@ Item {
visible: !_controller.videoRunning
QGCLabel {
text: qsTr("NO VIDEO")
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
color: "white"
font.pixelSize: _mainIsMap ? 12 * ScreenTools.fontHRatio : 20 * ScreenTools.fontHRatio
anchors.centerIn: parent
......
......@@ -200,7 +200,7 @@ Map {
QGCLabel {
id: scaleText
color: isSatelliteMap ? "white" : "black"
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
horizontalAlignment: Text.AlignHCenter
anchors.bottom: parent.bottom
anchors.right: parent.right
......
......@@ -90,7 +90,7 @@ Item {
QGCLabel {
text: active ? heading.toFixed(0) : qsTr("OFF")
font.weight: active ? Font.DemiBold : Font.Light
font.family: active ? ScreenTools.demiboldFontFamily : ScreenTools.normalFontFamily
font.pixelSize: _fontSize < 1 ? 1 : _fontSize;
color: "white"
anchors.centerIn: parent
......
......@@ -71,7 +71,7 @@ Rectangle {
anchors.horizontalCenterOffset: -(_longDash * 0.8)
anchors.verticalCenter: parent.verticalCenter
smooth: true
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
font.pixelSize: _fontSize < 1 ? 1 : _fontSize;
text: _pitch
color: "white"
......@@ -82,7 +82,7 @@ Rectangle {
anchors.horizontalCenterOffset: (_longDash * 0.8)
anchors.verticalCenter: parent.verticalCenter
smooth: true
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
font.pixelSize: _fontSize < 1 ? 1 : _fontSize;
text: _pitch
color: "white"
......
......@@ -96,7 +96,7 @@ QGCFlickable {
width: parent.width
horizontalAlignment: Text.AlignHCenter
font.pixelSize: ScreenTools.largeFontPixelSize * (largeValue ? 1.3 : 1.0)
font.weight: largeValue ? Font.ExtraBold : Font.Normal
font.family: largeValue ? ScreenTools.demiboldFontFamily : ScreenTools.normalFontFamily
fontSizeMode: Text.HorizontalFit
color: textColor
text: fact.valueString
......
......@@ -62,12 +62,13 @@ Rectangle {
width: listview.width
Text {
id: field
text: display
color: qgcPal.text
width: parent.width
wrapMode: Text.Wrap
font.family: ScreenTools.normalFontFamily
anchors.verticalCenter: parent.verticalCenter
id: field
text: display
color: qgcPal.text
width: parent.width
wrapMode: Text.Wrap
}
}
}
......
......@@ -11,7 +11,7 @@ Item {
signal clicked()
property alias buttonImage: roundButton.buttonImage
property alias rotateImage: roundButton.rotateImage
property real radius: ScreenTools.defaultFontPixelHeight * 1.5
property real radius: ScreenTools.isTinyScreen ? ScreenTools.defaultFontPixelHeight * 2.5 : ScreenTools.defaultFontPixelHeight * 1.5
property int dropDirection: dropDown
property alias dropDownComponent: dropDownLoader.sourceComponent
property real viewportMargins: 0
......
......@@ -77,7 +77,7 @@ QGCView {
QGCLabel {
id: panelLabel
text: panelTitle
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
......@@ -111,7 +111,7 @@ QGCView {
QGCLabel {
text: title
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
......
......@@ -93,7 +93,7 @@ QGCViewDialog {
QGCLabel {
text: mavCmdInfo.friendlyName
color: textColor
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
......
......@@ -43,7 +43,7 @@ QGCView {
QGCPalette { id: __qgcPal; colorGroupEnabled: true }
property Fact _editorDialogFact: Fact { }
property int _rowHeight: ScreenTools.defaultFontPixelHeight * 2
property int _rowHeight: ScreenTools.isTinyScreen ? ScreenTools.defaultFontPixelHeight * 4 : ScreenTools.defaultFontPixelHeight * 2
property int _rowWidth: 10 // Dynamic adjusted at runtime
property bool _searchFilter: false ///< true: showing results of search
property var _searchResults ///< List of parameter names from search results
......@@ -53,7 +53,6 @@ QGCView {
ParameterEditorController {
id: controller;
factPanel: panel
onShowErrorMessage: {
showMessage(qsTr("Parameter Load Errors"), errorMsg, StandardButton.Ok)
}
......@@ -76,7 +75,6 @@ QGCView {
anchors.top: searchText.top
anchors.bottom: searchText.bottom
text: qsTr("Filter by:")
onClicked: {
_searchResults = controller.searchParametersForComponent(-1, searchText.text)
_searchFilter = true
......@@ -184,7 +182,7 @@ QGCView {
spacing: Math.ceil(ScreenTools.defaultFontPixelHeight * 0.25)
QGCLabel {
text: qsTr("Component #: %1)").arg(componentId.toString())
font.weight: Font.DemiBold
font.family: ScreenTools.demiboldFontFamily
anchors.horizontalCenter: parent.horizontalCenter
}
ExclusiveGroup { id: groupGroup }
......
......@@ -8,7 +8,7 @@ import QGroundControl.ScreenTools 1.0
Button {
property bool primary: false ///< primary button for a group of buttons
property bool primary: false ///< primary button for a group of buttons
property var _qgcPal: QGCPalette { colorGroupEnabled: enabled }
property bool _showHighlight: (pressed | hovered | checked) && !__forceHoverOff
......@@ -60,7 +60,13 @@ Button {
background: Item {
property bool down: control.pressed || (control.checkable && control.checked)
implicitWidth: Math.round(TextSingleton.implicitHeight * 4.5)
implicitHeight: ScreenTools.isMobile ? ScreenTools.defaultFontPixelHeight * 2.5 : Math.max(25, Math.round(TextSingleton.implicitHeight * 1.2))
implicitHeight: {
if(ScreenTools.isTinyScreen)
return ScreenTools.defaultFontPixelHeight * 3.5
if(ScreenTools.isMobile)
return ScreenTools.defaultFontPixelHeight * 2.5
return Math.max(25, Math.round(TextSingleton.implicitHeight * 1.2))
}
Rectangle {
anchors.fill: parent
......@@ -103,9 +109,8 @@ Button {
antialiasing: true
text: control.text
font.pixelSize: ScreenTools.defaultFontPixelSize
font.family: ScreenTools.normalFontFamily
anchors.verticalCenter: parent.verticalCenter
color: _showHighlight ?
control._qgcPal.buttonHighlightText :
(primary ? control._qgcPal.primaryButtonText : control._qgcPal.buttonText)
......
......@@ -30,8 +30,9 @@ CheckBox {
text: control.text
antialiasing: true
font.pixelSize: ScreenTools.defaultFontPixelSize
font.family: ScreenTools.normalFontFamily
color: control.__qgcPal.text
anchors.verticalCenter: parent.verticalCenter
color: control.__qgcPal.text
}
}
}
......
......@@ -18,8 +18,14 @@ ComboBox {
control._qgcPal.buttonText
background: Item {
implicitWidth: Math.round(TextSingleton.implicitHeight * 4.5)
implicitHeight: ScreenTools.isMobile ? ScreenTools.defaultFontPixelHeight * 3 * 0.75 : Math.max(25, Math.round(TextSingleton.implicitHeight * 1.2))
implicitWidth: Math.round(TextSingleton.implicitHeight * 4.5)
implicitHeight: {
if(ScreenTools.isTinyScreen)
return ScreenTools.defaultFontPixelHeight * 3.5
if(ScreenTools.isMobile)
return ScreenTools.defaultFontPixelHeight * 2.5
return Math.max(25, Math.round(TextSingleton.implicitHeight * 1.2))
}
Rectangle {
anchors.fill: parent
......
......@@ -11,6 +11,7 @@ Text {
property bool enabled: true
font.pixelSize: ScreenTools.defaultFontPixelSize
font.family: ScreenTools.normalFontFamily
color: __qgcPal.text
antialiasing: true
}
......@@ -29,11 +29,10 @@ RadioButton {
id: text
text: control.text
font.pixelSize: ScreenTools.defaultFontPixelSize
font.family: ScreenTools.normalFontFamily
antialiasing: true
color: control.__qgcPal.text
anchors.centerIn: parent
color: control.__qgcPal.text
}
}
}
......
<
......@@ -19,15 +19,23 @@ TextField {
property var __qgcPal: QGCPalette { colorGroupEnabled: enabled }
textColor: __qgcPal.textFieldText
height: ScreenTools.isMobile ? ScreenTools.defaultFontPixelHeight * 3 * 0.75 : implicitHeight
textColor: __qgcPal.textFieldText
height: {
if(ScreenTools.isTinyScreen)
return ScreenTools.defaultFontPixelHeight * 3.5
if(ScreenTools.isMobile)
return ScreenTools.defaultFontPixelHeight * 2.5
return implicitHeight
}
Label {
id: unitsLabelWidthGenerator
text: unitsLabel
width: contentWidth + ((parent.__contentHeight/3)*2)
visible: false
antialiasing: true
id: unitsLabelWidthGenerator
text: unitsLabel
width: contentWidth + ((parent.__contentHeight/3)*2)
visible: false
antialiasing: true
font.family: ScreenTools.normalFontFamily
}
style: TextFieldStyle {
......@@ -50,21 +58,22 @@ TextField {
Text {
id: unitsLabel
anchors.top: parent.top
anchors.top: parent.top