Warning, /plasma/libksysguard/faces/import/SensorFace.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 0013 import org.kde.kirigami as Kirigami 0014 import org.kde.quickcharts as Charts 0015 import org.kde.ksysguard.sensors as Sensors 0016 import org.kde.ksysguard.faces as Faces 0017 0018 Faces.AbstractSensorFace { 0019 id: root 0020 0021 property list<Kirigami.Action> actions 0022 0023 implicitWidth: contentItem.implicitWidth 0024 implicitHeight: contentItem.implicitHeight 0025 Layout.minimumWidth: contentItem.Layout.minimumWidth 0026 Layout.minimumHeight: contentItem.Layout.minimumHeight 0027 Layout.preferredWidth: contentItem.Layout.preferredWidth 0028 Layout.preferredHeight: contentItem.Layout.preferredHeight 0029 Layout.maximumWidth: contentItem.Layout.maximumWidth 0030 Layout.maximumHeight: contentItem.Layout.maximumHeight 0031 0032 property alias colorSource: colorSource 0033 0034 Charts.MapProxySource { 0035 id: colorSource 0036 source: Charts.ArraySource { 0037 array: root.controller.highPrioritySensorIds 0038 } 0039 map: root.controller.sensorColors 0040 } 0041 Charts.ColorGradientSource { 0042 baseColor: Kirigami.Theme.highlightColor 0043 itemCount: root.controller.highPrioritySensorIds.length 0044 0045 onItemCountChanged: generate() 0046 Component.onCompleted: generate() 0047 0048 function generate() { 0049 //var colors = colorSource.colors; 0050 var savedColors = root.controller.sensorColors; 0051 for (var i = 0; i < root.controller.highPrioritySensorIds.length; ++i) { 0052 if (!savedColors.hasOwnProperty(root.controller.highPrioritySensorIds[i])) { 0053 savedColors[root.controller.highPrioritySensorIds[i]] = colors[i]; 0054 } else { 0055 // Use the darker trick to make Qt validate the scring as a valid color; 0056 var currentColor = Qt.darker(savedColors[root.controller.highPrioritySensorIds[i]], 1); 0057 if (!currentColor) { 0058 savedColors[root.controller.highPrioritySensorIds[i]] = colors[i]; 0059 } else { 0060 savedColors[root.controller.highPrioritySensorIds[i]] = currentColor; 0061 } 0062 } 0063 } 0064 root.controller.sensorColors = savedColors; 0065 } 0066 } 0067 }