mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp
branchRCL_3
changeset 50 26a1709b9fec
parent 49 455f89b7fcc5
--- a/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp	Thu Jul 15 18:35:42 2010 +0300
+++ b/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp	Thu Aug 19 09:52:08 2010 +0300
@@ -1094,6 +1094,7 @@
                     {
                     iIsDeleting = ETrue;
                     iCollectionUiHelper->DeleteL( *path, this );
+                    iFirstIndexOnScreen = iContainer->FirstIndexOnScreen();               
                     }
                 else if( iContainer )
                     {
@@ -1270,7 +1271,7 @@
             else if ( ( aIndex > 0 )
                 && ( aIndex < iContainer->CurrentListItemCount() ) )
                 {
-                // No need to do anything here
+				iContainer->SetLbxCurrentItemIndexAndDraw( aIndex );
                 }
             else
                 {
@@ -4287,7 +4288,16 @@
             }
         else
             {
-            UpdateListBoxL( aEntries, aIndex, aComplete );
+            TInt topIndex = aIndex;
+            if ( iFirstIndexOnScreen > 0 )
+                {
+                topIndex = iFirstIndexOnScreen;
+                if ( aComplete )
+                    {
+                    iFirstIndexOnScreen = 0;
+                    }
+                }
+            UpdateListBoxL( aEntries, topIndex, aComplete );            
             }
 #else
         UpdateListBoxL( aEntries, aIndex, aComplete );
@@ -6974,6 +6984,14 @@
         static_cast<CMPXCollectionViewListBoxArray*>(
         iContainer->ListBoxArray() );
 	const CMPXMedia& containerMedia = array->ContainerMedia();
+
+    if ( &containerMedia == NULL )
+        {
+        // If containerMedia is NULL, Dim all options 
+        DimAllOptions(aResourceId, aMenuPane);
+        return; 
+        } 
+		
 	TMPXGeneralType containerType(
 		containerMedia.ValueTObjectL<TMPXGeneralType>( KMPXMediaGeneralType ) );
 	TMPXGeneralCategory containerCategory(
@@ -8476,4 +8494,51 @@
     else
         return EFalse;
     }
+
+void CMPXCollectionViewHgImp::DimAllOptions(TInt aResourceId, CEikMenuPane* aMenuPane)
+    {
+    switch ( aResourceId )
+        {
+        case R_MPX_COLLECTION_VIEW_MENU_1:
+            {
+            aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdGoToArtistAlbums, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdGoToAllSongs, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdGoToPlaylists, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdGoToGenre, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdGoToPodcasts, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdGoToMusicShop, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdGoToMultipleMusicShop, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdMusicLibraryDetails, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdRefreshLibrary, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdAbout, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdFind, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdUpnpPlayVia, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdUPnPAiwCmdCopyToExternalCriteria, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdCreatePlaylist, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdAddToPlaylist, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdAddSongs, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdReorder, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdSend, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdDelete, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdRemove, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdPlayItem, ETrue );
+            break;
+            }
+        case R_MPX_COLLECTION_VIEW_MENU_2:
+            {
+            aMenuPane->SetItemDimmed( EMPXCmdRename, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdAlbumArt, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdFindInMusicShop, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdSongDetails, ETrue );
+            aMenuPane->SetItemDimmed( EMPXCmdPlaylistDetails, ETrue );
+            break;
+            }
+        case R_AVKON_MENUPANE_MARKABLE_LIST:
+            {
+            aMenuPane->SetItemDimmed(EAknCmdEditListMenu, ETrue);
+            break;
+            }
+        }    
+    }
 //  End of File