add menu icons
This commit is contained in:
parent
0cda1431ec
commit
52ab4b1aa3
@ -8,16 +8,18 @@
|
|||||||
#include <pulse/pulseaudio.h>
|
#include <pulse/pulseaudio.h>
|
||||||
|
|
||||||
TrayIcon::TrayIcon(QObject *parent) :
|
TrayIcon::TrayIcon(QObject *parent) :
|
||||||
QSystemTrayIcon(QIcon::fromTheme("preferences-desktop-sound"), parent),
|
QSystemTrayIcon(QIcon::fromTheme("audio-card" /*"preferences-desktop-sound"*/), parent),
|
||||||
pulse(this)
|
pulse(this)
|
||||||
{
|
{
|
||||||
this->menu = new QMenu(); // can only be explicitly owned by a QWidget, not any QObject, so we need to
|
this->menu = new QMenu(); // can only be explicitly owned by a QWidget, not any QObject, so we need to
|
||||||
// manually manage its lifecycle in the d'tor
|
// manually manage its lifecycle in the d'tor
|
||||||
|
|
||||||
this->quitAction = new QAction("Quit");
|
this->quitAction = new QAction("Quit");
|
||||||
|
this->quitAction->setIcon(QIcon::fromTheme("application-exit"));
|
||||||
connect(this->quitAction, &QAction::triggered, this, &TrayIcon::on_quitAction_triggered);
|
connect(this->quitAction, &QAction::triggered, this, &TrayIcon::on_quitAction_triggered);
|
||||||
|
|
||||||
this->refreshAction = new QAction("Refresh");
|
this->refreshAction = new QAction("Refresh");
|
||||||
|
this->refreshAction->setIcon(QIcon::fromTheme("view-refresh"));
|
||||||
connect(this->refreshAction, &QAction::triggered, this, &TrayIcon::onRefreshAction_triggered);
|
connect(this->refreshAction, &QAction::triggered, this, &TrayIcon::onRefreshAction_triggered);
|
||||||
|
|
||||||
// Set up basic menu only, will be wiped during refresh
|
// Set up basic menu only, will be wiped during refresh
|
||||||
@ -97,6 +99,7 @@ void TrayIcon::onGotPulseCardInfo(const pa_card_info& cardInfo, int eol)
|
|||||||
}
|
}
|
||||||
|
|
||||||
QMenu* cardMenu = new QMenu(name);
|
QMenu* cardMenu = new QMenu(name);
|
||||||
|
cardMenu->setIcon(QIcon::fromTheme("audio-card"));
|
||||||
for (size_t i = 0; i < cardInfo.n_profiles; ++i) {
|
for (size_t i = 0; i < cardInfo.n_profiles; ++i) {
|
||||||
auto profileAction = new QAction(cardInfo.profiles[i].description, cardMenu);
|
auto profileAction = new QAction(cardInfo.profiles[i].description, cardMenu);
|
||||||
cardMenu->addAction(profileAction);
|
cardMenu->addAction(profileAction);
|
||||||
|
Loading…
Reference in New Issue
Block a user