diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-10-16 21:00:11 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-10-16 21:00:11 +0000 |
| commit | 15c492f75bd1a5797f6e339cdf66dc3086664e43 (patch) | |
| tree | 0f31c28351601746a690c4fc53ab05f1200d7d7e /src/plugins/General/statusicon/statusicon.cpp | |
| parent | da9fa6274a40b4d30a06015b33d9dc2ee4241f01 (diff) | |
| download | qmmp-15c492f75bd1a5797f6e339cdf66dc3086664e43.tar.gz qmmp-15c492f75bd1a5797f6e339cdf66dc3086664e43.tar.bz2 qmmp-15c492f75bd1a5797f6e339cdf66dc3086664e43.zip | |
updated status icon plugin, fixed build
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1319 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, 39 insertions, 17 deletions
diff --git a/src/plugins/General/statusicon/statusicon.cpp b/src/plugins/General/statusicon/statusicon.cpp index 0d3b86efa..491e7a1af 100644 --- a/src/plugins/General/statusicon/statusicon.cpp +++ b/src/plugins/General/statusicon/statusicon.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008 by Ilya Kotov * + * Copyright (C) 2008-2009 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -38,31 +38,19 @@ StatusIcon::StatusIcon(QObject *parent) : General(parent) { m_tray = new QmmpTrayIcon(this); - connect(m_tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); + connect(m_tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); //m_tray->show(); m_core = SoundCore::instance(); m_player = MediaPlayer::instance(); - QMenu *menu = new QMenu(qobject_cast<QWidget *>(parent)); - menu->addAction(QIcon(":/tray_play.png"),tr("Play"), m_player, SLOT(play())); - menu->addAction(QIcon(":/tray_pause.png"),tr("Pause"), m_core, SLOT(pause())); - menu->addAction(QIcon(":/tray_stop.png"),tr("Stop"), m_core, SLOT(stop())); - menu->addSeparator(); - menu->addAction(tr("Next"), m_player, SLOT(next())); - menu->addAction(tr("Previous"), m_player, SLOT(previous())); - menu->addSeparator(); - menu->addAction(tr("Exit"), this, SLOT(exit())); - m_tray->setContextMenu(menu); - QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Tray"); m_showMessage = settings.value("show_message",TRUE).toBool(); 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(); m_tray->showNiceToolTip(settings.value("show_nicetooltip",TRUE).toBool()); m_tray->setNiceToolTipDelay(settings.value("nicetooltip_delay",2000).toInt()); - m_tray->setNiceToolTipOpacity(1 - (settings.value("nicetooltip_opacity",0).toDouble()/100)); + m_tray->setNiceToolTipOpacity(1 - (settings.value("nicetooltip_transparency",0).toDouble()/100)); m_tray->setSplitFileName(settings.value("split_file_name",TRUE).toBool()); #if QT_VERSION >= 0x040400 if(m_useStandardIcons) @@ -72,6 +60,42 @@ StatusIcon::StatusIcon(QObject *parent) m_tray->setIcon ( QIcon(":/tray_stop.png")); m_tray->show(); settings.endGroup(); + //actions + QMenu *menu = new QMenu(qobject_cast<QWidget *>(parent)); + QIcon playIcon; + QIcon pauseIcon; + QIcon stopIcon; + QIcon nextIcon; + QIcon previousIcon; +#if QT_VERSION >= 0x040400 + if(m_useStandardIcons) + { + playIcon = QApplication::style()->standardIcon(QStyle::SP_MediaPlay); + pauseIcon = QApplication::style()->standardIcon(QStyle::SP_MediaPause); + stopIcon = QApplication::style()->standardIcon(QStyle::SP_MediaStop); + nextIcon = QApplication::style()->standardIcon(QStyle::SP_MediaSkipForward); + previousIcon = QApplication::style()->standardIcon(QStyle::SP_MediaSkipBackward); + } + else + { +#endif + playIcon = QIcon(":/tray_play.png"); + pauseIcon = QIcon(":/tray_pause.png"); + stopIcon = QIcon(":/tray_stop.png"); + //TODO add more icons +#if QT_VERSION >= 0x040400 + } +#endif + menu->addAction(playIcon,tr("Play"), m_player, SLOT(play())); + menu->addAction(pauseIcon,tr("Pause"), m_core, SLOT(pause())); + menu->addAction(stopIcon,tr("Stop"), m_core, SLOT(stop())); + menu->addSeparator(); + menu->addAction(nextIcon, tr("Next"), m_player, SLOT(next())); + menu->addAction(previousIcon, tr("Previous"), m_player, SLOT(previous())); + menu->addSeparator(); + menu->addAction(tr("Exit"), this, SLOT(exit())); + m_tray->setContextMenu(menu); + connect (m_core, SIGNAL(metaDataChanged ()), SLOT(showMetaData())); connect (m_core, SIGNAL(stateChanged (Qmmp::State)), SLOT(setState(Qmmp::State))); setState(m_core->state()); //update state @@ -131,8 +155,6 @@ void StatusIcon::showMetaData() if (m_showMessage) m_tray->showMessage (tr("Now Playing"), message, QSystemTrayIcon::Information, m_messageDelay); - if (m_showTooltip) - m_tray->setToolTip(message); } void StatusIcon::trayActivated(QSystemTrayIcon::ActivationReason reason) |
