diff --git a/meshroom/ui/qml/GraphEditor/StatViewer.qml b/meshroom/ui/qml/GraphEditor/StatViewer.qml
index 91e22468..ed25d577 100644
--- a/meshroom/ui/qml/GraphEditor/StatViewer.qml
+++ b/meshroom/ui/qml/GraphEditor/StatViewer.qml
@@ -310,220 +310,208 @@ Item {
*** CPU UI ***
**************************/
- ColumnLayout {
+ Button {
+ id: toggleCpuBtn
Layout.fillWidth: true
+ text: "Toggle CPU's"
+ state: "closed"
- Button {
- id: toggleCpuBtn
- Layout.fillWidth: true
- text: "Toggle CPU's"
- state: "closed"
+ onClicked: state === "opened" ? state = "closed" : state = "opened"
- onClicked: state === "opened" ? state = "closed" : state = "opened"
-
- MaterialLabel {
- text: MaterialIcons.arrow_drop_down
- font.pointSize: 14
- anchors.right: parent.right
- }
-
- states: [
- State {
- name: "opened"
- PropertyChanges { target: cpuBtnContainer; visible: true }
- PropertyChanges { target: toggleCpuBtn; down: true }
- },
- State {
- name: "closed"
- PropertyChanges { target: cpuBtnContainer; visible: false }
- PropertyChanges { target: toggleCpuBtn; down: false }
- }
- ]
+ MaterialLabel {
+ text: MaterialIcons.arrow_drop_down
+ font.pointSize: 14
+ anchors.right: parent.right
}
- Item {
- id: cpuBtnContainer
+ states: [
+ State {
+ name: "opened"
+ PropertyChanges { target: cpuBtnContainer; visible: true }
+ PropertyChanges { target: toggleCpuBtn; down: true }
+ },
+ State {
+ name: "closed"
+ PropertyChanges { target: cpuBtnContainer; visible: false }
+ PropertyChanges { target: toggleCpuBtn; down: false }
+ }
+ ]
+ }
- Layout.fillWidth: true
- implicitHeight: childrenRect.height
- Layout.leftMargin: 25
+ Item {
+ id: cpuBtnContainer
- RowLayout {
- width: parent.width
- anchors.horizontalCenter: parent.horizontalCenter
+ Layout.fillWidth: true
+ implicitHeight: childrenRect.height
+ Layout.leftMargin: 25
- ChartViewCheckBox {
- id: allCPU
- text: "ALL"
- color: textColor
- checkState: cpuLegend.buttonGroup.checkState
- leftPadding: 0
- onClicked: {
- var _checked = checked;
- for (var i = 0; i < cpuChart.count; ++i) {
- cpuChart.series(i).visible = _checked
- }
+ RowLayout {
+ width: parent.width
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ ChartViewCheckBox {
+ id: allCPU
+ text: "ALL"
+ color: textColor
+ checkState: cpuLegend.buttonGroup.checkState
+ leftPadding: 0
+ onClicked: {
+ var _checked = checked;
+ for (var i = 0; i < cpuChart.count; ++i) {
+ cpuChart.series(i).visible = _checked
}
}
-
- ChartViewLegend {
- id: cpuLegend
- Layout.fillWidth: true
- Layout.fillHeight: true
- chartView: cpuChart
- }
- }
- }
-
- InteractiveChartView {
- id: cpuChart
-
- Layout.fillWidth: true
- Layout.preferredHeight: width / 2
- margins.top: 0
- margins.bottom: 0
- antialiasing: true
-
- legend.visible: false
- theme: ChartView.ChartThemeLight
- backgroundColor: "transparent"
- plotAreaColor: "transparent"
- titleColor: textColor
-
- visible: (root.fileVersion > 0.0) // Only visible if we have valid information
- title: "CPU: " + root.nbCores + " cores, " + root.cpuFrequency + "MHz"
-
- ValueAxis {
- id: valueCpuY
- min: 0
- max: 100
- titleText: "%"
- color: textColor
- gridLineColor: textColor
- minorGridLineColor: textColor
- shadesColor: textColor
- shadesBorderColor: textColor
- labelsColor: textColor
}
- ValueAxis {
- id: valueCpuX
- min: 0
- max: root.deltaTime * Math.max(1, root.nbReads)
- titleText: "Minutes"
- color: textColor
- gridLineColor: textColor
- minorGridLineColor: textColor
- shadesColor: textColor
- shadesBorderColor: textColor
- labelsColor: textColor
+ ChartViewLegend {
+ id: cpuLegend
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ chartView: cpuChart
}
}
}
+ InteractiveChartView {
+ id: cpuChart
+
+ Layout.fillWidth: true
+ Layout.preferredHeight: width / 2
+ margins.top: 0
+ margins.bottom: 0
+ antialiasing: true
+
+ legend.visible: false
+ theme: ChartView.ChartThemeLight
+ backgroundColor: "transparent"
+ plotAreaColor: "transparent"
+ titleColor: textColor
+
+ visible: (root.fileVersion > 0.0) // Only visible if we have valid information
+ title: "CPU: " + root.nbCores + " cores, " + root.cpuFrequency + "MHz"
+
+ ValueAxis {
+ id: valueCpuY
+ min: 0
+ max: 100
+ titleText: "%"
+ color: textColor
+ gridLineColor: textColor
+ minorGridLineColor: textColor
+ shadesColor: textColor
+ shadesBorderColor: textColor
+ labelsColor: textColor
+ }
+
+ ValueAxis {
+ id: valueCpuX
+ min: 0
+ max: root.deltaTime * Math.max(1, root.nbReads)
+ titleText: "Minutes"
+ color: textColor
+ gridLineColor: textColor
+ minorGridLineColor: textColor
+ shadesColor: textColor
+ shadesBorderColor: textColor
+ labelsColor: textColor
+ }
+ }
/**************************
*** RAM UI ***
**************************/
- ColumnLayout {
+ InteractiveChartView {
+ id: ramChart
+ margins.top: 0
+ margins.bottom: 0
+ Layout.fillWidth: true
+ Layout.preferredHeight: width / 2
+ antialiasing: true
+ legend.color: textColor
+ legend.labelColor: textColor
+ legend.visible: false
+ theme: ChartView.ChartThemeLight
+ backgroundColor: "transparent"
+ plotAreaColor: "transparent"
+ titleColor: textColor
- InteractiveChartView {
- id: ramChart
- margins.top: 0
- margins.bottom: 0
- Layout.fillWidth: true
- Layout.preferredHeight: width / 2
- antialiasing: true
- legend.color: textColor
- legend.labelColor: textColor
- legend.visible: false
- theme: ChartView.ChartThemeLight
- backgroundColor: "transparent"
- plotAreaColor: "transparent"
- titleColor: textColor
+ visible: (root.fileVersion > 0.0) // Only visible if we have valid information
+ title: root.ramLabel + root.ramTotal + "GB"
- visible: (root.fileVersion > 0.0) // Only visible if we have valid information
- title: root.ramLabel + root.ramTotal + "GB"
+ ValueAxis {
+ id: valueRamY
+ min: 0
+ max: 100
+ titleText: "%"
+ color: textColor
+ gridLineColor: textColor
+ minorGridLineColor: textColor
+ shadesColor: textColor
+ shadesBorderColor: textColor
+ labelsColor: textColor
+ }
- ValueAxis {
- id: valueRamY
- min: 0
- max: 100
- titleText: "%"
- color: textColor
- gridLineColor: textColor
- minorGridLineColor: textColor
- shadesColor: textColor
- shadesBorderColor: textColor
- labelsColor: textColor
- }
-
- ValueAxis {
- id: valueRamX
- min: 0
- max: root.deltaTime * Math.max(1, root.nbReads)
- titleText: "Minutes"
- color: textColor
- gridLineColor: textColor
- minorGridLineColor: textColor
- shadesColor: textColor
- shadesBorderColor: textColor
- labelsColor: textColor
- }
+ ValueAxis {
+ id: valueRamX
+ min: 0
+ max: root.deltaTime * Math.max(1, root.nbReads)
+ titleText: "Minutes"
+ color: textColor
+ gridLineColor: textColor
+ minorGridLineColor: textColor
+ shadesColor: textColor
+ shadesBorderColor: textColor
+ labelsColor: textColor
}
}
-
/**************************
*** GPU UI ***
**************************/
- ColumnLayout {
+ InteractiveChartView {
+ id: gpuChart
- InteractiveChartView {
- id: gpuChart
+ Layout.fillWidth: true
+ Layout.preferredHeight: width/2
+ margins.top: 0
+ margins.bottom: 0
+ antialiasing: true
+ legend.color: textColor
+ legend.labelColor: textColor
+ theme: ChartView.ChartThemeLight
+ backgroundColor: "transparent"
+ plotAreaColor: "transparent"
+ titleColor: textColor
- Layout.fillWidth: true
- Layout.preferredHeight: width/2
- margins.top: 0
- margins.bottom: 0
- antialiasing: true
- legend.color: textColor
- legend.labelColor: textColor
- theme: ChartView.ChartThemeLight
- backgroundColor: "transparent"
- plotAreaColor: "transparent"
- titleColor: textColor
+ visible: (root.fileVersion >= 2.0) // No GPU information was collected before stats 2.0 fileVersion
+ title: (root.gpuName || root.gpuTotalMemory) ? ("GPU: " + root.gpuName + ", " + root.gpuTotalMemory + "MB") : "No GPU"
- visible: (root.fileVersion >= 2.0) // No GPU information was collected before stats 2.0 fileVersion
- title: (root.gpuName || root.gpuTotalMemory) ? ("GPU: " + root.gpuName + ", " + root.gpuTotalMemory + "MB") : "No GPU"
+ ValueAxis {
+ id: valueGpuY
+ min: 0
+ max: root.gpuMaxAxis
+ titleText: "%, °C"
+ color: textColor
+ gridLineColor: textColor
+ minorGridLineColor: textColor
+ shadesColor: textColor
+ shadesBorderColor: textColor
+ labelsColor: textColor
+ }
- ValueAxis {
- id: valueGpuY
- min: 0
- max: root.gpuMaxAxis
- titleText: "%, °C"
- color: textColor
- gridLineColor: textColor
- minorGridLineColor: textColor
- shadesColor: textColor
- shadesBorderColor: textColor
- labelsColor: textColor
- }
-
- ValueAxis {
- id: valueGpuX
- min: 0
- max: root.deltaTime * Math.max(1, root.nbReads)
- titleText: "Minutes"
- color: textColor
- gridLineColor: textColor
- minorGridLineColor: textColor
- shadesColor: textColor
- shadesBorderColor: textColor
- labelsColor: textColor
- }
+ ValueAxis {
+ id: valueGpuX
+ min: 0
+ max: root.deltaTime * Math.max(1, root.nbReads)
+ titleText: "Minutes"
+ color: textColor
+ gridLineColor: textColor
+ minorGridLineColor: textColor
+ shadesColor: textColor
+ shadesBorderColor: textColor
+ labelsColor: textColor
}
}
}