feat(tabs): update all tab views, dialogs, and session controller
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user