/* blueROCK - for digital rock Copyright (C) 2019 Dorian Zedler This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ import QtQuick 2.9 import QtQuick.Controls 2.4 import "../Components" DataListView { id: control property var widgetData: ({}) model: widgetData[ root.listKey ] === undefined ? 0:widgetData[ root.listKey ].length delegate: ItemDelegate { id: partDel property var thisData: widgetData[ "athletes" ][index] width: parent.width height: parseInt(thisData.cat) === root.catId ? undefined:0 opacity: 0 scale: 0.9 onThisDataChanged: { fadeInPa.start() } onClicked: { app.openAthlete(thisData["PerId"]) } 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: "" Label { anchors.fill: parent anchors.leftMargin: parent.width * 0.05 verticalAlignment: Text.AlignVCenter fontSizeMode: Text.Fit font.bold: true font.pixelSize: Math.abs( height * 0.4 ) minimumPixelSize: height * 0.3 elide: "ElideRight" text: control.getText(index) } } function getText(index){ // ---------------------------- // if we have registration data var fedName // federation name if(widgetData["federations"] !== undefined){ // not an international competition -> get name of federation for(var i = 0; i < widgetData["federations"].length; i ++ ){ //console.log("checking " + i + ": cat: " + parseInt(widgetData["categorys"][i]["GrpId"]) + " searched cat: " + root.catId) if(widgetData["federations"][i]["fed_id"] === widgetData[ root.listKey ][index]["reg_fed_id"]){ fedName = widgetData["federations"][i]["shortcut"] } } } else { // an international competition -> get nation fedName = widgetData[ root.listKey ][index]["nation"] } return widgetData[ "athletes" ][index]["firstname"] + " " + widgetData[ "athletes" ][index]["lastname"] + " (" + fedName + ")" } }