photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp
branchRCL_3
changeset 32 78ad99c24f08
parent 30 a60acebbbd9d
child 57 ea65f74e6de4
--- a/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp	Tue May 11 16:13:40 2010 +0300
+++ b/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp	Tue May 25 12:42:31 2010 +0300
@@ -237,8 +237,17 @@
             GLX_LOG_INFO("CGlxImgVwrMetadataContainer::Licence item");         
             CGlxDRMUtility* drmUtility = CGlxDRMUtility::InstanceL();
             CleanupClosePushL(*drmUtility);
-            drmUtility->ShowDRMDetailsPaneL(iItemMediaList->Item(0).Uri());
+            CreateImageViewerInstanceL();
+            if(iImageViewerInstance->IsPrivate())
+                {
+                drmUtility->ShowDRMDetailsPaneL(iImageViewerInstance->ImageFileHandle());
+                }
+            else
+                {
+                drmUtility->ShowDRMDetailsPaneL(iItemMediaList->Item(0).Uri());
+                }
             CleanupStack::PopAndDestroy(drmUtility);
+            DeleteImageViewerInstance();
             }
         }
     }
@@ -735,6 +744,30 @@
         }
     return ETrue;
     }
- 
+
+// -----------------------------------------------------------------------------
+// CreateImageViewerInstanceL
+// -----------------------------------------------------------------------------
+//
+void CGlxImgVwrMetadataContainer::CreateImageViewerInstanceL()
+    {
+    TRACER("CGlxImgVwrMetadataContainer::CreateImageViewerInstanceL");
+    iImageViewerInstance = CGlxImageViewerManager::InstanceL();    
+    __ASSERT_ALWAYS(iImageViewerInstance, Panic(EGlxPanicNullPointer));
+    }
+
+// -----------------------------------------------------------------------------
+// DeleteImageViewerInstance
+// -----------------------------------------------------------------------------
+//
+void CGlxImgVwrMetadataContainer::DeleteImageViewerInstance()
+    {
+    TRACER("CGlxImgVwrMetadataContainer::DeleteImageViewerInstance");
+    if ( iImageViewerInstance )
+        {
+        iImageViewerInstance->DeleteInstance();
+        }
+    }
+
 
 //End of file