utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp
changeset 20 82baf59ce8dd
parent 19 4e84c994a771
child 29 8192e5b5c935
--- 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 <hbiconitem.h>
 #include <hbdocumentloader.h>
 #include <hbinstance.h>
+#include <hbcolorscheme.h>
 
 #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<HbLabel*>(widget);
+        //TODO final color resource should be qtc_multimedia_trans_normal when available
+        mPrimaryText->setTextColor( normalColor );
+       
 
         widget = mDocumentLoader->findWidget(QString("secondaryText"));
         mSecondaryText = qobject_cast<HbLabel*>(widget);
-
+        //TODO final color resource should be qtc_multimedia_trans_normal when available
+        mSecondaryText->setTextColor( normalColor );
+        
         widget = mDocumentLoader->findWidget(QString("playPause"));
         mIcon = qobject_cast<HbLabel*>(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;