aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/statusicon/qmmptrayicon.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-10-16 15:59:23 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-10-16 15:59:23 +0000
commit1837bc49ff6645be319decdafb4a896aab79f51f (patch)
tree612ca3ad874d88a8e813cbaf103326ef7b7f4edc /src/plugins/General/statusicon/qmmptrayicon.cpp
parentedcf1ca68a32c85e18ac500990bd28e93e4be2e5 (diff)
downloadqmmp-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.cpp43
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);
+ }
}