mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp
changeset 4 beaa16f65879
parent 2 b70d77332e66
child 5 2a40e88564c8
--- a/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp	Fri Jan 22 09:43:47 2010 +0200
+++ b/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp	Tue Jan 26 11:56:33 2010 +0200
@@ -732,6 +732,14 @@
             }
         else if ( aType == KEikDynamicLayoutVariantSwitch )
             {
+            if ( iCurrentViewType == EMPXViewCoverFlow )
+                {
+                if ( iDialog ) 
+                    {
+                    iDialog->CancelPopup();
+                    iDialog = NULL;
+                    }                
+                }
             if( iCurrentViewType == EMPXViewTBone )
                 {
 				iCollectionUtility->Collection().BackL();
@@ -1479,6 +1487,7 @@
     if( iContext == EContextGroupAlbum ||
         iContext == EContextGroupArtist ||
         iContext == EContextGroupSong ||
+        iContext == EContextItemPlaylist ||
         iContext == EContextGroupGenre )
         {
         iListWidget->EnableScrollBufferL(*this, KMPXListBufferSize, KMPXListBufferSize/4);
@@ -4171,14 +4180,14 @@
     CAknSinglePopupMenuStyleListBox* listBox = new ( ELeave ) CAknSinglePopupMenuStyleListBox;
     CleanupStack::PushL( listBox );
 
-    CAknPopupList* dialog = CAknPopupList::NewL(listBox, R_MPX_COLLECTION_ALBUMSONGS_LIST_CBA,
+    iDialog = CAknPopupList::NewL(listBox, R_MPX_COLLECTION_ALBUMSONGS_LIST_CBA,
             AknPopupLayouts::EDynMenuWindow );
 
-	CleanupStack::PushL( dialog );
-
-    listBox->ConstructL( dialog,
+	CleanupStack::PushL( iDialog );
+
+    listBox->ConstructL( iDialog,
             EAknListBoxSelectionList | EAknListBoxScrollBarSizeExcluded  );
-	CleanupStack::Pop( dialog );
+	
 
     listBox->CreateScrollBarFrameL( ETrue );
     listBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
@@ -4190,7 +4199,7 @@
         const TDesC& album = iSelectedMediaInAlbumView->ValueText( KMPXMediaMusicAlbum );
             if ( album.Compare( KNullDesC ) != 0 )
             {
-            dialog->SetTitleL( album );
+            iDialog->SetTitleL( album );
             }
         }
 
@@ -4227,10 +4236,11 @@
     CTextListBoxModel* model = listBox->Model();
     model->SetItemTextArray( songList );
     model->SetOwnershipType( ELbmOwnsItemArray );
-    TBool play = dialog->ExecuteLD();
-    TInt index = listBox->CurrentItemIndex();
+    TBool play = iDialog->ExecuteLD();
+    CleanupStack::Pop( iDialog );
     if( play )
         {
+        TInt index = listBox->CurrentItemIndex();
         // If item in list was opened, we only play the selected one.
         SaveSelectedAlbumItemL(iSelectedAlbumIndex);
         // Open the selected song of album