103 lines
3.2 KiB
QML
Executable File
103 lines
3.2 KiB
QML
Executable File
import QtQuick
|
|
import QtQuick.Controls
|
|
|
|
Rectangle {
|
|
id: replaySidebar
|
|
width: parent.width * 1 / 4
|
|
height: parent.height
|
|
|
|
Column {
|
|
anchors.fill: parent
|
|
spacing: 10
|
|
padding: 10
|
|
|
|
Button {
|
|
text: "Add Replay"
|
|
onClicked: {
|
|
addItemDialog.open()
|
|
}
|
|
width: parent.width - 20
|
|
}
|
|
|
|
ListView {
|
|
id: listView
|
|
width: parent.width - 20
|
|
height: parent.height
|
|
model: itemList
|
|
|
|
delegate: Item {
|
|
width: listView.width
|
|
height: 40
|
|
|
|
Rectangle {
|
|
id: background
|
|
color: model.selected ? "lightblue" : "white" // Change color if selected
|
|
anchors.fill: parent
|
|
border.color: "gray"
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: {
|
|
// Deselect all items first
|
|
for (var i = 0; i < itemList.count; i++) {
|
|
itemList.setProperty(i, "selected",
|
|
false) // Deselect
|
|
}
|
|
// Select the clicked item
|
|
model.selected = true // Select this item
|
|
console.log(model.uuid)
|
|
replay_uuid = model.uuid // Assuming replay_uuid is declared elsewhere
|
|
|
|
for (var j = 0; j < markers.length; j++) {
|
|
markers[j].visible = false // Unsichtbar machen
|
|
markers[j].parent = null // Parent entfernen
|
|
markers[j].destroy() // Objekt zerstören
|
|
}
|
|
markers = [] // Leere das Marker-Array
|
|
}
|
|
}
|
|
}
|
|
Button {
|
|
text: "Delete"
|
|
width: 80
|
|
padding: 10
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.right: parent.right
|
|
background: Rectangle {
|
|
color: "red"
|
|
}
|
|
|
|
onClicked: {
|
|
logic.replayHelper.deleteReplay(model.uuid)
|
|
}
|
|
}
|
|
Text {
|
|
text: model.name
|
|
color: "black"
|
|
anchors.centerIn: parent
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
logic.replayHelper.fetchReplays()
|
|
}
|
|
|
|
Connections {
|
|
target: logic.replayHelper
|
|
|
|
function onReplaysFetched(replays) {
|
|
itemList.clear()
|
|
for (var i = 0; i < replays.length; i++) {
|
|
itemList.append({
|
|
"name": replays[i].name,
|
|
"uuid": replays[i].uuid,
|
|
"time_created": replays[i].time_created,
|
|
"selected": false
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|