From bae9432bd1926efdbb3fd287dd0d5e2ac9160c25 Mon Sep 17 00:00:00 2001
From: Gus Grubba <mavlink@grubba.com>
Date: Thu, 2 Mar 2017 02:34:26 -0500
Subject: [PATCH] Fix mode indicator vertical alignment.

---
 src/ui/toolbar/ModeIndicator.qml | 77 +++++++++++++++++++++-------------------
 1 file changed, 41 insertions(+), 36 deletions(-)

diff --git a/src/ui/toolbar/ModeIndicator.qml b/src/ui/toolbar/ModeIndicator.qml
index 2d8ba75..c8aedaa 100644
--- a/src/ui/toolbar/ModeIndicator.qml
+++ b/src/ui/toolbar/ModeIndicator.qml
@@ -19,45 +19,50 @@ import QGroundControl.Palette               1.0
 
 //-------------------------------------------------------------------------
 //-- Mode Indicator
-QGCLabel {
-    id:                     flightModeSelector
-    text:                   activeVehicle ? activeVehicle.flightMode : qsTr("N/A", "No data to display")
-    font.pointSize:         ScreenTools.mediumFontPointSize
-    color:                  qgcPal.buttonText
-    anchors.verticalCenter: parent.verticalCenter
-    Menu {
-        id: flightModesMenu
-    }
-    Component {
-        id: flightModeMenuItemComponent
-        MenuItem {
-            onTriggered: activeVehicle.flightMode = text
+Item {
+    anchors.top:    parent.top
+    anchors.bottom: parent.bottom
+    width:          flightModeSelector.width
+    QGCLabel {
+        id:                     flightModeSelector
+        text:                   activeVehicle ? activeVehicle.flightMode : qsTr("N/A", "No data to display")
+        font.pointSize:         ScreenTools.mediumFontPointSize
+        color:                  qgcPal.buttonText
+        anchors.verticalCenter: parent.verticalCenter
+        Menu {
+            id: flightModesMenu
         }
-    }
-    property var flightModesMenuItems: []
-    function updateFlightModesMenu() {
-        if (activeVehicle && activeVehicle.flightModeSetAvailable) {
-            // Remove old menu items
-            for (var i = 0; i < flightModesMenuItems.length; i++) {
-                flightModesMenu.removeItem(flightModesMenuItems[i])
+        Component {
+            id: flightModeMenuItemComponent
+            MenuItem {
+                onTriggered: activeVehicle.flightMode = text
             }
-            flightModesMenuItems.length = 0
-            // Add new items
-            for (var i = 0; i < activeVehicle.flightModes.length; i++) {
-                var menuItem = flightModeMenuItemComponent.createObject(null, { "text": activeVehicle.flightModes[i] })
-                flightModesMenuItems.push(menuItem)
-                flightModesMenu.insertItem(i, menuItem)
+        }
+        property var flightModesMenuItems: []
+        function updateFlightModesMenu() {
+            if (activeVehicle && activeVehicle.flightModeSetAvailable) {
+                // Remove old menu items
+                for (var i = 0; i < flightModesMenuItems.length; i++) {
+                    flightModesMenu.removeItem(flightModesMenuItems[i])
+                }
+                flightModesMenuItems.length = 0
+                // Add new items
+                for (var i = 0; i < activeVehicle.flightModes.length; i++) {
+                    var menuItem = flightModeMenuItemComponent.createObject(null, { "text": activeVehicle.flightModes[i] })
+                    flightModesMenuItems.push(menuItem)
+                    flightModesMenu.insertItem(i, menuItem)
+                }
             }
         }
-    }
-    Component.onCompleted: flightModeSelector.updateFlightModesMenu()
-    Connections {
-        target:                 QGroundControl.multiVehicleManager
-        onActiveVehicleChanged: flightModeSelector.updateFlightModesMenu()
-    }
-    MouseArea {
-        visible:        activeVehicle && activeVehicle.flightModeSetAvailable
-        anchors.fill:   parent
-        onClicked:      flightModesMenu.popup()
+        Component.onCompleted: flightModeSelector.updateFlightModesMenu()
+        Connections {
+            target:                 QGroundControl.multiVehicleManager
+            onActiveVehicleChanged: flightModeSelector.updateFlightModesMenu()
+        }
+        MouseArea {
+            visible:        activeVehicle && activeVehicle.flightModeSetAvailable
+            anchors.fill:   parent
+            onClicked:      flightModesMenu.popup()
+        }
     }
 }