feat(tabs): update all tab views, dialogs, and session controller

This commit is contained in:
jack
2026-06-29 14:58:10 -07:00
parent db21f201f6
commit 5105ab1ab6
10 changed files with 507 additions and 307 deletions
+25 -17
View File
@@ -24,9 +24,11 @@ Dialog {
property int selectedRow: -1
property int metadataEditRow: -1
readonly property string masterTypeFieldText: {
if (metadataEditRow < 0) return "";
if (metadataEditRow < 0)
return "";
const rec = tableModel[metadataEditRow];
if (!rec) return "";
if (!rec)
return "";
return rec.masterType ?? "";
}
@@ -42,7 +44,7 @@ Dialog {
chamberField.text = rec.chamber ?? "";
if (!chamberField.text && settingsModel.chamberId)
chamberField.text = settingsModel.chamberId;
notesField.text = rec.notes ?? "";
notesField.text = rec.notes ?? "";
filePathLabel.text = rec.fileName ?? "";
metadataEditDialog.open();
}
@@ -76,7 +78,7 @@ Dialog {
readonly property var normalizedRows: {
// Touch settingsModel.masters so QML tracks this dependency.
const _ = settingsModel.masters;
return (tableModel || []).map(function(row) {
return (tableModel || []).map(function (row) {
row = row || {};
// settingsModel is the authoritative source; fall back to sidecar masterType.
const masterType = root.masterFamilyForPath(row.fileName ?? "") || row.masterType || "";
@@ -113,7 +115,7 @@ Dialog {
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
font.bold: true
font.pixelSize: 13
font.pixelSize: Theme.fontSm
}
}
@@ -129,6 +131,12 @@ Dialog {
color: Theme.fieldBackground
border.width: dialogTextInput.activeFocus ? Theme.borderStrong : Theme.borderThin
border.color: dialogTextInput.activeFocus ? Theme.fieldBorderFocus : Theme.fieldBorder
Behavior on color {
ColorAnimation { duration: Theme.durationFast }
}
Behavior on border.color {
ColorAnimation { duration: Theme.durationFast }
}
}
}
@@ -163,7 +171,7 @@ Dialog {
anchors.left: parent.left
anchors.leftMargin: 16
text: root.title
font.pixelSize: 15
font.pixelSize: Theme.fontLg
font.bold: true
color: Theme.headingColor
}
@@ -221,7 +229,7 @@ Dialog {
text: file_browser.currentDirectory
color: Theme.fieldText
elide: Text.ElideMiddle
font.pixelSize: 13
font.pixelSize: Theme.fontSm
}
}
}
@@ -242,7 +250,7 @@ Dialog {
anchors.centerIn: parent
text: root.headerTitles[index] ?? ""
font.bold: true
font.pixelSize: 12
font.pixelSize: Theme.fontSm
color: Theme.headingColor
}
}
@@ -329,7 +337,7 @@ Dialog {
const mt = root.normalizedRows[row]?.masterType ?? "";
return mt || "—";
}
font.pixelSize: 14
font.pixelSize: Theme.fontMd
font.bold: true
color: {
const mt = root.normalizedRows[row]?.masterType ?? "";
@@ -346,7 +354,7 @@ Dialog {
sourceComponent: Button {
hoverEnabled: true
text: "Edit…"
font.pixelSize: 12
font.pixelSize: Theme.fontSm
onClicked: root.openMetadataEditor(row)
background: Rectangle {
@@ -361,7 +369,7 @@ Dialog {
color: Theme.buttonNeutralText
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pixelSize: 12
font.pixelSize: Theme.fontSm
}
}
}
@@ -388,7 +396,7 @@ Dialog {
return "";
}
elide: Text.ElideRight
font.pixelSize: 13
font.pixelSize: Theme.fontSm
color: Theme.bodyColor
}
}
@@ -409,12 +417,12 @@ Dialog {
return record.notes ?? "";
}
elide: Text.ElideRight
font.pixelSize: 13
font.pixelSize: Theme.fontSm
color: Theme.bodyColor
}
}
MouseArea {
MouseArea {
anchors.fill: parent
enabled: column !== 6
onClicked: {
@@ -456,7 +464,7 @@ Dialog {
verticalAlignment: Text.AlignVCenter
text: root.selectedPath
elide: Text.ElideLeft
font.pixelSize: 13
font.pixelSize: Theme.fontSm
color: root.selectedPath ? Theme.fieldText : Theme.fieldPlaceholder
}
}
@@ -504,7 +512,7 @@ Dialog {
anchors.left: parent.left
anchors.leftMargin: 16
text: metadataEditDialog.title
font.pixelSize: 15
font.pixelSize: Theme.fontLg
font.bold: true
color: Theme.headingColor
}
@@ -530,7 +538,7 @@ Dialog {
maximumLineCount: 3
elide: Text.ElideRight
color: Theme.bodyColor
font.pixelSize: 12
font.pixelSize: Theme.fontSm
}
Label {