Refactor message block model to use root.messageBlocks

This commit is contained in:
菜叶片(ItsSunshineXD)
2025-11-14 13:22:09 +08:00
committed by GitHub
parent b5ccddf34d
commit c369db75eb
@@ -285,48 +285,34 @@ Rectangle {
}
}
}
Repeater {
model: ScriptModel {
values: Array.from({ length: root.messageBlocks.length }, (msg, i) => {
return ({
type: root.messageBlocks[i].type
})
});
}
model: root.messageBlocks
delegate: DelegateChooser {
id: messageDelegate
role: "type"
DelegateChoice { roleValue: "code"; MessageCodeBlock {
required property int index
property var thisBlock: root.messageBlocks[index]
editing: root.editing
renderMarkdown: root.renderMarkdown
enableMouseSelection: root.enableMouseSelection
segmentContent: thisBlock.content
segmentLang: thisBlock.lang
segmentContent: modelData.content
segmentLang: modelData.lang
messageData: root.messageData
} }
DelegateChoice { roleValue: "think"; MessageThinkBlock {
required property int index
property var thisBlock: root.messageBlocks[index]
editing: root.editing
renderMarkdown: root.renderMarkdown
enableMouseSelection: root.enableMouseSelection
segmentContent: thisBlock.content
segmentContent: modelData.content
messageData: root.messageData
done: root.messageData?.done ?? false
completed: thisBlock.completed ?? false
completed: modelData.completed ?? false
} }
DelegateChoice { roleValue: "text"; MessageTextBlock {
required property int index
property var thisBlock: root.messageBlocks[index]
editing: root.editing
renderMarkdown: root.renderMarkdown
enableMouseSelection: root.enableMouseSelection
segmentContent: thisBlock.content
segmentContent: modelData.content
messageData: root.messageData
done: root.messageData?.done ?? false
forceDisableChunkSplitting: root.messageData?.content.includes("```") ?? true