clide/qml/ClideLogger.qml

59 lines
1.3 KiB
QML

// SPDX-FileCopyrightText: 2026, Shaun Reed <shaunrd0@gmail.com>
//
// SPDX-License-Identifier: GNU General Public License v3.0 or later
import QtQuick
import QtQuick.Controls
import clide.module 1.0
import Logger 1.0
Item {
ListModel { id: model }
Rectangle {
anchors.fill: parent
color: "#111"
}
ListView {
id: listView
anchors.fill: parent
model: model
clip: true
function getLogColor(level) {
switch (level) {
case "INFO":
return RustColors.info_log
break;
case "DEBUG":
return RustColors.debug_log
break;
case "WARN":
return RustColors.warn_log
break;
case "ERROR":
return RustColors.error_log
break;
default:
return RustColors.info_log
break;
}
}
delegate: Text {
text: `[${level}] ${message}`
font.family: "monospace"
color: listView.getLogColor(level)
}
}
Connections {
target: Logger
function onLogged(level, message) {
model.append({ level, message })
}
}
}