diff -r b023a8d2866a -r ea65f74e6de4 photosgallery/viewframework/drmutility/src/glxdrmutility.cpp --- a/photosgallery/viewframework/drmutility/src/glxdrmutility.cpp Thu Jul 15 18:39:01 2010 +0300 +++ b/photosgallery/viewframework/drmutility/src/glxdrmutility.cpp Thu Aug 19 09:55:03 2010 +0300 @@ -32,6 +32,9 @@ #include "glxtracer.h" #include "glxlog.h" +#include +using namespace DRM; + const TInt KGlxDRMThumbnailHeight = 120; const TInt KGlxDRMThumbnailWidth = 90; @@ -366,15 +369,22 @@ EXPORT_C void CGlxDRMUtility::ShowDRMDetailsPaneL(const TDesC& aUri) { TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL(URI)"); - TRAPD( err, iDrmHelper->LaunchDetailsViewEmbeddedL( aUri ) ); - // if no rights ask user to re-activate - if (err == KErrCANoRights) - { - HBufC* buf = aUri.AllocLC(); - iDrmHelper->ActivateContentL(*buf); - CleanupStack::PopAndDestroy(buf); - } + GLX_LOG_URI("CGlxDRMUtility::ShowDRMDetailsPaneL(%S)", &aUri); + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + RFile64 drmFile; + User::LeaveIfError(drmFile.Open(fs, aUri, EFileRead + | EFileShareReadersOrWriters)); + CleanupClosePushL(drmFile); + + CDrmUiHandling* drmUiHandler = CDrmUiHandling::NewLC(); + TRAP_IGNORE(drmUiHandler->ShowDetailsViewL(drmFile)); + CleanupStack::PopAndDestroy(drmUiHandler); + + CleanupStack::PopAndDestroy(&drmFile); + CleanupStack::PopAndDestroy(&fs); } //============================================================================ @@ -383,12 +393,9 @@ EXPORT_C void CGlxDRMUtility::ShowDRMDetailsPaneL(RFile& aFileHandle) { TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL(RFile)"); - TRAPD( err, iDrmHelper->LaunchDetailsViewEmbeddedL( aFileHandle ) ); - // if no rights ask user to re-activate - if (err == KErrCANoRights) - { - //need to check if we need to handle. - } + CDrmUiHandling* drmUiHandler = CDrmUiHandling::NewLC(); + TRAP_IGNORE(drmUiHandler->ShowDetailsViewL(aFileHandle)); + CleanupStack::PopAndDestroy(drmUiHandler); } //============================================================================