dorian
c6e1e12cfe
- now using QAbstractItem model - added error handling so the app doesn't crash anymore when the data is invalid
97 lines
3.3 KiB
QML
97 lines
3.3 KiB
QML
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)
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|