Warning, /plasma/plasma-workspace/applets/cameraindicator/contents/ui/main.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2023 Fushan Wen <qydwhotmail@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 0008 0009 import org.kde.plasma.plasmoid 0010 import org.kde.plasma.core as PlasmaCore 0011 import org.kde.kirigami as Kirigami 0012 import org.kde.pipewire.monitor as Monitor 0013 0014 PlasmoidItem { 0015 id: root 0016 0017 switchWidth: Kirigami.Units.gridUnit * 12 0018 switchHeight: Kirigami.Units.gridUnit * 12 0019 0020 toolTipSubText: if (!monitor.detectionAvailable) { 0021 return i18nc("@info:tooltip", "Camera indicator is unavailable"); 0022 } else if (monitor.runningCount) { 0023 return i18ncp("@info:tooltip", "A camera is in use", "%1 cameras are in use", monitor.runningCount); 0024 } else { 0025 return i18nc("@info:tooltip", "No camera is in use"); 0026 } 0027 0028 Plasmoid.icon: if (!monitor.detectionAvailable) { 0029 return "network-disconnect-symbolic"; 0030 } else if (monitor.idleCount > 0 && monitor.runningCount === 0) { 0031 return "camera-ready-symbolic"; 0032 } else if (monitor.runningCount > 0) { 0033 return "camera-on-symbolic"; 0034 } else { 0035 return "camera-off-symbolic"; 0036 } 0037 Plasmoid.status: (monitor.idleCount > 0 || monitor.runningCount > 0) ? PlasmaCore.Types.ActiveStatus : PlasmaCore.Types.HiddenStatus 0038 0039 Monitor.MediaMonitor { 0040 id: monitor 0041 role: Monitor.MediaRole.Camera 0042 } 0043 0044 fullRepresentation: FullRepresentation { } 0045 }