Files
metabuilder/qml/MetaBuilder/MediaJobTable.qml
johndoe6345789 8616221b01 refactor(qt6): more components under 100 LOC — ThemeColorField, CTransferForm, SchemaFieldRow, etc
5 components split under 100:
- ThemeColorTokens (145→71): ThemeColorField extracted
- CTransferTab (144→92): CTransferForm extracted
- CConnectionTest (135→68): CServiceConnectionRow extracted
- CDataTable (134→94): CTableEmptyState extracted
- SchemaFieldsTable (129→86): SchemaFieldRow extracted

5 left at 128-143 — no clean 30+ line seams remaining.

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

55 lines
1.5 KiB
QML

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QmlComponents 1.0
CCard {
id: jobTable
Layout.fillWidth: true
property var jobs: []
signal cancelRequested(string jobId)
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
spacing: 12
FlexRow {
Layout.fillWidth: true
spacing: 12
CText { variant: "h4"; text: "Active Jobs" }
CText { variant: "caption"; text: jobs.length + " total"; color: Theme.textSecondary }
}
CDivider { Layout.fillWidth: true }
FlexRow {
Layout.fillWidth: true
spacing: 8
CText { variant: "caption"; text: "ID"; Layout.preferredWidth: 100 }
CText { variant: "caption"; text: "Type"; Layout.preferredWidth: 80 }
CText { variant: "caption"; text: "Status"; Layout.preferredWidth: 100 }
CText { variant: "caption"; text: "Progress"; Layout.fillWidth: true }
CText { variant: "caption"; text: "Created"; Layout.preferredWidth: 160 }
CText { variant: "caption"; text: ""; Layout.preferredWidth: 70 }
}
CDivider { Layout.fillWidth: true }
Repeater {
model: jobs
delegate: MediaJobRow {
Layout.fillWidth: true
job: modelData
isLast: index >= jobs.length - 1
onCancelRequested: jobTable.cancelRequested(modelData.id)
}
}
}
}