diff -r 4e84c994a771 -r 82baf59ce8dd utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp --- a/utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp Fri Mar 19 09:28:13 2010 +0200 +++ b/utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp Fri Apr 16 14:56:30 2010 +0300 @@ -23,6 +23,7 @@ #include #include #include +#include #include "mpnowplayingwidget_p.h" #include "mpnowplayingwidget.h" @@ -57,9 +58,20 @@ QGraphicsWidget *widget; bool widgetsOk = false; - - mPlayIcon = new HbIcon( QString(":/icons/play.png")); - mPauseIcon = new HbIcon( QString(":/icons/pause.png")); + //TODO final color resources should be qtc_multimedia_trans_normal when available + QColor normalColor( HbColorScheme::color("foreground") ); + //TODO final color resources should be qtc_multimedia_trans_pressed when available + QColor pressedColor( HbColorScheme::color("popupbackground") ); + + mPlayIconNormal = new HbIcon( QString("qtg_mono_play")); + mPlayIconNormal->setColor( normalColor ); + mPauseIconNormal = new HbIcon( QString("qtg_mono_pause")); + mPauseIconNormal->setColor( normalColor ); + + mPlayIconPressed = new HbIcon( QString("qtg_mono_play")); + mPlayIconPressed->setColor( pressedColor ); + mPauseIconPressed = new HbIcon( QString("qtg_mono_pause")); + mPauseIconPressed->setColor( pressedColor ); mDocumentLoader = new HbDocumentLoader(); if (mDocumentLoader) { @@ -75,10 +87,15 @@ widget = mDocumentLoader->findWidget(QString("primaryText")); mPrimaryText = qobject_cast(widget); + //TODO final color resource should be qtc_multimedia_trans_normal when available + mPrimaryText->setTextColor( normalColor ); + widget = mDocumentLoader->findWidget(QString("secondaryText")); mSecondaryText = qobject_cast(widget); - + //TODO final color resource should be qtc_multimedia_trans_normal when available + mSecondaryText->setTextColor( normalColor ); + widget = mDocumentLoader->findWidget(QString("playPause")); mIcon = qobject_cast(widget); @@ -107,8 +124,10 @@ { TX_ENTRY delete mBackEnd; - delete mPlayIcon; - delete mPauseIcon; + delete mPlayIconNormal; + delete mPauseIconNormal; + delete mPlayIconPressed; + delete mPauseIconPressed; delete mDocumentLoader; TX_EXIT } @@ -157,6 +176,66 @@ } } +/*! + \internal + Changes text and icon color when \a pressed + */ +void MpNowPlayingWidgetPrivate::handleMousePressEvent(QGraphicsSceneMouseEvent *event, bool pressed) +{ + //TODO final color resources should be qtc_multimedia_trans_pressed when available + QColor pressedColor( HbColorScheme::color("popupbackground") ); + //TODO final color resources should be qtc_multimedia_trans_normal when available + QColor normalColor( HbColorScheme::color("foreground") ); + + if( mIcon->windowFrameGeometry().contains( event->pos() ) && pressed) { + if ( mState == Playing ) { + mIcon->setIcon( *mPauseIconPressed ); + } + else { + mIcon->setIcon( *mPlayIconPressed ); + } + } + else if( q_ptr->rect().contains( event->pos() ) && pressed ){ + mPrimaryText->setTextColor( pressedColor ); + mSecondaryText->setTextColor( pressedColor ); + } + else { + mPrimaryText->setTextColor( normalColor ); + mSecondaryText->setTextColor( normalColor ); + if( mState == Playing){ + mIcon->setIcon( *mPauseIconNormal ); + } + else{ + mIcon->setIcon( *mPlayIconNormal ); + } + } +} + +/*! + \internal + Handles theme change + */ +void MpNowPlayingWidgetPrivate::handleThemeChange() +{ + //TODO final color resources should be qtc_multimedia_trans_pressed when available + QColor pressedColor( HbColorScheme::color("popupbackground") ); + //TODO final color resources should be qtc_multimedia_trans_normal when available + QColor normalColor( HbColorScheme::color("foreground") ); + + mPrimaryText->setTextColor( normalColor ); + mSecondaryText->setTextColor( normalColor ); + mPauseIconNormal->setColor( normalColor ); + mPlayIconNormal->setColor( normalColor ); + mPauseIconPressed->setColor( pressedColor ); + mPlayIconPressed->setColor( pressedColor ); + + if( mState == Playing){ + mIcon->setIcon( *mPauseIconNormal ); + } + else{ + mIcon->setIcon( *mPlayIconNormal ); + } +} /*! \internal @@ -171,12 +250,12 @@ emit q_ptr->playbackAttachmentChanged( false ); break; case Playing: - mIcon->setIcon(*mPauseIcon); + mIcon->setIcon(*mPauseIconNormal); if (mState == NotPlaying) emit q_ptr->playbackAttachmentChanged( true ); break; case Paused: - mIcon->setIcon(*mPlayIcon); + mIcon->setIcon(*mPlayIconNormal); if (mState == NotPlaying) emit q_ptr->playbackAttachmentChanged( true ); break;