diff -r 839377eedc2b -r befca0ec475f videocollection/hgmyvideos/src/vcxhgmyvideosvideodetailsdialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideodetailsdialog.cpp Wed Sep 01 12:30:28 2010 +0100 @@ -0,0 +1,135 @@ +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: My Videos Video Details Dialog.* +*/ + + + + +// INCLUDE FILES +#include +#include +#include +#include +#include "vcxhgmyvideosvideodetailsdialog.h" +#include +#include +#include +#include + + +// ============================ MEMBER FUNCTIONS ============================= + +// --------------------------------------------------------------------------- +// CVcxHgMyVideosVideoDetailsDialog::CVcxHgMyVideosVideoDetailsDialog() +// --------------------------------------------------------------------------- +// +CVcxHgMyVideosVideoDetailsDialog::CVcxHgMyVideosVideoDetailsDialog() + { + + } + +// --------------------------------------------------------------------------- +// CVcxHgMyVideosVideoDetailsDialog::CVcxHgMyVideosVideoDetailsDialog() +// --------------------------------------------------------------------------- +// +CVcxHgMyVideosVideoDetailsDialog::~CVcxHgMyVideosVideoDetailsDialog() + { + if ( iDetailsAo->IsActive() ) + { + iDetailsAo->Cancel(); + } + delete iDetailsAo; + delete iDetailsMedia; + } + +// ----------------------------------------------------------------------------- +// CVcxHgMyVideosVideoDetailsDialog::NewL +// +// ----------------------------------------------------------------------------- +// +CVcxHgMyVideosVideoDetailsDialog* CVcxHgMyVideosVideoDetailsDialog::NewL() + { + CVcxHgMyVideosVideoDetailsDialog* self = + new (ELeave) CVcxHgMyVideosVideoDetailsDialog(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// ----------------------------------------------------------------------------- +// CVcxHgMyVideosVideoDetailsDialog::ConstructL +// +// ----------------------------------------------------------------------------- +// +void CVcxHgMyVideosVideoDetailsDialog::ConstructL() + { + iDetailsAo = CIdle::NewL( CActive::EPriorityStandard ); + } + +// --------------------------------------------------------------------------- +// CVcxHgMyVideosVideoDetailsDialog::ShowVideoDetailsDialogL() +// --------------------------------------------------------------------------- +// +void CVcxHgMyVideosVideoDetailsDialog::ShowVideoDetailsDialogL( const CMPXMedia& aMedia ) + { + if ( iDetailsMedia ) + { + delete iDetailsMedia; + iDetailsMedia = NULL; + } + iDetailsMedia = CMPXMedia::NewL( aMedia ); + + ActivateDetailsActiveObject(); + } + +// ----------------------------------------------------------------------------- +// CVcxHgMyVideosVideoDetailsDialog::ActivateDetailsActiveObject +// ----------------------------------------------------------------------------- +// +void CVcxHgMyVideosVideoDetailsDialog::ActivateDetailsActiveObject() + { + if ( !iDetailsAo->IsActive() ) + { + iDetailsAo->Start( TCallBack( CVcxHgMyVideosVideoDetailsDialog::ShowDetailsL, this ) ); + } + } + +// ------------------------------------------------------------------------------------------------- +// CVcxHgMyVideosVideoDetailsDialog::ShowDetailsL +// ------------------------------------------------------------------------------------------------- +// +TInt CVcxHgMyVideosVideoDetailsDialog::ShowDetailsL( TAny* aPtr ) +{ + static_cast(aPtr)->DoShowDetailsL(); + return KErrNone; +} + +// ------------------------------------------------------------------------------------------------- +// CVcxHgMyVideosVideoDetailsDialog::DoShowDetailsL +// ------------------------------------------------------------------------------------------------- +// +void CVcxHgMyVideosVideoDetailsDialog::DoShowDetailsL() + { + if ( iDetailsMedia ) + { + CFileDetailsPluginIF* fdPlugin = CFileDetailsPluginIF::NewL(); + CleanupStack::PushL( fdPlugin ); + fdPlugin->ShowFileDetailsL( *iDetailsMedia ); + CleanupStack::PopAndDestroy(); + } + } + +