Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Tools/rme-playback/simulator/SideBar_Component.qml
T
torsten d5c13033e2 Session 022: Migrate Lts/Tools (72 submodules) to Qt6
- Copied complete Lts/Tools directory from qt5-before to qt6-after
- Updated 32 CMakeLists.txt files (Qt5:: → Qt6::)
- Tools subdirectory already included in parent Lts/CMakeLists.txt
- All 72 tool submodules now present in qt6-migrated-legatus
- Includes: Adler, ArAssets, ConfigX, DBAdministration, DBUpdate,
  DdsView, InfrastructureManagement, and 67 more tools
- C++17 standard (RTI 7.7.0 compatibility maintained)
- Tests deferred until final validation phase

Migration progress:
✅ Lts/Application (68 files)
✅ Lts/DDS (verified Qt6-ready)
✅ Lts/Plugins (60 submodules, verified)
✅ Lts/Projects (5 submodules, verified)
✅ Lts/Proxies (13 submodules, verified)
✅ Lts/Services (47 submodules, verified)
✅ Lts/Tools (72 submodules, copied + CMake updated)
✅ Lts/Viewer (LtsFileDialog, LtsReportDisplay, SituationMap)
🟡 TetraIF (partial)
🟡 Z (partial: nglwidgets, QtSingleApplication, qsql_informix, WMS_Interface)
2026-08-25 14:07:20 +02:00

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
})
}
}
}
}