Warning, /plasma/libksysguard/faces/facepackages/piechart/contents/ui/PieChart.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2019 Marco Martin <mart@kde.org> 0003 SPDX-FileCopyrightText: 2019 David Edmundson <davidedmundson@kde.org> 0004 SPDX-FileCopyrightText: 2019 Arjen Hiemstra <ahiemstra@heimr.nl> 0005 SPDX-FileCopyrightText: 2019 Kai Uwe Broulik <kde@broulik.de> 0006 0007 SPDX-License-Identifier: LGPL-2.0-or-later 0008 */ 0009 0010 import QtQuick 0011 import QtQuick.Layouts 0012 import org.kde.kirigami as Kirigami 0013 0014 import org.kde.ksysguard.sensors as Sensors 0015 import org.kde.ksysguard.faces as Faces 0016 0017 import org.kde.quickcharts as Charts 0018 import org.kde.quickcharts.controls as ChartControls 0019 0020 0021 ChartControls.PieChartControl { 0022 id: chart 0023 0024 property alias headingSensor: sensor.sensorId 0025 property alias sensors: sensorsModel.sensors 0026 property alias sensorsModel: sensorsModel 0027 0028 property int updateRateLimit 0029 0030 Layout.minimumHeight: root.formFactor == Faces.SensorFace.Vertical ? width : Kirigami.Units.gridUnit 0031 0032 leftPadding: 0 0033 rightPadding: 0 0034 topPadding: 0 0035 bottomPadding: 0 0036 0037 readonly property real rangeFrom: root.controller.faceConfiguration.rangeFrom * 0038 root.controller.faceConfiguration.rangeFromMultiplier 0039 0040 readonly property real rangeTo: root.controller.faceConfiguration.rangeTo * 0041 root.controller.faceConfiguration.rangeToMultiplier 0042 0043 chart.smoothEnds: root.controller.faceConfiguration.smoothEnds 0044 chart.fromAngle: root.controller.faceConfiguration.fromAngle 0045 chart.toAngle: root.controller.faceConfiguration.toAngle 0046 0047 range { 0048 from: chart.rangeFrom 0049 to: chart.rangeTo 0050 automatic: root.controller.faceConfiguration.rangeAuto 0051 } 0052 0053 chart.backgroundColor: Qt.rgba(0.0, 0.0, 0.0, 0.2) 0054 0055 valueSources: Charts.ModelSource { 0056 model: Sensors.SensorDataModel { 0057 id: sensorsModel 0058 sensors: root.controller.highPrioritySensorIds 0059 updateRateLimit: chart.updateRateLimit 0060 sensorLabels: root.controller.sensorLabels 0061 } 0062 roleName: "Value" 0063 indexColumns: true 0064 } 0065 chart.nameSource: Charts.ModelSource { 0066 roleName: "Name"; 0067 model: valueSources[0].model; 0068 indexColumns: true 0069 } 0070 chart.shortNameSource: Charts.ModelSource { 0071 roleName: "ShortName"; 0072 model: valueSources[0].model; 0073 indexColumns: true 0074 } 0075 chart.colorSource: root.colorSource 0076 0077 Sensors.Sensor { 0078 id: sensor 0079 sensorId: root.controller.totalSensors.length > 0 ? root.controller.totalSensors[0] : "" 0080 updateRateLimit: chart.updateRateLimit 0081 } 0082 0083 UsedTotalDisplay { 0084 anchors.fill: parent 0085 0086 usedSensor: root.controller.totalSensors.length > 0 ? root.controller.totalSensors[0] : "" 0087 totalSensor: root.controller.totalSensors.length > 1 ? root.controller.totalSensors[1] : "" 0088 0089 contentMargin: chart.chart.thickness 0090 updateRateLimit: chart.updateRateLimit 0091 } 0092 } 0093