radioapp/radiowidgets/src/radiostationsview.cpp
changeset 33 11b6825f0862
parent 32 189d20c34778
child 37 451b2e1545b2
child 41 3a6b55c6390c
--- a/radioapp/radiowidgets/src/radiostationsview.cpp	Wed Jun 23 18:12:57 2010 +0300
+++ b/radioapp/radiowidgets/src/radiostationsview.cpp	Tue Jul 06 14:16:27 2010 +0300
@@ -119,12 +119,21 @@
     *mSelectedStation = mFilterModel->data( item->modelIndex(), RadioRole::RadioStationRole ).value<RadioStation>();
 
     HbAction* favoriteAction = mUiLoader->findObject<HbAction>( DOCML::NAME_CONTEXT_FAVORITE );
+
     if ( mSelectedStation->isFavorite() ) {
         favoriteAction->setText( hbTrId( "txt_rad_menu_remove_favourite" ) );
     } else {
         favoriteAction->setText( hbTrId( "txt_rad_menu_add_to_favourites" ) );
     }
 
+    HbAction* playAction = mUiLoader->findObject<HbAction>( DOCML::SV_NAME_PLAY_ACTION );
+
+    if ( mSelectedStation->frequency() == mUiEngine->currentFrequency() ) {
+        playAction->setVisible( false );
+    } else {
+        playAction->setVisible( true );
+    }
+
     menu->setPreferredPos( QPointF( size().width() / 2 - menu->size().width() / 2, coords.y() - menu->size().height() / 2 ) );
     menu->show();
 }
@@ -224,6 +233,16 @@
  * Private slot
  *
  */
+void RadioStationsView::play()
+{
+    LOG("Play from context menu");
+    mUiEngine->setFrequency( mSelectedStation->frequency(), TuneReason::StationsList );
+}
+
+/*!
+ * Private slot
+ *
+ */
 void RadioStationsView::rename()
 {
     HbInputDialog* nameQuery = new HbInputDialog();
@@ -315,6 +334,8 @@
                        this,                            SLOT(startScanning()) );
 
     // Context menu actions
+    connectXmlElement( DOCML::SV_NAME_PLAY_ACTION,      SIGNAL(triggered()),
+                       this,                            SLOT(play()) );
     connectXmlElement( DOCML::SV_NAME_RENAME_ACTION,    SIGNAL(triggered()),
                        this,                            SLOT(rename()) );
     connectXmlElement( DOCML::SV_NAME_FAVORITE_ACTION,  SIGNAL(triggered()),