From 9c0aafe67202671a34eaf779cde82d6018a9322d Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 6 Jul 2009 09:22:40 +0000 Subject: status icon plugin: added standard icons support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1010 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/General/statusicon/statusicon.cpp | 34 +++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 5 deletions(-) (limited to 'src/plugins/General/statusicon/statusicon.cpp') diff --git a/src/plugins/General/statusicon/statusicon.cpp b/src/plugins/General/statusicon/statusicon.cpp index b28a2bc20..ced6a1108 100644 --- a/src/plugins/General/statusicon/statusicon.cpp +++ b/src/plugins/General/statusicon/statusicon.cpp @@ -25,6 +25,8 @@ #include #include #include +#include +#include #include #include @@ -37,8 +39,7 @@ StatusIcon::StatusIcon(QObject *parent) { m_tray = new QmmpTrayIcon(this); connect(m_tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); - m_tray->setIcon ( QIcon(":/tray_stop.png")); - m_tray->show(); + //m_tray->show(); m_core = SoundCore::instance(); m_player = MediaPlayer::instance(); QMenu *menu = new QMenu(qobject_cast(parent)); @@ -57,6 +58,14 @@ StatusIcon::StatusIcon(QObject *parent) m_messageDelay = settings.value("message_delay", 2000).toInt(); m_showTooltip = settings.value("show_tooltip",FALSE).toBool(); m_hideToTray = settings.value("hide_on_close", FALSE).toBool(); + m_useStandardIcons = settings.value("use_standard_icons",FALSE).toBool(); +#if QT_VERSION >= 0x040400 + if(m_useStandardIcons) + m_tray->setIcon(QApplication::style ()->standardIcon(QStyle::SP_MediaStop)); + else +#endif + m_tray->setIcon ( QIcon(":/tray_stop.png")); + m_tray->show(); settings.endGroup(); connect (m_core, SIGNAL(metaDataChanged ()), SLOT(showMetaData())); connect (m_core, SIGNAL(stateChanged (Qmmp::State)), SLOT(setState(Qmmp::State))); @@ -75,17 +84,32 @@ void StatusIcon::setState(Qmmp::State state) { case Qmmp::Playing: { - m_tray->setIcon(QIcon(":/tray_play.png")); +#if QT_VERSION >= 0x040400 + if(m_useStandardIcons) + m_tray->setIcon(QApplication::style ()->standardIcon(QStyle::SP_MediaPlay)); + else +#endif + m_tray->setIcon ( QIcon(":/tray_play.png")); break; } case Qmmp::Paused: { - m_tray->setIcon(QIcon(":/tray_pause.png")); +#if QT_VERSION >= 0x040400 + if(m_useStandardIcons) + m_tray->setIcon(QApplication::style ()->standardIcon(QStyle::SP_MediaPause)); + else +#endif + m_tray->setIcon ( QIcon(":/tray_pause.png")); break; } case Qmmp::Stopped: { - m_tray->setIcon(QIcon(":/tray_stop.png")); +#if QT_VERSION >= 0x040400 + if(m_useStandardIcons) + m_tray->setIcon(QApplication::style ()->standardIcon(QStyle::SP_MediaStop)); + else +#endif + m_tray->setIcon ( QIcon(":/tray_stop.png")); break; } } -- cgit v1.2.3-13-gbd6f