import QtQuick 2.0 import QtQuick.Controls 2.4 DataListView { id: control property var listData: ({}) model: listData[ root.listKey ] === undefined ? 0:listData[ root.listKey ].length delegate: ItemDelegate { id: partDel property var thisData: listData[ "participants" ][index] width: parent.width opacity: 0 scale: 0.9 onThisDataChanged: { fadeInPa.start() } ParallelAnimation { id: fadeInPa NumberAnimation { target: partDel; property: "opacity"; from: 0; to: 1.0; duration: 400 } NumberAnimation { target: partDel; property: "scale"; from: 0.8; to: 1.0; duration: 400 } } text: "" Row { id: partDelFirstRow width: parent.width height: parent.height Label { height: parent.height width: parent.width * 0.1 fontSizeMode: Text.Fit font.bold: true font.pixelSize: Math.abs( height * 0.6 ) verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter text: listData[ "participants" ][index]["start_order"] } Label { height: parent.height width: parent.width * 0.5 fontSizeMode: Text.Fit font.bold: true font.pixelSize: Math.abs( height * 0.45 ) verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignLeft minimumPixelSize: 1 text: listData[ "participants" ][index]["firstname"] + " " + listData[ "participants" ][index]["lastname"] } Label { height: parent.height width: parent.width * 0.3 fontSizeMode: Text.Fit font.bold: false font.pixelSize: Math.abs( height * 0.4 ) minimumPixelSize: height * 0.3 elide: "ElideRight" verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter text: "(" + (listData[ "display_athlete" ] === "nation" ? listData[ "participants" ][index]["nation"] : listData[ "participants" ][index]["federation"]) + ")" onLinkActivated: { Qt.openUrlExternally(link) } } } } }