--- 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<TMPXItemId>( 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 );
}