diff -r 171e07ac910f -r c8156a91d13c mpxplugins/viewplugins/views/metadataeditordialog/src/mpxmetadataeditordialog.cpp --- a/mpxplugins/viewplugins/views/metadataeditordialog/src/mpxmetadataeditordialog.cpp Mon Mar 15 12:40:11 2010 +0200 +++ b/mpxplugins/viewplugins/views/metadataeditordialog/src/mpxmetadataeditordialog.cpp Wed Mar 31 21:26:33 2010 +0300 @@ -74,6 +74,8 @@ #include "mpxmetadataeditordialog.hrh" #include "mpxmetadataeditordialog.hlp.hrh" #include "mpxlog.h" +#include + // CONSTANTS const TInt KMPXFileDetailsMaxTitleLen = 32; @@ -233,6 +235,10 @@ { iEikonEnv->DeleteResourceFile( iDrmResourceOffset ); } + if(iDrmUiHandler) + { + delete iDrmUiHandler; + } } // ---------------------------------------------------------------------------- @@ -513,6 +519,9 @@ repository->Get( KMPXMPLocalVariation, val ); iDisablePodcasting = val&KMPXDisablePodcastingOption ? ETrue : EFalse; delete repository; + + //DRM information popup + iDrmUiHandler = DRM::CDrmUiHandling::NewL(); } // ----------------------------------------------------------------------------- @@ -2409,18 +2418,16 @@ if ( aType == EEventKey ) { - switch ( aKeyEvent.iScanCode ) + if (aKeyEvent.iScanCode && (aKeyEvent.iScanCode == EStdKeyUpArrow + || aKeyEvent.iScanCode == EStdKeyDownArrow)) { - case EStdKeyUpArrow: - case EStdKeyDownArrow: - { - UpdateSoftkeyL(); - break; - } - default: - { - break; - } + UpdateSoftkeyL(); + } + + else if ((aKeyEvent.iCode == EKeyOK || aKeyEvent.iCode == EKeyEnter) + && (IdOfFocusControl() == EMPXMetadataEditorDlgCtrlIdDRMDetail)) + { + LaunchDrmInfoL(); } } @@ -2844,7 +2851,11 @@ if (drmProtected) { - //TODO: Pending for UI Spec and localisation + HBufC* detail = StringLoader::LoadLC( R_MPX_CUI_LICENCE_DET_LINK ); + InsertLineL(9,R_MPX_CUI_LICENCE_INFO,ActivePageId() ); + SetControlTextL(EMPXMetadataEditorDlgCtrlIdDRMDetail, detail->Des(), + KNullDesC); + CleanupStack::PopAndDestroy( detail ); } // Get filename @@ -3116,4 +3127,24 @@ } } +// ----------------------------------------------------------------------------- +// CMPXMetadataEditorDialog::LaunchDrmInfoL +// ----------------------------------------------------------------------------- +// +void CMPXMetadataEditorDialog::LaunchDrmInfoL() + + { + MPX_FUNC( "CMPXMetadataEditorDialog::LaunchDrmInfoL" ); + const TDesC& aFileName = iMedia->ValueText(KMPXMediaGeneralUri); + RFs fs; + User::LeaveIfError( fs.Connect() ); + CleanupClosePushL( fs ); + RFile64 drmFile; + User::LeaveIfError( drmFile.Open( + fs, aFileName, EFileRead | EFileShareReadersOrWriters ) ); + CleanupClosePushL( drmFile ); + iDrmUiHandler->ShowDetailsViewL( drmFile ); + CleanupStack::PopAndDestroy( &drmFile ); + CleanupStack::PopAndDestroy( &fs ); + } // End of File