summaryrefslogtreecommitdiffstats
path: root/src/PulseAudioQt/pulseobject.cpp
diff options
context:
space:
mode:
authorSimon Rettberg2022-08-18 20:27:25 +0200
committerSimon Rettberg2022-08-18 20:27:25 +0200
commitc48cebd620d3f5330c104d85ac32f0aaffadaa14 (patch)
tree8fc74d8aa05fcdc75bfcdf93fdc89c0f071692eb /src/PulseAudioQt/pulseobject.cpp
parentWhen changing default output of card, also set default sink (diff)
downloadpavucontrol-slx-c48cebd620d3f5330c104d85ac32f0aaffadaa14.tar.gz
pavucontrol-slx-c48cebd620d3f5330c104d85ac32f0aaffadaa14.tar.xz
pavucontrol-slx-c48cebd620d3f5330c104d85ac32f0aaffadaa14.zip
Replace everything with new "slxmix" (work in progress)
Diffstat (limited to 'src/PulseAudioQt/pulseobject.cpp')
-rw-r--r--src/PulseAudioQt/pulseobject.cpp86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/PulseAudioQt/pulseobject.cpp b/src/PulseAudioQt/pulseobject.cpp
new file mode 100644
index 0000000..ac9b975
--- /dev/null
+++ b/src/PulseAudioQt/pulseobject.cpp
@@ -0,0 +1,86 @@
+/*
+ SPDX-FileCopyrightText: 2014-2015 Harald Sitter <sitter@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "pulseobject.h"
+#include "pulseobject_p.h"
+
+#include "context.h"
+
+#include <QIcon>
+
+namespace PulseAudioQt
+{
+PulseObject::PulseObject(QObject *parent)
+ : QObject(parent)
+ , d(new PulseObjectPrivate(this))
+{
+}
+
+PulseObject::~PulseObject()
+{
+ delete d;
+}
+
+PulseObjectPrivate::PulseObjectPrivate(PulseObject *q)
+ : q(q)
+{
+}
+
+PulseObjectPrivate::~PulseObjectPrivate()
+{
+}
+
+QString PulseObject::name() const
+{
+ return d->m_name;
+}
+
+QString PulseObject::iconName() const
+{
+ QString name = d->m_properties.value(QStringLiteral("device.icon_name")).toString();
+ if (!name.isEmpty() && QIcon::hasThemeIcon(name)) {
+ return name;
+ }
+
+ name = d->m_properties.value(QStringLiteral("media.icon_name")).toString();
+ if (!name.isEmpty() && QIcon::hasThemeIcon(name)) {
+ return name;
+ }
+
+ name = d->m_properties.value(QStringLiteral("window.icon_name")).toString();
+ if (!name.isEmpty() && QIcon::hasThemeIcon(name)) {
+ return name;
+ }
+
+ name = d->m_properties.value(QStringLiteral("application.icon_name")).toString();
+ if (!name.isEmpty() && QIcon::hasThemeIcon(name)) {
+ return name;
+ }
+
+ name = d->m_properties.value(QStringLiteral("application.process.binary")).toString();
+ if (!name.isEmpty() && QIcon::hasThemeIcon(name)) {
+ return name;
+ }
+
+ name = d->m_properties.value(QStringLiteral("application.name")).toString();
+ if (!name.isEmpty() && QIcon::hasThemeIcon(name)) {
+ return name;
+ }
+
+ name = property("name").toString();
+ if (!name.isEmpty() && QIcon::hasThemeIcon(name)) {
+ return name;
+ }
+
+ return QString();
+}
+
+QVariantMap PulseObject::properties() const
+{
+ return d->m_properties;
+}
+
+} // PulseAudioQt