Files
metabuilder/qml/MetaBuilder/LuaOutputConsole.qml
johndoe6345789 311fb4db38 refactor(qt6): deep split round — targeting 200 LOC views, 100 LOC components
SuperGodPanel (604→~200): CTenantTab, CGodUsersTab, CTransferTab, CSystemTab, CSuperGodDialogs
WorkflowEditor (443→325): WorkflowMutations.js + WorkflowDBAL.js pure modules
ThemeLivePreview (256→87): ThemePreviewCard, ThemePreviewForm
CNodePropertiesPanel (238→143): CNodeParameterList, CNodePortsDisplay
MediaTvTab, WorkflowNode, CssPropertyEditor split to ~100 each
+ mid-size view trims (MediaService, Admin, PackageMgr, Storybook, GodPanel)

113→120+ components, avg component LOC approaching 90.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:42:51 +00:00

68 lines
1.9 KiB
QML

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QmlComponents 1.0
ColumnLayout {
id: outputConsole
Layout.fillWidth: true
Layout.fillHeight: true
spacing: 8
property string testOutput: ""
property string securityScanResult: ""
signal clearOutput()
FlexRow {
Layout.fillWidth: true
CText { variant: "h4"; text: "Output" }
Item { Layout.fillWidth: true }
CButton {
text: "Clear"
variant: "ghost"
onClicked: outputConsole.clearOutput()
}
}
Rectangle {
Layout.fillWidth: true
Layout.fillHeight: true
color: "#1e1e2e"
radius: 4
border.color: "#313244"
border.width: 1
ScrollView {
anchors.fill: parent
anchors.margins: 8
clip: true
TextArea {
readOnly: true
text: {
var output = "";
if (testOutput) output += testOutput;
if (securityScanResult) {
if (output) output += "\n\n";
output += "--- Security Scan ---\n" + securityScanResult;
}
if (!output) output = "No output yet. Run a test or security scan.";
return output;
}
font.family: "Consolas, 'Courier New', monospace"
font.pixelSize: 12
color: {
if (securityScanResult && securityScanResult.indexOf("WARN") !== -1)
return "#f9e2af";
if (testOutput && testOutput.indexOf("SUCCESS") !== -1)
return "#a6e3a1";
return "#a6adc8";
}
wrapMode: TextEdit.Wrap
background: Rectangle { color: "transparent" }
}
}
}
}