Warning, /plasma/plasma-workspace/components/workspace/BatteryIcon.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2011 Viranch Mehta <viranch.mehta@gmail.com> 0003 SPDX-FileCopyrightText: 2013 Kai Uwe Broulik <kde@privat.broulik.de> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 import QtQuick 2.0 0009 0010 import org.kde.kirigami 2.20 as Kirigami 0011 0012 Item { 0013 id: root 0014 0015 property bool hasBattery 0016 property int percent 0017 property bool pluggedIn 0018 property string batteryType 0019 property bool active: false 0020 0021 // Icon for current charge level and charging status for batteries that support it 0022 Kirigami.Icon { 0023 anchors.fill: parent 0024 source: root.hasBattery ? fillElement(root.percent) : "battery-missing" 0025 visible: !otherBatteriesIcon.visible 0026 active: root.active 0027 } 0028 0029 function fillElement(p) { 0030 let name 0031 if (p >= 95) { 0032 name = "battery-100"; 0033 } else if (p >= 85) { 0034 name = "battery-090"; 0035 } else if (p >= 75) { 0036 name = "battery-080"; 0037 } else if (p >= 65) { 0038 name = "battery-070"; 0039 } else if (p >= 55) { 0040 name = "battery-060"; 0041 } else if (p >= 45) { 0042 name = "battery-050"; 0043 } else if (p >= 35) { 0044 name = "battery-040"; 0045 } else if (p >= 25) { 0046 name = "battery-030"; 0047 } else if (p >= 15) { 0048 name = "battery-020"; 0049 } else if (p > 5) { 0050 name = "battery-010"; 0051 } else { 0052 name = "battery-000"; 0053 } 0054 0055 if (root.pluggedIn) { 0056 name += "-charging"; 0057 } 0058 return name; 0059 } 0060 0061 // Generic icon for other types of batteries 0062 Kirigami.Icon { 0063 id: otherBatteriesIcon 0064 anchors.fill: parent 0065 source: elementForType(root.batteryType) 0066 visible: source !== "" 0067 active: root.active 0068 } 0069 0070 function elementForType(t) { 0071 switch(t) { 0072 case "Mouse": 0073 return "input-mouse-battery"; 0074 case "Keyboard": 0075 return "input-keyboard-battery"; 0076 case "Pda": 0077 return "phone-battery"; 0078 case "Phone": 0079 return "phone-battery"; 0080 case "Ups": 0081 return "battery-ups"; 0082 case "GamingInput": 0083 return "input-gaming-battery"; 0084 case "Bluetooth": 0085 return "preferences-system-bluetooth-battery"; 0086 default: 0087 return ""; 0088 } 0089 } 0090 }