Add integrated chat minimap

This commit is contained in:
Levi Neely 2026-08-16 14:43:14 +02:00
parent b0e46fdfbc
commit 183f30ca23
1 changed files with 37 additions and 2 deletions

View File

@ -124,13 +124,48 @@ Item {
anchors.margins: 4 anchors.margins: 4
visible: ollie.daemonConnected && ollie.activeAgentId !== "" visible: ollie.daemonConnected && ollie.activeAgentId !== ""
Component.onCompleted: chatPane.scrollToBottom()
delegate: ChatBlockDelegate { delegate: ChatBlockDelegate {
width: chatView.width - 8 width: chatView.width - 8
} }
} }
// Chat overview and navigation minimap
Rectangle {
id: chatMinimap
anchors.top: chatView.top
anchors.right: parent.right
anchors.bottom: chatView.bottom
width: 24
color: Qt.rgba(theme.midColor.r, theme.midColor.g, theme.midColor.b, 0.05)
visible: chatView.visible && chatModel.count > 0
Column {
anchors.fill: parent
spacing: 1
Repeater {
model: chatModel
Rectangle {
width: chatMinimap.width
height: Math.max(2, chatMinimap.height / Math.max(1, chatModel.count) - 1)
color: {
switch (model.blockType) {
case "user": return "#4caf50"
case "assistant": return "#2196f3"
case "error": return "#f44336"
case "tool": return "#ff9800"
default: return theme.midColor
}
}
}
}
}
MouseArea {
anchors.fill: parent
onClicked: chatView.positionViewAtIndex(
Math.floor(mouse.y / height * chatModel.count), ListView.Beginning)
}
}
Button { Button {
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom anchors.bottom: parent.bottom