summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNedim Hadzic <nedim.hadzic@pelagicore.com>2016-11-25 06:50:00 +0100
committerNedim Hadzic <nedim.hadzic@pelagicore.com>2016-12-08 12:47:04 +0000
commitfd18dcbb9f53eb3948da890704530007327c476f (patch)
treecd5bb08024665f47d83b84826fdf49bcfe5bb2dd
parent21066f75ee05302fb960a57952e41aeb1d6dc4a4 (diff)
downloadneptune-ui-fd18dcbb9f53eb3948da890704530007327c476f.tar.gz
Moved development related files to dev folder
Grouped development and monitoring files to special file within the sysui folder. All development visual elements will be loaded on demand: SystemMonitor from the settings page and the ToolBarMonitor. FpsMonitor is now part of the ToolbarMonitor. Change-Id: I7eeebf70c4c6046c989e99c16031ca2811bc781b Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
-rw-r--r--sysui/Cloud/Settings/SettingsScreen.qml8
-rw-r--r--sysui/Display.qml20
-rw-r--r--sysui/FpsMonitor.qml143
-rw-r--r--sysui/dev/CpuMonitor.qml64
-rw-r--r--sysui/dev/FpsMonitor.qml85
-rw-r--r--sysui/dev/MonitorPanel.qml119
-rw-r--r--sysui/dev/RamMonitor.qml64
-rw-r--r--sysui/dev/SystemMonitor/AppPanel.qml (renamed from sysui/Cloud/Settings/SystemMonitor/AppPanel.qml)6
-rw-r--r--sysui/dev/SystemMonitor/CPUGraph.qml (renamed from sysui/Cloud/Settings/SystemMonitor/CPUGraph.qml)6
-rw-r--r--sysui/dev/SystemMonitor/InfoPanel.qml (renamed from sysui/Cloud/Settings/SystemMonitor/InfoPanel.qml)0
-rw-r--r--sysui/dev/SystemMonitor/MainScreen.qml (renamed from sysui/Cloud/Settings/SystemMonitor/MainScreen.qml)7
-rw-r--r--sysui/dev/SystemMonitor/MemoryGraph.qml (renamed from sysui/Cloud/Settings/SystemMonitor/MemoryGraph.qml)7
-rw-r--r--sysui/dev/SystemMonitor/SystemPanel.qml (renamed from sysui/Cloud/Settings/SystemMonitor/SystemPanel.qml)0
-rw-r--r--sysui/dev/ToolBarMonitor.qml100
14 files changed, 462 insertions, 167 deletions
diff --git a/sysui/Cloud/Settings/SettingsScreen.qml b/sysui/Cloud/Settings/SettingsScreen.qml
index d96fe62..db8dea9 100644
--- a/sysui/Cloud/Settings/SettingsScreen.qml
+++ b/sysui/Cloud/Settings/SettingsScreen.qml
@@ -36,7 +36,6 @@ import controls 1.0
import utils 1.0
import service.settings 1.0
import models 1.0
-import "SystemMonitor/"
import utils 1.0
UIElement {
@@ -86,11 +85,6 @@ UIElement {
Loader {
id: systemMonitorLoader
active: false
- sourceComponent: Component {
- MainScreen {
- id: systemMonitor
- visible: false
- }
- }
+ source: "../../dev/SystemMonitor/MainScreen.qml"
}
}
diff --git a/sysui/Display.qml b/sysui/Display.qml
index ae60c3a..1ee018c 100644
--- a/sysui/Display.qml
+++ b/sysui/Display.qml
@@ -69,9 +69,7 @@ Item {
root.state = "statusBarExpanded"
}
}
- onTimePressAndHold: {
- fpsMonitor.visible = !fpsMonitor.visible
- }
+ onTimePressAndHold: toolBarMonitorLoader.active = !toolBarMonitorLoader.active
}
Item {
@@ -130,15 +128,15 @@ Item {
}
}
- FpsMonitor {
- id: fpsMonitor
- x: 0
- y: 0
- width: Style.hspan(4)
- height: Style.vspan(2)
- visible: false
- opacity: 0.8
+ Loader {
+ id: toolBarMonitorLoader
+ width: parent.width
+ height: 200
+ anchors.bottom: parent.bottom
+ active: false
+ source: "dev/ToolBarMonitor.qml"
}
+
}
NotificationContainer {
diff --git a/sysui/FpsMonitor.qml b/sysui/FpsMonitor.qml
deleted file mode 100644
index 80f08b4..0000000
--- a/sysui/FpsMonitor.qml
+++ /dev/null
@@ -1,143 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Pelagicore AG
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Neptune IVI UI.
-**
-** $QT_BEGIN_LICENSE:GPL-QTAS$
-** Commercial License Usage
-** Licensees holding valid commercial Qt Automotive Suite licenses may use
-** this file in accordance with the commercial license agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and The Qt Company. For
-** licensing terms and conditions see https://www.qt.io/terms-conditions.
-** For further information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-** SPDX-License-Identifier: GPL-3.0
-**
-****************************************************************************/
-
-import QtQuick 2.1
-import QtApplicationManager 1.0
-
-
-Rectangle {
- id: root
- color: "white"
-
- property int currentFps: 0
-
- Connections {
- target: SystemMonitor
- onFpsReportingChanged: { root.currentFps = Math.floor(average) }
- }
-
- onVisibleChanged: {
- SystemMonitor.reportingInterval = 200
- SystemMonitor.reportingRange = 10 * 1000
- SystemMonitor.fpsReportingEnabled = visible
- SystemMonitor.cpuLoadReportingEnabled = visible
- }
-
- Item {
- id: yscale
- width: childrenRect.width
- height: parent.height
-
- Text {
- anchors {
- right: parent.right
- top: parent.top
- topMargin: parent.height / 8 * 2
- }
- text: "60"
- }
- Text {
- anchors {
- bottom: yscale.bottom
- right: parent.right
- }
- text: "0"
- }
- }
-
- Rectangle {
- id: ybar
- width: 1
- anchors {
- top: parent.top
- bottom: parent.bottom
- left: yscale.right
- leftMargin: 4
- }
- color: "black"
- }
-
- ListView {
- id: graph
- anchors {
- top: parent.top
- right: parent.right
- bottom: parent.bottom
- left: ybar.right
- leftMargin: 4
- }
-
- model: SystemMonitor
- orientation: ListView.Horizontal
- interactive: false
-
- delegate: Item {
- width: graph.width / graph.model.count
- height: graph.height
- Rectangle {
- width: parent.width
- height: (model.averageFps/80)*parent.height
- anchors.bottom: parent.bottom
- color: "yellow"
- }
- Rectangle {
- width: parent.width
- y: parent.height - (model.minimumFps/80)*parent.height
- height: 2
- color: "red"
- opacity: 0.5
- }
- Rectangle {
- width: parent.width
- y: parent.height - (model.maximumFps/80)*parent.height
- height: 2
- color: "green"
- opacity: 0.5
- visible: model.maximumFps < 80
- }
- Rectangle {
- width: parent.width
- height: (model.cpuLoad * parent.height)
- anchors.top: parent.top
- color: "blue"
- }
- }
- Text {
- id: currentFps
- anchors.centerIn: parent
- text: root.currentFps + " fps"
- font.italic: true
- font.pixelSize: parent.height / 6
- }
- }
-}
-
-
diff --git a/sysui/dev/CpuMonitor.qml b/sysui/dev/CpuMonitor.qml
new file mode 100644
index 0000000..6d10a99
--- /dev/null
+++ b/sysui/dev/CpuMonitor.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune IVI UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite licenses may use
+** this file in accordance with the commercial license agreement provided
+** with the Software or, alternatively, in accordance with the terms
+** contained in a written agreement between you and The Qt Company. For
+** licensing terms and conditions see https://www.qt.io/terms-conditions.
+** For further information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+import QtQuick 2.1
+import QtApplicationManager 1.0
+
+
+MonitorPanel {
+ id: root
+
+ descriptionText: "CPU: "
+ middleText: "50%"
+ middleLine: 0.5
+
+ ListView {
+ id: graph
+ anchors.fill: parent
+
+ model: SystemMonitor
+ orientation: ListView.Horizontal
+ interactive: false
+
+ delegate: Item {
+ width: graph.width / graph.model.count
+ height: graph.height
+
+ Rectangle {
+ width: parent.width
+ height: 3
+ y: parent.height - model.cpuLoad * parent.height
+ }
+ }
+ }
+}
+
+
diff --git a/sysui/dev/FpsMonitor.qml b/sysui/dev/FpsMonitor.qml
new file mode 100644
index 0000000..938b4db
--- /dev/null
+++ b/sysui/dev/FpsMonitor.qml
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune IVI UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite licenses may use
+** this file in accordance with the commercial license agreement provided
+** with the Software or, alternatively, in accordance with the terms
+** contained in a written agreement between you and The Qt Company. For
+** licensing terms and conditions see https://www.qt.io/terms-conditions.
+** For further information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+import QtQuick 2.1
+import QtApplicationManager 1.0
+
+
+MonitorPanel {
+ id: root
+
+ descriptionText: "FPS: "
+ middleText: "60"
+ middleLine: 0.6
+
+ ListView {
+ id: graph
+ anchors.fill: parent
+
+ model: SystemMonitor
+ orientation: ListView.Horizontal
+ interactive: false
+
+ delegate: Item {
+ width: graph.width / graph.model.count
+ height: graph.height
+
+ Rectangle {
+ width: parent.width
+ height: 3
+ y: parent.height - (model.averageFps/100)*parent.height
+ }
+ }
+ }
+
+ Rectangle {
+ id: rotatingBox
+ width: 20
+ height: 20
+ anchors.bottom: root.bottom
+ //anchors.topMargin: 50
+ anchors.left: root.left
+ //anchors.leftMargin: 150
+ color: "#273033"
+
+ RotationAnimation {
+ id: animator
+ target: rotatingBox;
+ from: 0;
+ to: 360;
+ loops: Animation.Infinite
+ duration: 1000
+ running: true
+ }
+ }
+}
+
+
diff --git a/sysui/dev/MonitorPanel.qml b/sysui/dev/MonitorPanel.qml
new file mode 100644
index 0000000..ac02390
--- /dev/null
+++ b/sysui/dev/MonitorPanel.qml
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune IVI UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite licenses may use
+** this file in accordance with the commercial license agreement provided
+** with the Software or, alternatively, in accordance with the terms
+** contained in a written agreement between you and The Qt Company. For
+** licensing terms and conditions see https://www.qt.io/terms-conditions.
+** For further information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import utils 1.0
+import controls 1.0
+
+Item {
+ id: root
+ width: 640
+ height: 200
+
+ property int leftMargin: 0.03 * width
+ property alias descriptionText: descriptionText.text
+ property alias valueText: valueText.text
+ property real middleLine: 0.5
+ property int graphHeight: 0.65 * root.height
+ property alias middleText: middleLineText.text
+ default property alias content: graphContent.children
+
+ Row {
+ anchors.top: parent.top
+ anchors.topMargin: 10
+ anchors.left: parent.left
+ anchors.leftMargin: root.leftMargin
+ spacing: 5
+
+ Label {
+ id: descriptionText
+ width: 110
+ color: "#4d4d4d"
+ font.pixelSize: Style.fontSizeL
+ }
+
+ Label {
+ id: valueText
+ hspan: 2
+ font.pixelSize: Style.fontSizeL
+ }
+ }
+
+ Item {
+ id: graphContainer
+ width: 0.86 * root.width
+ height: root.graphHeight
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: root.leftMargin
+ anchors.left: parent.left
+ anchors.leftMargin: root.leftMargin
+
+ Row {
+ id: dottedLine
+ y: root.middleLine * root.graphHeight
+ spacing: 4
+
+ Repeater {
+ model: graphContainer.width/8
+
+ Rectangle {
+ width: 4
+ height: width
+ radius: width
+ color: "#4d4d4d"
+ }
+ }
+ }
+
+ Label {
+ id: middleLineText
+ hspan: 1
+ anchors.left: dottedLine.right
+ anchors.verticalCenter: dottedLine.verticalCenter
+ color: "#4d4d4d"
+ font.pixelSize: Style.fontSizeM
+ }
+
+ Rectangle {
+ width: parent.width
+ height: 2
+ anchors.bottom: parent.bottom
+ color: "#4d4d4d"
+ }
+
+ Item {
+ id: graphContent
+ anchors.fill: parent
+ clip: true
+ }
+ }
+
+}
diff --git a/sysui/dev/RamMonitor.qml b/sysui/dev/RamMonitor.qml
new file mode 100644
index 0000000..0ba13d2
--- /dev/null
+++ b/sysui/dev/RamMonitor.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune IVI UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite licenses may use
+** this file in accordance with the commercial license agreement provided
+** with the Software or, alternatively, in accordance with the terms
+** contained in a written agreement between you and The Qt Company. For
+** licensing terms and conditions see https://www.qt.io/terms-conditions.
+** For further information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+import QtQuick 2.1
+import QtApplicationManager 1.0
+
+
+MonitorPanel {
+ id: root
+
+ descriptionText: "RAM: "
+ middleText: "50%"
+ middleLine: 0.5
+
+ ListView {
+ id: graph
+ anchors.fill: parent
+
+ model: SystemMonitor
+ orientation: ListView.Horizontal
+ interactive: false
+
+ delegate: Item {
+ width: graph.width / graph.model.count
+ height: graph.height
+
+ Rectangle {
+ width: parent.width
+ height: 3
+ y: parent.height - (model.memoryUsed/model.memoryTotal)*parent.height
+ }
+ }
+ }
+}
+
+
diff --git a/sysui/Cloud/Settings/SystemMonitor/AppPanel.qml b/sysui/dev/SystemMonitor/AppPanel.qml
index 1c219e0..66882cc 100644
--- a/sysui/Cloud/Settings/SystemMonitor/AppPanel.qml
+++ b/sysui/dev/SystemMonitor/AppPanel.qml
@@ -138,7 +138,7 @@ UIPage {
anchors.top: processGraph.top
anchors.right: processGraph.right
- text: applicationId + " VSize: " + processGraph.memoryUsed + "KB, " + processGraph.memoryUsagePercentage + "%\nPSS: " + processGraph.pssMemoryUsed + "KB"
+ text: applicationId + " VSize: " + processGraph.memoryUsed + "MB, " + processGraph.memoryUsagePercentage + "%\nPSS: " + processGraph.pssMemoryUsed + "MB"
font.pixelSize: Style.fontSizeXXS
}
@@ -148,8 +148,8 @@ UIPage {
var vmSizeBytes = processMonitor.memoryMonitor.get(modelIndex).vmSize
var pssSizeBytes = processMonitor.memoryMonitor.get(modelIndex).pss
processGraph.memoryUsagePercentage = (vmSizeBytes/SystemMonitor.totalMemory * 100).toFixed(1)
- processGraph.memoryUsed = (vmSizeBytes/1024).toFixed(1)
- processGraph.pssMemoryUsed = (pssSizeBytes/1024).toFixed(1)
+ processGraph.memoryUsed = (vmSizeBytes/1024/1024).toFixed(1)
+ processGraph.pssMemoryUsed = (pssSizeBytes/1024/1024).toFixed(1)
}
}
}
diff --git a/sysui/Cloud/Settings/SystemMonitor/CPUGraph.qml b/sysui/dev/SystemMonitor/CPUGraph.qml
index 5924e8a..499e1ef 100644
--- a/sysui/Cloud/Settings/SystemMonitor/CPUGraph.qml
+++ b/sysui/dev/SystemMonitor/CPUGraph.qml
@@ -39,6 +39,8 @@ Item {
width: 400
height: 200
+ property color barColor: "white"
+ property bool scaleVisible: true
Item {
id: cpuScaleContainer
@@ -46,6 +48,8 @@ Item {
width: 5
height: parent.height
+ visible: cpuContainer.scaleVisible
+
Rectangle {
id: cpuScale
width: 2
@@ -103,7 +107,7 @@ Item {
width: parent.width
height: model.cpuLoad * parent.height
anchors.bottom: parent.bottom
- color: "white"
+ color: cpuContainer.barColor
}
}
diff --git a/sysui/Cloud/Settings/SystemMonitor/InfoPanel.qml b/sysui/dev/SystemMonitor/InfoPanel.qml
index bc3d999..bc3d999 100644
--- a/sysui/Cloud/Settings/SystemMonitor/InfoPanel.qml
+++ b/sysui/dev/SystemMonitor/InfoPanel.qml
diff --git a/sysui/Cloud/Settings/SystemMonitor/MainScreen.qml b/sysui/dev/SystemMonitor/MainScreen.qml
index b4b80ab..b9bf6f5 100644
--- a/sysui/Cloud/Settings/SystemMonitor/MainScreen.qml
+++ b/sysui/dev/SystemMonitor/MainScreen.qml
@@ -42,7 +42,12 @@ UIScreen {
Component.onCompleted: checkReporting()
- onBackScreen: ApplicationManagerInterface.releaseApplicationSurface(root)
+ onBackScreen: {
+ SystemMonitor.cpuLoadReportingEnabled = false
+ SystemMonitor.fpsReportingEnabled = false
+ SystemMonitor.memoryReportingEnabled = false
+ ApplicationManagerInterface.releaseApplicationSurface(root)
+ }
function checkReporting() {
SystemMonitor.reportingInterval = root.timeInterval
diff --git a/sysui/Cloud/Settings/SystemMonitor/MemoryGraph.qml b/sysui/dev/SystemMonitor/MemoryGraph.qml
index b23e6b1..200852b 100644
--- a/sysui/Cloud/Settings/SystemMonitor/MemoryGraph.qml
+++ b/sysui/dev/SystemMonitor/MemoryGraph.qml
@@ -40,12 +40,17 @@ Item {
width: 300
height: 150
+ property color barColor: Style.colorGrey
+ property bool scaleVisible: true
+
Item {
id: ramScaleContainer
anchors.bottom: parent.bottom
width: 5
height: parent.height
+ visible: graphContainer.scaleVisible
+
Rectangle {
id: ramScale
width: 2
@@ -99,7 +104,7 @@ Item {
width: parent.width
height: (model.memoryUsed/model.memoryTotal)*parent.height
anchors.bottom: parent.bottom
- color: Style.colorGrey
+ color: graphContainer.barColor
}
}
}
diff --git a/sysui/Cloud/Settings/SystemMonitor/SystemPanel.qml b/sysui/dev/SystemMonitor/SystemPanel.qml
index 8165ca3..8165ca3 100644
--- a/sysui/Cloud/Settings/SystemMonitor/SystemPanel.qml
+++ b/sysui/dev/SystemMonitor/SystemPanel.qml
diff --git a/sysui/dev/ToolBarMonitor.qml b/sysui/dev/ToolBarMonitor.qml
new file mode 100644
index 0000000..efd9009
--- /dev/null
+++ b/sysui/dev/ToolBarMonitor.qml
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune IVI UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite licenses may use
+** this file in accordance with the commercial license agreement provided
+** with the Software or, alternatively, in accordance with the terms
+** contained in a written agreement between you and The Qt Company. For
+** licensing terms and conditions see https://www.qt.io/terms-conditions.
+** For further information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import controls 1.0
+import utils 1.0
+import QtApplicationManager 1.0
+import "SystemMonitor"
+
+Rectangle {
+ id: root
+
+ anchors.fill: parent
+ clip: true
+ color: "#273033"
+ opacity: 0.95
+
+ property int currentFps: 0
+ property int ram: 0
+ property real ramUsed: 0
+ property int cpu: 0
+
+ onVisibleChanged: initialize()
+
+ Component.onCompleted: initialize()
+
+ function initialize() {
+ SystemMonitor.reportingInterval = 200
+ SystemMonitor.reportingRange = 2000
+ SystemMonitor.fpsReportingEnabled = root.visible
+ SystemMonitor.cpuLoadReportingEnabled = root.visible
+ SystemMonitor.memoryReportingEnabled = root.visible
+ }
+
+ Connections {
+ target: SystemMonitor
+ onFpsReportingChanged: root.currentFps = Math.floor(average)
+ onCpuLoadReportingChanged: root.cpu = (load * 100).toFixed(0)
+
+ onMemoryReportingChanged: {
+ root.ramUsed = (used/1000/1000).toFixed(1)
+ root.ram = (used/total * 100).toFixed(0)
+ }
+ }
+
+ Row {
+ FpsMonitor {
+ valueText: root.currentFps
+ }
+
+ Rectangle {
+ width: 2
+ height: root.height
+ color: "#4d4d4d"
+ }
+
+ CpuMonitor {
+ valueText: root.cpu + "%"
+ }
+
+ Rectangle {
+ width: 2
+ height: root.height
+ color: "#4d4d4d"
+ }
+
+ RamMonitor {
+ valueText: root.ram + "% " + root.ramUsed + "MB"
+ }
+ }
+
+}