mpxplugins/viewplugins/views/podcastview/src/mpxpodcastcollectionviewimp.cpp
branchRCL_3
changeset 21 cb96c29156b2
parent 15 a1247965635c
--- a/mpxplugins/viewplugins/views/podcastview/src/mpxpodcastcollectionviewimp.cpp	Wed Jun 09 09:38:28 2010 +0300
+++ b/mpxplugins/viewplugins/views/podcastview/src/mpxpodcastcollectionviewimp.cpp	Mon Jun 21 15:37:19 2010 +0300
@@ -125,6 +125,8 @@
 // MACROS
 _LIT(KMPXCollDetailsItemsFormat, "%S\t%S");
 
+_LIT(KEmptyTitle, " ");
+
 #ifdef __ENABLE_PODCAST_IN_MUSIC_MENU
 #define KMusicCollectionUid 0x101FFC3A
 #endif
@@ -176,6 +178,7 @@
 
     if (iViewUtility)
         {
+        iViewUtility->RemoveObserver( this );
         iViewUtility->Close();
         }
 
@@ -489,6 +492,7 @@
     // status of listbox items before the list box is updated in HandleOpen
     iHandleOpenProcessed = EFalse;
     iSelectedItem = KMPXInvalidItemId;
+    iGoToNowPlaying = EFalse;
     }
 
 // ---------------------------------------------------------------------------
@@ -662,7 +666,7 @@
                 MPX_DEBUG2("CMPXPodcastCollectionViewImp::UpdateTitlePaneL Title is %S", iTitle);
                 if (iTitle->Length() == 0)
                     {
-                    HBufC* titleText = StringLoader::LoadLC(R_MPX_QTN_NMP_UNKNOWN_TITLE);
+                    HBufC* titleText = StringLoader::LoadLC(R_MPX_TITLE_UNKNOWN_PODCAST);
                     title->SetTextL(*titleText);
                     CleanupStack::PopAndDestroy(titleText);
                     }
@@ -3089,6 +3093,7 @@
             }
         case EMPXCmdGoToNowPlaying:
             {
+            iGoToNowPlaying = ETrue;
             AppUi()->HandleCommandL( aCommand );
             break;
             }
@@ -3554,6 +3559,8 @@
         iNumEpisode = NULL;
         TRAP_IGNORE(UpdateNaviPaneL());
         }
+	// for Avkon calling Deactivate, not manually hiding controls, reset iGoToNowPlaying
+    iGoToNowPlaying = EFalse;
     }
 
 // ---------------------------------------------------------------------------
@@ -3938,6 +3945,11 @@
                 CleanupStack::PushL(cpath);
 
                 MPX_DEBUG_PATH(*cpath);
+                
+				// It is in episode list view and opens now playing view
+                if ( cpath->Levels() == 3 )
+                    iGoToNowPlaying = ETrue;
+                
                 if (cpath->Levels() == (iLastDepth + 1))
                     {
                     // navigated in one level
@@ -4239,7 +4251,23 @@
     if ( aCurrentViewType.iUid == KMPXPluginTypeCollectionUid )
         {
         TRAP_IGNORE( UpdateNaviPaneL() );
-        }
+        } 
+    else if ( ( aCurrentViewType.iUid == KMPXPluginTypePlaybackUid ) && ( iGoToNowPlaying == EFalse ) ) 
+        {
+        if ( iContainer )
+            {
+            iContainer->HideContainerWindow();
+                    
+            // set title to blank to avoid title flickering
+            CAknTitlePane* title( static_cast<CAknTitlePane*>
+                ( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ))));
+            if ( title )
+                {
+                title->SetTextL(KEmptyTitle); 
+                title->DrawNow();
+                }
+            }
+     	}   
     }
 
 // -----------------------------------------------------------------------------