diff -r ce5ada96ab30 -r 5294c000a26d videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp --- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp Fri Mar 12 15:43:00 2010 +0200 +++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp Mon Mar 15 12:40:47 2010 +0200 @@ -142,6 +142,7 @@ { iResumeArray.Close(); + delete iVideoDetails; delete iVideoIndicator; delete iDataUpdater; delete iDownloadUpdater; @@ -487,6 +488,22 @@ } // ----------------------------------------------------------------------------- +// CVcxHgMyVideosVideoModelHandler::GetVideoId() +// ----------------------------------------------------------------------------- +// +TInt CVcxHgMyVideosVideoModelHandler::GetVideoId( TInt aIndex ) + { + CMPXMedia* media = iVideoArray->MPXMedia( aIndex ); + + if ( media && media->IsSupported( KMPXMediaGeneralId ) ) + { + return media->ValueTObjectL( KMPXMediaGeneralId ).iId1; + } + + return KErrNotFound; + } + +// ----------------------------------------------------------------------------- // CVcxHgMyVideosVideoModelHandler::GetVideoSize() // ----------------------------------------------------------------------------- // @@ -516,7 +533,7 @@ for ( TInt i = 0; i < aOperationTargets.Count(); i++ ) { - media = iVideoArray->MPXMedia( aOperationTargets[i] ); + media = iVideoArray->MPXMediaByMPXItemId( TMPXItemId(aOperationTargets[i],0) ); if ( media && media->IsSupported( KMPXMediaGeneralId ) ) { @@ -526,9 +543,15 @@ mediaToDelete->SetTObjectValueL( KMPXMediaGeneralId, mpxItemId ); mediasToDelete->AppendL( *mediaToDelete ); CleanupStack::PopAndDestroy( mediaToDelete ); + iDataUpdater->PrepareForMoveOrDelete( mpxItemId ); } } + if ( mediasToDelete->Count() <= 0 ) + { + User::Leave( KErrNotFound ); + } + TRAPD( err, iModel.CollectionClient().DeleteVideosL( mediasToDelete ) ); if ( err != KErrNone ) @@ -559,7 +582,7 @@ for ( TInt i = 0; i < aOperationTargets.Count(); i++ ) { - media = iVideoArray->MPXMedia( aOperationTargets[i] ); + media = iVideoArray->MPXMediaByMPXItemId( TMPXItemId(aOperationTargets[i],0) ); if ( media && media->IsSupported( KMPXMediaGeneralId ) ) { @@ -569,10 +592,17 @@ mediaToMoveOrCopy->SetTObjectValueL( KMPXMediaGeneralId, mpxItemId ); mediasToMoveOrCopy->AppendL( *mediaToMoveOrCopy ); CleanupStack::PopAndDestroy( mediaToMoveOrCopy ); + iDataUpdater->PrepareForMoveOrDelete( mpxItemId ); } } + if ( mediasToMoveOrCopy->Count() <= 0 ) + { + User::Leave( KErrNotFound ); + } + iModel.CollectionClient().MoveOrCopyVideosL( mediasToMoveOrCopy, aTargetDrive, aCopy ); + CleanupStack::PopAndDestroy( mediasToMoveOrCopy ); } @@ -1382,6 +1412,10 @@ // void CVcxHgMyVideosVideoModelHandler::VideoDetailsCompletedL( const CMPXMedia& aMedia ) { + if ( !iVideoDetails ) + { + iVideoDetails = CVcxHgMyVideosVideoDetailsDialog::NewL(); + } iVideoDetails->ShowVideoDetailsDialogL( aMedia ); }