Warning, /plasma/plasma-pa/applet/contents/ui/StreamListItem.qml is written in an unsupported language. File is not indexed.

0001 /*
0002     SPDX-FileCopyrightText: 2014-2015 Harald Sitter <sitter@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 import QtQuick 2.0
0008 
0009 import org.kde.plasma.private.volume 0.1
0010 
0011 ListItemBase {
0012     id: item
0013 
0014     property QtObject devicesModel
0015 
0016     draggable: devicesModel && devicesModel.count > 1
0017     label: {
0018         if (model.Client && model.Client.name && model.Client.name != "pipewire-media-session") {
0019             return model.Client.name;
0020         }
0021         if (model.Name) {
0022             return model.Name;
0023         }
0024         return i18n("Stream name not found");
0025     }
0026     fullNameToShowOnHover: {
0027         if (devicesModel.count > 1) {
0028             const indexRole = devicesModel.role("Index");
0029             const descriptionRole = devicesModel.role("Description");
0030 
0031             for (let i = 0; i < devicesModel.count; ++i) {
0032                 const idx = devicesModel.index(i, 0);
0033                 const deviceIndex = devicesModel.data(idx, indexRole);
0034 
0035                 if (deviceIndex !== model.DeviceIndex) {
0036                     continue;
0037                 }
0038 
0039                 return devicesModel.data(idx, descriptionRole);
0040             }
0041         }
0042 
0043         return "";
0044     }
0045 
0046     iconSource: {
0047         if (model.IconName.length !== 0) {
0048             return model.IconName
0049         }
0050 
0051         if (item.type === "source-output") {
0052             return "audio-input-microphone"
0053         }
0054 
0055         return "audio-volume-high"
0056     }
0057     iconUsesPlasmaTheme: false
0058 }