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 }