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