Commit 94abe381 authored by Nate Weibley's avatar Nate Weibley

Defer loading and binding of mission editing QML components, fix editor view syncs

parent cfc67361
......@@ -48,6 +48,7 @@ QGCView {
property var _visualItems: controller.visualItems
property var _currentMissionItem
property int _currentMissionIndex: 0
property bool _firstVehiclePosition: true
property var activeVehiclePosition: _activeVehicle ? _activeVehicle.coordinate : QtPositioning.coordinate()
property bool _lightWidgetBorders: editorMap.isSatelliteMap
......@@ -168,6 +169,7 @@ QGCView {
if (visualItem.sequenceNumber == sequenceNumber) {
_currentMissionItem = visualItem
_currentMissionItem.isCurrentItem = true
_currentMissionIndex = i
} else {
visualItem.isCurrentItem = false
}
......@@ -485,6 +487,7 @@ QGCView {
model: controller.visualItems
cacheBuffer: height * 2
clip: true
currentIndex: _currentMissionIndex
highlightMoveDuration: 250
delegate: MissionItemEditor {
......@@ -506,16 +509,6 @@ QGCView {
}
onMoveHomeToMapCenter: controller.visualItems.get(0).coordinate = editorMap.center
Connections {
target: object
onIsCurrentItemChanged: {
if (object.isCurrentItem) {
editorListView.currentIndex = index
}
}
}
}
} // ListView
} // Item - Mission Item editor
......
......@@ -87,6 +87,7 @@ Rectangle {
visible: _expanded
width: parent.width - valueGrid.width - (_margins * 2)
clip: true
currentIndex: _currentMissionIndex
delegate: Item {
height: statusListView.height
......@@ -107,16 +108,6 @@ Rectangle {
label: object.abbreviation
visible: object.relativeAltitude ? true : (object.homePosition || graphAbsolute)
}
Connections {
target: object
onIsCurrentItemChanged: {
if (object.isCurrentItem) {
statusListView.currentIndex = index
}
}
}
}
}
}
......
import QtQuick 2.2
import QtQuick 2.5
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick.Dialogs 1.2
......@@ -13,21 +13,22 @@ import QGroundControl.Palette 1.0
Rectangle {
id: valuesRect
width: availableWidth
height: visible ? valuesItem.height : 0
height: deferedload.status == Loader.Ready ? (visible ? deferedload.item.height : 0) : 0
color: qgcPal.windowShadeDark
visible: missionItem.isCurrentItem
radius: _radius
// The following properties must be available up the hierachy chain
//property real availableWidth ///< Width for control
//property var missionItem ///< Mission Item for editor
Loader {
id: deferedload
active: valuesRect.visible
asynchronous: true
anchors.margins: _margin
anchors.left: valuesRect.left
anchors.right: valuesRect.right
anchors.top: valuesRect.top
sourceComponent: Component {
Item {
id: valuesItem
anchors.margins: _margin
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
height: valuesColumn.height + (_margin * 2)
Column {
......@@ -121,4 +122,6 @@ Rectangle {
}
} // Column
} // Item
} // Component
} // Loader
} // Rectangle
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment