diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-11-24 21:54:59 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-11-24 21:54:59 +0000 |
| commit | a9946929bc45b96acd171a8137600277d122ccd9 (patch) | |
| tree | 5e675c6dbc697ac80ed3920c768c7fd6c328df0f /src/plugins/General/statusicon/statusicon.cpp | |
| parent | 52cdbf3b10333908693f21a7c04ff7983baf923e (diff) | |
| download | qmmp-a9946929bc45b96acd171a8137600277d122ccd9.tar.gz qmmp-a9946929bc45b96acd171a8137600277d122ccd9.tar.bz2 qmmp-a9946929bc45b96acd171a8137600277d122ccd9.zip | |
general api cleanup
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@631 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/statusicon/statusicon.cpp')
| -rw-r--r-- | src/plugins/General/statusicon/statusicon.cpp | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/plugins/General/statusicon/statusicon.cpp b/src/plugins/General/statusicon/statusicon.cpp index 4946a4ba2..b3e49f2cb 100644 --- a/src/plugins/General/statusicon/statusicon.cpp +++ b/src/plugins/General/statusicon/statusicon.cpp @@ -23,26 +23,27 @@ #include <QDir> #include <QTimer> #include <QCoreApplication> -#include <qmmpui/control.h> + +#include <qmmp/soundcore.h> #include "statusicon.h" -StatusIcon::StatusIcon(Control *control, QObject *parent) +StatusIcon::StatusIcon(QObject *parent) : General(parent) { - m_control = control; m_tray = new QSystemTrayIcon(this); connect(m_tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); m_tray->setIcon ( QIcon(":/tray_stop.png")); m_tray->show(); + m_core = SoundCore::instance(); QMenu *menu = new QMenu(qobject_cast<QWidget *>(parent)); - menu->addAction(tr("Play"), control, SLOT(play())); - menu->addAction(tr("Pause"), control, SLOT(pause())); - menu->addAction(tr("Stop"), control, SLOT(stop())); - menu->addAction(tr("Next"), control, SLOT(next())); - menu->addAction(tr("Previous"), control, SLOT(previous())); + menu->addAction(tr("Play"), this, SLOT(play())); + menu->addAction(tr("Pause"), m_core, SLOT(pause())); + menu->addAction(tr("Stop"), m_core, SLOT(stop())); + /*menu->addAction(tr("Next"), control, SLOT(next())); + menu->addAction(tr("Previous"), control, SLOT(previous()));*/ menu->addSeparator(); - menu->addAction(tr("Exit"), control, SLOT(exit())); + menu->addAction(tr("Exit"), this, SLOT(exit())); m_tray->setContextMenu(menu); QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat); @@ -53,30 +54,30 @@ StatusIcon::StatusIcon(Control *control, QObject *parent) m_hideToTray = settings.value("hide_on_close", FALSE).toBool(); settings.endGroup(); m_enabled = FALSE; + connect (m_core, SIGNAL(metaDataChanged ()), SLOT(showMetaData())); + connect (m_core, SIGNAL(stateChanged (Qmmp::State)), SLOT(setState(Qmmp::State))); QTimer::singleShot(200, this, SLOT(enable())); - m_state = General::Stopped; } StatusIcon::~StatusIcon() {} -void StatusIcon::setState(const uint &state) +void StatusIcon::setState(Qmmp::State state) { - m_state = state; switch ((uint) state) { - case General::Playing: + case Qmmp::Playing: { m_tray->setIcon(QIcon(":/tray_play.png")); break; } - case General::Paused: + case Qmmp::Paused: { m_tray->setIcon(QIcon(":/tray_pause.png")); break; } - case General::Stopped: + case Qmmp::Stopped: { m_tray->setIcon(QIcon(":/tray_stop.png")); break; @@ -84,17 +85,16 @@ void StatusIcon::setState(const uint &state) } } -void StatusIcon::setSongInfo(const SongInfo &song) +void StatusIcon::showMetaData() { - if(!m_enabled) + if (!m_enabled) return; - QString message = song.artist() + " - " +song.title(); - if (song.artist().isEmpty()) - message = song.title(); - if (song.title().isEmpty()) - message = song.artist(); - if (song.artist().isEmpty() && song.title().isEmpty()) - message = song.path().section('/',-1); + QString message = m_core->metaData(Qmmp::ARTIST) + " - " + m_core->metaData(Qmmp::TITLE); + if (message.startsWith (" - ") || message.endsWith (" - ")) + message.remove(" - "); + if (message.isEmpty()) + message = m_core->metaData(Qmmp::URL).section('/',-1); + if (m_showMessage) m_tray->showMessage (tr("Now Playing"), message, QSystemTrayIcon::Information, m_messageDelay); @@ -105,13 +105,13 @@ void StatusIcon::setSongInfo(const SongInfo &song) void StatusIcon::trayActivated(QSystemTrayIcon::ActivationReason reason) { if (reason == QSystemTrayIcon::Trigger) - m_control->toggleVisibility(); + toggleVisibility(); else if (reason == QSystemTrayIcon::MiddleClick) { - if(m_state == General::Stopped) - m_control->play(); + if (SoundCore::instance()->state() == Qmmp::Stopped) + play(); else - m_control->pause(); + m_core->pause(); } } |
