diff -r 171e07ac910f -r c8156a91d13c mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp --- a/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp Mon Mar 15 12:40:11 2010 +0200 +++ b/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp Wed Mar 31 21:26:33 2010 +0300 @@ -586,13 +586,12 @@ // } CleanupStack::PopAndDestroy(musicStoreJavaName); - TInt retval2(KErrNone); // P/S key for usb unblocking - retval2 = RProperty::Define( KMPXViewPSUid, - KMPXUSBUnblockingPSStatus, - RProperty::EInt, - KMPlayerRemoteReadPolicy, - KMPlayerRemoteWritePolicy ); + RProperty::Define( KMPXViewPSUid, + KMPXUSBUnblockingPSStatus, + RProperty::EInt, + KMPlayerRemoteReadPolicy, + KMPlayerRemoteWritePolicy ); TInt usbStatus; RProperty::Get(KPSUidUsbWatcher, KUsbWatcherSelectedPersonality, usbStatus); @@ -2747,7 +2746,8 @@ CMPXCollectionViewListBoxArray* array = static_cast( baseArray ); TInt selectionCount( 0 ); - if ( iSelectionIndexCache) + iSelectionIndexCache = iContainer->CurrentSelectionIndicesL(); + if ( iSelectionIndexCache ) { selectionCount = iSelectionIndexCache->Count(); } @@ -4376,7 +4376,7 @@ // embedded playlist view iContainer->EnableMarking( ETrue ); menuBar->SetMenuTitleResourceId( R_MPX_COLLECTION_VIEW_MENUBAR_EMBEDDED_PLAYLIST_VIEW ); - resId = R_MPX_COLLECTION_SONG_LBX_EMPTYTEXT; + resId = R_MPX_VMP_NO_SONGS; #ifdef __ENABLE_MSK mskId = R_QTN_MSK_PLAY; #endif // __ENABLE_MSK @@ -4422,7 +4422,7 @@ case EMPXAlbum: { // album view - resId = R_MPX_COLLECTION_ALBUM_LBX_EMPTYTEXT; + resId = R_MPX_VMP_NO_ALBUMS; break; } case EMPXGenre: @@ -4455,7 +4455,7 @@ // tracks view iContainer->EnableMarking( EFalse ); menuBar->SetMenuTitleResourceId( R_MPX_COLLECTION_VIEW_MENUBAR_NO_MARKING ); - resId = R_MPX_COLLECTION_SONG_LBX_EMPTYTEXT; + resId = R_MPX_VMP_NO_SONGS; #ifdef __ENABLE_MSK mskId = R_QTN_MSK_PLAY; #endif // __ENABLE_MSK @@ -5565,7 +5565,7 @@ case EMPXCmdMusicLibraryDetails: { iCurrentMediaLOp = EMPXOpMediaLCollectionDetails; - CMPXCollectionPath* path = iCollectionUtility->Collection().PathL(); + CMPXCollectionPath* path = iCollectionUiHelper->MusicMenuPathL(); CleanupStack::PushL( path ); RArray attrs; CleanupClosePushL( attrs ); @@ -5742,35 +5742,49 @@ iContainer->ListBoxArray(); if ( iContainer->CurrentListItemCount() > 0 ) { - TInt currentItem( - iContainer->CurrentLbxItemIndex() ); - const CMPXMedia& media = listboxArray->MediaL( currentItem ); - TMPXGeneralType type( - media.ValueTObjectL( KMPXMediaGeneralType ) ); - TMPXGeneralCategory category( - media.ValueTObjectL( KMPXMediaGeneralCategory ) ); - if ( category == EMPXPlaylist && type == EMPXItem ) + TInt currentItem( iContainer->CurrentLbxItemIndex() ); + MPX_DEBUG2( "CMPXCollectionViewHgImp::HandleCommandL currentItem %d", currentItem ); + if (currentItem == KErrNotFound) { - MPX_DEBUG1( "CMPXCollectionViewHgImp::HandleCommandL checking item count in playlist" ); + // no item selected + // start playing previous playlist + if ( iPlaybackUtility->Source() ) + { + iPlaybackUtility->CommandL( EPbCmdPlay ); + HandleCommandL( EMPXCmdGoToNowPlaying ); + } isReady = EFalse; - TMPXItemId id( - media.ValueTObjectL( KMPXMediaGeneralId ) ); - CMPXMedia* entry = CMPXMedia::NewL(); - CleanupStack::PushL( entry ); - entry->SetTObjectValueL( - KMPXMediaGeneralType, EMPXGroup ); - entry->SetTObjectValueL( - KMPXMediaGeneralCategory, EMPXSong ); - entry->SetTObjectValueL( - KMPXMediaGeneralId, id ); - iCurrentFindAllLOp = EMPXOpFindAllLPlaylistTracksCount; - RArray attrs; - CleanupClosePushL( attrs ); - attrs.Append( KMPXMediaGeneralId ); - iCollectionUtility->Collection().FindAllL( - *entry, attrs.Array(), *this ); - CleanupStack::PopAndDestroy( &attrs ); - CleanupStack::PopAndDestroy( entry ); + } + else + { + const CMPXMedia& media = listboxArray->MediaL( currentItem ); + TMPXGeneralType type( + media.ValueTObjectL( KMPXMediaGeneralType ) ); + TMPXGeneralCategory category( + media.ValueTObjectL( KMPXMediaGeneralCategory ) ); + if ( category == EMPXPlaylist && type == EMPXItem ) + { + MPX_DEBUG1( "CMPXCollectionViewHgImp::HandleCommandL checking item count in playlist" ); + isReady = EFalse; + TMPXItemId id( + media.ValueTObjectL( KMPXMediaGeneralId ) ); + CMPXMedia* entry = CMPXMedia::NewL(); + CleanupStack::PushL( entry ); + entry->SetTObjectValueL( + KMPXMediaGeneralType, EMPXGroup ); + entry->SetTObjectValueL( + KMPXMediaGeneralCategory, EMPXSong ); + entry->SetTObjectValueL( + KMPXMediaGeneralId, id ); + iCurrentFindAllLOp = EMPXOpFindAllLPlaylistTracksCount; + RArray attrs; + CleanupClosePushL( attrs ); + attrs.Append( KMPXMediaGeneralId ); + iCollectionUtility->Collection().FindAllL( + *entry, attrs.Array(), *this ); + CleanupStack::PopAndDestroy( &attrs ); + CleanupStack::PopAndDestroy( entry ); + } } } else @@ -6119,6 +6133,10 @@ isHidden = pdPlaybackUtility->Source() ? EFalse : ETrue; pdPlaybackUtility->Close(); } + else + { + isHidden = EFalse; + } return isHidden; } @@ -6239,9 +6257,9 @@ case R_MPX_COLLECTION_VIEW_MENU_1: { HandleInitMusicMenuPaneL(aMenuPane); + aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, NowPlayingOptionVisibilityL() ); if ( isListEmpty ) { - aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdFind, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUpnpPlayVia, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUPnPAiwCmdCopyToExternalCriteria, ETrue ); @@ -6257,7 +6275,6 @@ } else { - aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, NowPlayingOptionVisibilityL() ); aMenuPane->SetItemDimmed( EMPXCmdFind, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUpnpPlayVia, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUPnPAiwCmdCopyToExternalCriteria, ETrue ); @@ -6563,8 +6580,7 @@ aMenuPane->SetItemDimmed( EMPXCmdRename, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdAlbumArt, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdPlaylistDetails, ETrue ); - - aMenuPane->SetItemDimmed( EMPXCmdFindInMusicShop, !iUsingNokiaService ); + aMenuPane->SetItemDimmed( EMPXCmdFindInMusicShop, ETrue ); break; } case R_MPX_ADD_TO_PL_SUB_MENU: @@ -6600,9 +6616,9 @@ case R_MPX_COLLECTION_VIEW_MENU_1: { HandleInitMusicMenuPaneL(aMenuPane); + aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, NowPlayingOptionVisibilityL() ); if ( isListEmpty ) { - aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdFind, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUpnpPlayVia, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUPnPAiwCmdCopyToExternalCriteria, ETrue ); @@ -6618,7 +6634,6 @@ } else { - aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, NowPlayingOptionVisibilityL() ); aMenuPane->SetItemDimmed( EMPXCmdFind, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUpnpPlayVia, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUPnPAiwCmdCopyToExternalCriteria, ETrue ); @@ -6747,10 +6762,9 @@ case R_MPX_COLLECTION_VIEW_MENU_1: { HandleInitMusicMenuPaneL(aMenuPane); - + aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, NowPlayingOptionVisibilityL() ); if ( isListEmpty ) { - aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdFind, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUpnpPlayVia, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUPnPAiwCmdCopyToExternalCriteria, ETrue ); @@ -6765,7 +6779,6 @@ } else { - aMenuPane->SetItemDimmed( EMPXCmdGoToNowPlaying, NowPlayingOptionVisibilityL() ); aMenuPane->SetItemDimmed( EMPXCmdUpnpPlayVia, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdUPnPAiwCmdCopyToExternalCriteria, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdFind, ETrue );