import QtQuick 2.9 import QtQuick.Controls 2.4 Item { id: control ScrollView { id:scroll anchors.fill: parent ListView { id: listView //width: 514 model: _cppServerConn.getEventCount() spacing: 0 property var today: new Date anchors { right: parent.right left: parent.left top: parent.top bottom: parent.bottom leftMargin: 5 rightMargin: 5 topMargin: 3 } delegate: Button { width: listView.width id: delegate height: visible ? cookteam.height + date.height + text.height + cust_spacing*9 + 5:0 visible: listView.isDayVisible(index) property int cust_spacing: 5 Label { anchors.left: parent.left anchors.leftMargin: 10 anchors.top: parent.top anchors.topMargin: 10 font.bold: true font.pixelSize: date.font.pixelSize * 1.5 id: cookteam text: _cppServerConn.getEventData(index).grade width: parent.width - 10 wrapMode: Label.Wrap height: text!==""? undefined:0 } Label { anchors.left: parent.left anchors.leftMargin: 10 anchors.top: cookteam.bottom id: date text: _cppServerConn.getEventData(index).hour + " | " + _cppServerConn.getEventData(index).replace + " | " + _cppServerConn.getEventData(index).subject + " | " + _cppServerConn.getEventData(index).room + " | " width: parent.width - 10 wrapMode: Label.Wrap } Label { anchors.left: parent.left anchors.leftMargin: 10 anchors.top: date.bottom anchors.topMargin: cust_spacing font.pixelSize: date.font.pixelSize * 2 font.bold: true id: text text: _cppServerConn.getEventData(index).to + " " + _cppServerConn.getEventData(index).text } } function getDateString(index){ var date = _cppServerConn.getEventData(index).date console.log(date.getTime()) console.log(today.getTime()) if(date.getDate() === today.getDate()){ return("Heute") } else if(date.getTime() < (today.getTime() + (24 * 60 * 60 * 1000) )/*date.getDate() === today.getDate() + 1 || (date.getDate() === 1 && date.getMonth() === today.getMonth() + 1)*/){ return("Morgen") } else { return(Qt.formatDateTime(_cppServerConn.getEventData(index).date, "dddd, d.M.yy")) } } function isDayVisible(index){ return(true) } } } }