summaryrefslogtreecommitdiffstats
path: root/amarok/src/systray.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-09 23:52:48 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-09 23:52:48 +0000
commit3ce9174229de91411a9abf5381a1f335fe0c6a98 (patch)
tree84b2736fa1b0d3fbf9c60fc04f510d2a13916b09 /amarok/src/systray.h
downloadamarok-3ce9174229de91411a9abf5381a1f335fe0c6a98.tar.gz
amarok-3ce9174229de91411a9abf5381a1f335fe0c6a98.zip
Added abandoned KDE3 version of Amarok
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/amarok@1072335 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'amarok/src/systray.h')
-rw-r--r--amarok/src/systray.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/amarok/src/systray.h b/amarok/src/systray.h
new file mode 100644
index 00000000..9f07c6b2
--- /dev/null
+++ b/amarok/src/systray.h
@@ -0,0 +1,55 @@
+//
+// AmarokSystray
+//
+// Author: Stanislav Karchebny <berkus@users.sf.net>, (C) 2003
+//
+// Copyright: like rest of Amarok
+//
+
+#ifndef AMAROKSYSTRAY_H
+#define AMAROKSYSTRAY_H
+
+#include "engineobserver.h" //baseclass
+#include <ksystemtray.h>
+#include <qpixmap.h>
+
+class App;
+
+namespace Amarok {
+
+class TrayIcon : public KSystemTray, public EngineObserver
+{
+public:
+ TrayIcon( QWidget* );
+ friend class ::App;
+
+protected:
+ // reimpl from engineobserver
+ virtual void engineStateChanged( Engine::State state, Engine::State oldState = Engine::Empty );
+ virtual void engineNewMetaData( const MetaBundle &bundle, bool trackChanged );
+ virtual void engineTrackPositionChanged( long position, bool /*userSeek*/ );
+ // get notified of 'highlight' color change
+ virtual void paletteChange( const QPalette & oldPalette );
+
+private:
+ bool event( QEvent* );
+ void setLastFm( bool );
+
+ // repaints trayIcon showing progress (and overlay if present)
+ void paintIcon( int mergePixels = -1, bool force = false );
+ // blend an overlay icon over 'sourcePixmap' and repaint trayIcon
+ void blendOverlay( QPixmap &sourcePixmap );
+
+ long trackLength, mergeLevel;
+ QPixmap baseIcon, grayedIcon, alternateIcon;
+ QPixmap playOverlay, pauseOverlay;
+ QPixmap *overlay; // the current overlay (may be NULL)
+ int blinkTimerID; // timer ID returned by QObject::startTimer()
+ bool overlayVisible;// used for blinking / hiding overlay
+ /** whether the last.fm icons are visible **/
+ bool m_lastFmMode;
+};
+
+}
+
+#endif