diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-09 23:52:48 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-09 23:52:48 +0000 |
commit | 3ce9174229de91411a9abf5381a1f335fe0c6a98 (patch) | |
tree | 84b2736fa1b0d3fbf9c60fc04f510d2a13916b09 /amarok/src/systray.h | |
download | amarok-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.h | 55 |
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 |