From 4341107c659a79040b00b52437cf3e8f6887caf1 Mon Sep 17 00:00:00 2001 From: mappu Date: Tue, 2 Oct 2018 19:52:28 +1300 Subject: [PATCH] display pa's own choice of card icon --- trayicon.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/trayicon.cpp b/trayicon.cpp index 2cccd59..77c0aab 100644 --- a/trayicon.cpp +++ b/trayicon.cpp @@ -98,8 +98,14 @@ void TrayIcon::onGotPulseCardInfo(const pa_card_info& cardInfo, int eol) name = tr("Default card"); } - cardMenu->setIcon(QIcon::fromTheme("audio-card")); + QString iconName = pa_proplist_gets(cardInfo.proplist, PA_PROP_DEVICE_ICON_NAME); // e.g. audio-card-pci + if (iconName.length() == 0) { + iconName = "audio-card"; // default + } + QMenu* cardMenu = new QMenu(name, this->menu); // recursive ownership + cardMenu->setIcon(QIcon::fromTheme(iconName)); + for (size_t i = 0; i < cardInfo.n_profiles; ++i) { auto profileAction = new QAction(cardInfo.profiles[i].description, cardMenu); cardMenu->addAction(profileAction);