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
+31 -21
View File
@@ -1,7 +1,6 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.TableView
import ISC
// ===== Data Tab =====
@@ -18,7 +17,7 @@ Item {
target: deviceController
function onParsedDataReady(result) {
if (result && result.success) {
dataTable.forceLayout()
dataTable.forceLayout();
}
}
}
@@ -31,7 +30,7 @@ Item {
Label {
text: "No Data"
font.pixelSize: 24
font.pixelSize: Theme.font2xl
font.bold: true
color: Theme.headingColor
anchors.horizontalCenter: parent.horizontalCenter
@@ -39,7 +38,7 @@ Item {
Label {
text: "Read and parse wafer data to see temperature readings here."
font.pixelSize: 14
font.pixelSize: Theme.fontMd
color: Theme.bodyColor
anchors.horizontalCenter: parent.horizontalCenter
wrapMode: Text.WordWrap
@@ -60,17 +59,18 @@ Item {
Label {
text: "Temperature Data"
font.pixelSize: 18
font.pixelSize: Theme.fontXl
font.bold: true
color: Theme.headingColor
}
Item { Layout.fillWidth: true }
Item {
Layout.fillWidth: true
}
Label {
text: deviceController.dataRowCount + " rows × " +
deviceController.dataColCount + " sensors"
font.pixelSize: 13
text: deviceController.dataRowCount + " rows × " + deviceController.dataColCount + " sensors"
font.pixelSize: Theme.fontSm
color: Theme.bodyColor
}
}
@@ -82,7 +82,8 @@ Item {
Button {
text: "Open in Excel"
icon.source: "icon/excel.svg"
icon.source: "icons/excel.svg"
icon.color: Theme.headingColor
onClicked: deviceController.openCsvFile()
}
@@ -96,7 +97,9 @@ Item {
onClicked: splitDialog.open()
}
Item { Layout.fillWidth: true}
Item {
Layout.fillWidth: true
}
}
// --- Table container ---
Rectangle {
@@ -131,7 +134,7 @@ Item {
// 'display' is the Qt.DisplayRole value from headerData()
text: display !== undefined ? display : ""
color: Theme.headingColor
font.pixelSize: 11
font.pixelSize: Theme.fontXs
font.bold: true
elide: Text.ElideRight
}
@@ -147,14 +150,17 @@ Item {
clip: true
reuseItems: true
columnWidthProvider: function(col) {
if (col === 0) return 52 // row index column
const sensorCols = Math.max(1, dataTable.columns - 1)
const available = dataTable.width - 52
return Math.max(52, Math.min(90, available / sensorCols))
columnWidthProvider: function (col) {
if (col === 0)
return 52; // row index column
const sensorCols = Math.max(1, dataTable.columns - 1);
const available = dataTable.width - 52;
return Math.max(52, Math.min(90, available / sensorCols));
}
rowHeightProvider: function() { return 24 }
rowHeightProvider: function () {
return 24;
}
delegate: Rectangle {
color: row % 2 === 0 ? Theme.panelBackground : Theme.cardBackground
@@ -163,13 +169,17 @@ Item {
anchors.centerIn: parent
text: display !== undefined ? display : ""
color: Theme.bodyColor
font.pixelSize: 11
font.pixelSize: Theme.fontXs
elide: Text.ElideRight
}
}
ScrollBar.horizontal: ScrollBar { policy: ScrollBar.AsNeeded }
ScrollBar.vertical: ScrollBar { policy: ScrollBar.AsNeeded }
ScrollBar.horizontal: ScrollBar {
policy: ScrollBar.AsNeeded
}
ScrollBar.vertical: ScrollBar {
policy: ScrollBar.AsNeeded
}
}
}
}