vlc | branch: master | Pierre Lamot <pie...@videolabs.io> | Thu Aug 8 17:01:20 2019 +0200| [b7dffda9616c167f943bbadf3842c0c3dde1f401] | committer: Jean-Baptiste Kempf
qml: only load the expand gridview content on request. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b7dffda9616c167f943bbadf3842c0c3dde1f401 --- modules/gui/qt/qml/utils/ExpandGridView.qml | 30 +++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/modules/gui/qt/qml/utils/ExpandGridView.qml b/modules/gui/qt/qml/utils/ExpandGridView.qml index 2af03ce865..f5eaa96113 100644 --- a/modules/gui/qt/qml/utils/ExpandGridView.qml +++ b/modules/gui/qt/qml/utils/ExpandGridView.qml @@ -99,7 +99,17 @@ NavigableFocusScope { } property variant model - property Item expandItem: root.expandDelegate.createObject(contentItem, {"height": 0}) + property alias expandItem: expandItemLoader.item + //root.expandDelegate.createObject(contentItem, {"height": 0}) + Loader { + id: expandItemLoader + sourceComponent: expandDelegate + active: root._expandIndex !== -1 + focus: active + onLoaded: item.height = 0 + } + + anchors.fill: parent onWidthChanged: { layout() } onHeightChanged: { layout() } @@ -221,7 +231,8 @@ NavigableFocusScope { item.visible = true } - expandItem.y = getItemPos(expandItemGridId)[1] + if (root._expandIndex !== -1) + expandItem.y = getItemPos(expandItemGridId)[1] // Place the delegates after the expandItem for (i = topGridEndId; i < lastId; ++i) { @@ -247,7 +258,8 @@ NavigableFocusScope { onChanged: { // Hide the expandItem with no animation _expandIndex = -1 - flickable.expandItem.height = 0 + + //flickable.expandItem.height = 0 // Regenerate the gridview layout flickable.layout() } @@ -284,6 +296,8 @@ NavigableFocusScope { function expand() { _expandIndex = _newExpandIndex + if (_expandIndex === -1) + return expandItem.model = model.items.get(_expandIndex).model /* We must also start the expand animation here since the expandItem implicitHeight is not changed if it had the same height at previous opening. */ @@ -291,6 +305,9 @@ NavigableFocusScope { } function expandAnimation() { + if (_expandIndex === -1) + return + var expandItemHeight = flickable.expandItem.implicitHeight; // Expand animation @@ -347,13 +364,6 @@ NavigableFocusScope { from: 0 } - Binding { - target: flickable.expandItem - property: "visible" - value: flickable.expandItem.height > 0 - delayed: true - } - function setCurrentItemFocus() { var child if (currentIndex in idChildrenMap) _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits