diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-10-16 15:59:23 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-10-16 15:59:23 +0000 |
| commit | 1837bc49ff6645be319decdafb4a896aab79f51f (patch) | |
| tree | 612ca3ad874d88a8e813cbaf103326ef7b7f4edc /src/plugins/General/statusicon/qmmptrayicon.cpp | |
| parent | edcf1ca68a32c85e18ac500990bd28e93e4be2e5 (diff) | |
| download | qmmp-1837bc49ff6645be319decdafb4a896aab79f51f.tar.gz qmmp-1837bc49ff6645be319decdafb4a896aab79f51f.tar.bz2 qmmp-1837bc49ff6645be319decdafb4a896aab79f51f.zip | |
added status icon popup message (patch by Artur Guzik)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1316 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/statusicon/qmmptrayicon.cpp')
| -rw-r--r-- | src/plugins/General/statusicon/qmmptrayicon.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/plugins/General/statusicon/qmmptrayicon.cpp b/src/plugins/General/statusicon/qmmptrayicon.cpp index 21038749e..ad6f03906 100644 --- a/src/plugins/General/statusicon/qmmptrayicon.cpp +++ b/src/plugins/General/statusicon/qmmptrayicon.cpp @@ -20,10 +20,13 @@ #include <QEvent> #include <QWheelEvent> +#include <QMouseEvent> #include <qmmp/soundcore.h> #include "qmmptrayicon.h" +#include <statusiconpopupwidget.h> + QmmpTrayIcon::QmmpTrayIcon(QObject *parent) : QSystemTrayIcon(parent) @@ -35,6 +38,26 @@ QmmpTrayIcon::~QmmpTrayIcon() { } +void QmmpTrayIcon::showNiceToolTip(bool value) +{ + m_showNiceToolTip = value; +} + +void QmmpTrayIcon::setNiceToolTipDelay(int value) +{ + m_niceToolTipDelay = value; +} + +void QmmpTrayIcon::setNiceToolTipOpacity(qreal value) +{ + m_niceToolTipOpacity = value; +} + +void QmmpTrayIcon::setSplitFileName(bool value) +{ + m_splitFileName = value; +} + bool QmmpTrayIcon::event(QEvent *e) { if (e->type() == QEvent::Wheel ) @@ -43,6 +66,12 @@ bool QmmpTrayIcon::event(QEvent *e) e->accept(); return TRUE; } + if (e->type() == QEvent::ToolTip) + { + showToolTip(); + e->accept(); + return TRUE; + } return QSystemTrayIcon::event(e); } @@ -56,4 +85,18 @@ void QmmpTrayIcon::wheelEvent(QWheelEvent *e) volume = qMin(volume,100); core->setVolume(volume - qMax(balance,0)*volume/100, volume + qMin(balance,0)*volume/100); + +} + +void QmmpTrayIcon::showToolTip() +{ + if(m_showNiceToolTip) + { + if(m_PopupWidget.isNull()) + { + m_PopupWidget = new StatusIconPopupWidget(); + } + m_PopupWidget->setWindowOpacity(m_niceToolTipOpacity); + m_PopupWidget->showInfo(geometry().x(),geometry().y(),m_niceToolTipDelay,m_splitFileName); + } } |
