--- a/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp Thu Jul 15 18:39:01 2010 +0300
+++ b/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp Thu Aug 19 09:55:03 2010 +0300
@@ -1,68 +1,43 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-*/
-/*
- * glximgvwrmetadatacontainer.cpp
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
- * Created on: Oct 22, 2009
- * Author: sourbasu
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Image viewer metadata dialog implementation
*/
-
#include "glximgvwrmetadatacontainer.h"
#include "glxustringconverter.h" // converts the symbian types to UString type
-#include <AknUtils.h>
#include <StringLoader.h>
#include <glxmetadatadialog.rsg>
-#include <glxviewbase.rsg>
#include <glxlog.h>
#include <glxtracer.h>
#include <glxscreenfurniture.h>
#include <glxdetailsmulmodelprovider.h> //Details data provider
#include <glxdetailsboundcommand.hrh>
-#include <glxcommandhandleraddtocontainer.h> // For CGlxCommandHandlerAddToContainer
-#include <glxcommandhandlers.hrh> // for command handler id
-#include <glxcommandfactory.h> //for command factory
#include <mpxcommandgeneraldefs.h> // Content ID identifying general category of content provided
-
-#include <glxtextentrypopup.h>
-#include <glxcollectionpluginall.hrh>
-#include <glxuistd.h>
-#include <glxcollectionplugintags.hrh> // tag collection plugin uid
-#include <glxthumbnailattributeinfo.h> // KGlxMediaIdThumbnail
#include <glxattributeretriever.h> // CGlxAttributeReteiver
-#include <aknQueryControl.h>
#include <glxdrmutility.h> //For launching DRM details pane
-#include <glxgeneraluiutilities.h> // General utilties class definition
-#include <ExifModify.h>
-#include <glxuiutilities.rsg> //For CExifModify
+#include <glxuiutilities.rsg>
#include <mpxmediadrmdefs.h>
#include <glxfilterfactory.h>
-#include <glxcollectionpluginimageviewer.hrh>
-
-//marquee
+#include <glxcollectionpluginimageviewer.hrh>
+#include <eikfrlb.h> // For marquee
+#include <eikfrlbd.h> // For marquee
-#include <eikfrlb.h>
-#include <eikfrlbd.h>
-const TInt KMaxMediaPopupTitleLength = 0x100;
-const TInt KMediaListId = 0x2000D248;
-const TInt KMarqueeLoopCount = 3;
-const TInt KMarqueeScrollAmount = 20;
-const TInt KMarqueeScrollDelay = 1000000;
-const TInt KMarqueeScrollInterval = 200000;
+const TInt KMediaListId = 0x2000D248;
+const TInt KMarqueeLoopCount = 3;
+const TInt KMarqueeScrollAmount = 20;
+const TInt KMarqueeScrollDelay = 1000000;
+const TInt KMarqueeScrollInterval = 200000;
// ============================ MEMBER FUNCTIONS ===============================
@@ -70,10 +45,12 @@
// NewL
// ---------------------------------------------------------
//
-CGlxImgVwrMetadataContainer* CGlxImgVwrMetadataContainer::NewL( const TRect& aRect,const TDesC& item)
+CGlxImgVwrMetadataContainer* CGlxImgVwrMetadataContainer::NewL(
+ const TRect& aRect, const TDesC& item)
{
- TRACER("CGlxImgVwrMetadataContainer::NewL");
- CGlxImgVwrMetadataContainer* self = CGlxImgVwrMetadataContainer::NewLC( aRect,item);
+ TRACER("CGlxImgVwrMetadataContainer::NewL");
+ CGlxImgVwrMetadataContainer* self = CGlxImgVwrMetadataContainer::NewLC(
+ aRect, item);
CleanupStack::Pop(self);
return self;
}
@@ -82,12 +59,14 @@
// NewLC
// ---------------------------------------------------------
//
-CGlxImgVwrMetadataContainer* CGlxImgVwrMetadataContainer::NewLC( const TRect& aRect,const TDesC& aUri)
+CGlxImgVwrMetadataContainer* CGlxImgVwrMetadataContainer::NewLC(
+ const TRect& aRect, const TDesC& aUri)
{
- TRACER("CGlxImgVwrMetadataContainer::NewLC");
- CGlxImgVwrMetadataContainer* self = new(ELeave) CGlxImgVwrMetadataContainer(aUri);
+ TRACER("CGlxImgVwrMetadataContainer::NewLC");
+ CGlxImgVwrMetadataContainer* self =
+ new (ELeave) CGlxImgVwrMetadataContainer(aUri);
CleanupStack::PushL(self);
- self->ConstructL( aRect);
+ self->ConstructL(aRect);
return self;
}
@@ -95,18 +74,18 @@
// CGlxImgVwrMetadataContainer
// ---------------------------------------------------------
//
-CGlxImgVwrMetadataContainer::CGlxImgVwrMetadataContainer(const TDesC& aUri)
-:iUri(aUri)
- {
- // No implementation
- }
+CGlxImgVwrMetadataContainer::CGlxImgVwrMetadataContainer(
+ const TDesC& aUri) : iUri(aUri)
+ {
+ // No implementation
+ }
// ---------------------------------------------------------
// CGlxImgVwrMetadataContainer::ConstructL
// ---------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::ConstructL( const TRect& /*aRect*/ )
- {
+void CGlxImgVwrMetadataContainer::ConstructL(const TRect& /*aRect*/)
+ {
TRACER("CGlxMetadataContainer::ConstructLL()");
//Creating the RBuf texts for all the items except tags & albums
//which would be updated as whne the item is edited
@@ -121,19 +100,19 @@
CGlxImgVwrMetadataContainer::~CGlxImgVwrMetadataContainer()
{
TRACER("CGlxImgVwrMetadataContainer::~CGlxImgVwrMetadataContainer");
- if( iItemMediaList )
+ if (iItemMediaList)
{
iItemMediaList->RemoveContext(iMainListAttributecontext);
iItemMediaList->RemoveMediaListObserver(this);
iItemMediaList->Close();
- iItemMediaList = NULL;
- }
- if( iMainListAttributecontext )
+ iItemMediaList = NULL;
+ }
+ if (iMainListAttributecontext)
{
delete iMainListAttributecontext;
iMainListAttributecontext = NULL;
}
- if( IsVisible() )
+ if (IsVisible())
{
MakeVisible(EFalse);
}
@@ -147,43 +126,38 @@
{
TRACER("CGlxMetadataContainer::HandleAttributesAvailableL()");
//returns the active medialist.
- return *iItemMediaList;
+ return *iItemMediaList;
}
//-----------------------------------------------------------------------------
// CGlxImgVwrMetadataContainer::CreateSettingItemL
//-----------------------------------------------------------------------------
-CAknSettingItem* CGlxImgVwrMetadataContainer::CreateSettingItemL(TInt aResourceId)
+CAknSettingItem* CGlxImgVwrMetadataContainer::CreateSettingItemL(
+ TInt aResourceId)
{
- TRACER("CGlxImgVwrMetadataContainer::CreateSettingItemL");
+ TRACER("CGlxImgVwrMetadataContainer::CreateSettingItemL");
CAknSettingItem* settingItem = NULL; // No need to push onto cleanup stack
- iTextSetter.Zero();
+ iTextSetter.Zero();
//Creating a empty Settings list box which will be populated with metadata in handleattributeavailable
- switch(aResourceId)
+ switch (aResourceId)
{
case EImgVwrNameItem:
case EImgVwrDateAndTimeItem:
- case EImgVwrDescriptionItem:
- {
- settingItem = new (ELeave) CAknTextSettingItem(
- aResourceId, iTextSetter );
-
- break;
- }
- case EImgVwrSizeItem:
+ case EImgVwrMimeTypeItem:
+ case EImgVwrSizeItem:
case EImgVwrResolutionItem:
{
- settingItem = new (ELeave) CAknTextSettingItem(
- aResourceId, iTextSetter );
+ settingItem = new (ELeave) CAknTextSettingItem(aResourceId,
+ iTextSetter);
- break;
- }
+ break;
+ }
case EImgVwrlicenseItem:
{
- settingItem = new (ELeave) CAknTextSettingItem(
- aResourceId, iTextSetter );
+ settingItem = new (ELeave) CAknTextSettingItem(aResourceId,
+ iTextSetter);
//Hide the item until we get the attributes
//where in we check for the usage rights.
settingItem->SetHidden(ETrue);
@@ -194,57 +168,65 @@
default:
{
- break;
+ break;
}
}
return settingItem;
}
-//-----------------------------------------------------------------------------
-// CGlxImgVwrMetadataContainer::IsItemModifiable
-//-----------------------------------------------------------------------------
-TBool CGlxImgVwrMetadataContainer::IsItemModifiable()
- {
- TRACER("CGlxMetadataContainer::IsItemModifiable()");
- //Only items like name , description, tag and albums are modifiable
- //The check is for the items from ENameItem(0) tille ETagsItem(4)
- if(ListBox()->CurrentItemIndex()<=ETagsItem)
- {
- return EFalse;
- }
- //return ETrue to dim the item
- return ETrue;
-
- }
//-----------------------------------------------------------------------------
// CGlxImgVwrMetadataContainer::HandleListBoxEventL
//-----------------------------------------------------------------------------
-void CGlxImgVwrMetadataContainer::HandleListBoxEventL(CEikListBox* /*aListBox*/,
- TListBoxEvent aEventType)
+void CGlxImgVwrMetadataContainer::HandleListBoxEventL(
+ CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
{
- TRACER("CGlxMetadataContainer::HandleListBoxEventL()");
- GLX_LOG_INFO("CGlxImgVwrMetadataContainer::HandleListBoxEventL");
+ TRACER("CGlxImgVwrMetadataContainer::HandleListBoxEventL()");
if (aEventType == EEventItemSingleClicked)
{
- if(iItemMediaList->Count() == 0)
+ if (iItemMediaList->Count() == 0)
{
- GLX_LOG_INFO("CGlxImgVwrMetadataContainer:: NO Items");
+ GLX_LOG_INFO("CGlxImgVwrMetadataContainer:: NO Items");
return;
}
- TInt index = ListBox()->CurrentItemIndex() ;
- if(EImgVwrlicenseItem == index)
+ TInt index = ListBox()->CurrentItemIndex();
+ if (EImgVwrlicenseItem == index)
{
- GLX_LOG_INFO("CGlxImgVwrMetadataContainer::Licence item");
+ GLX_LOG_INFO("CGlxImgVwrMetadataContainer::Licence item");
CGlxDRMUtility* drmUtility = CGlxDRMUtility::InstanceL();
CleanupClosePushL(*drmUtility);
CreateImageViewerInstanceL();
- if(iImageViewerInstance->IsPrivate())
+ if (iImageViewerInstance->IsPrivate())
{
- drmUtility->ShowDRMDetailsPaneL(iImageViewerInstance->ImageFileHandle());
+ RFile64& fileHandle = iImageViewerInstance->ImageFileHandle();
+ // check if rights have expired
+ TBool expired = EFalse;
+ expired = !drmUtility->ItemRightsValidityCheckL(fileHandle,
+ ETrue);
+
+ if (expired)
+ {
+ drmUtility->ShowRightsInfoL(fileHandle);
+ }
+ else
+ {
+ drmUtility->ShowDRMDetailsPaneL(fileHandle);
+ }
}
else
{
- drmUtility->ShowDRMDetailsPaneL(iItemMediaList->Item(0).Uri());
+ const TDesC& uri = iItemMediaList->Item(0).Uri();
+ // check if rights have expired
+ TBool expired = EFalse;
+ expired = !drmUtility->ItemRightsValidityCheckL(uri, ETrue);
+
+ if (expired)
+ {
+ drmUtility->ShowRightsInfoL(uri);
+ }
+ else
+ {
+ drmUtility->ShowDRMDetailsPaneL(uri);
+ }
}
CleanupStack::PopAndDestroy(drmUtility);
DeleteImageViewerInstance();
@@ -252,139 +234,128 @@
}
}
-// ----------------------------------------------------------------------------
-// CGlxImgVwrMetadataContainer::ViewDynInitMenuPaneL
-// ----------------------------------------------------------------------------
-//
-void CGlxImgVwrMetadataContainer::ViewDynInitMenuPaneL(TInt aMenuId, CEikMenuPane* aMenuPane)
- {
- TRACER("CGlxMetadataContainer::ViewDynInitMenuPaneL()");
- if( aMenuId == R_METADATA_MENU )
- {
- //Set dim the options based on the utem selected
- //Viewdetails option will be availble only for the license item
- aMenuPane->SetItemDimmed(KGlxViewBoundMenuCommandId,IsLicenseItem());
- }
- }
-
//Medialist callbacks.
// ----------------------------------------------------------------------------
// CGlxImgVwrMetadataContainer::HandleAttributesAvailableL
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleAttributesAvailableL( TInt /*aItemIndex*/,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList )
+void CGlxImgVwrMetadataContainer::HandleAttributesAvailableL(
+ TInt /*aItemIndex*/, const RArray<TMPXAttribute>& aAttributes,
+ MGlxMediaList* aList)
{
TRACER("CGlxMetadataContainer::HandleAttributesAvailableL()");
//generic medialist for the item for all the attributes required other than tags and albums.
TInt x = aAttributes.Count();
- if(aList == iItemMediaList)
+ if (aList == iItemMediaList)
{
// Loop untill it checks for all the avialable attributes
- for (TInt i = aAttributes.Count() - 1; i >= 0 ; i--)
+ for (TInt i = aAttributes.Count() - 1; i >= 0; i--)
{
//set attributes to the items in the container
- SetAttributesL(aAttributes[i]);
+ SetAttributesL(aAttributes[i]);
}
}
-
}
// ----------------------------------------------------------------------------
// HandleItemAddedL
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleItemAddedL( TInt /*aStartIndex*/, TInt /*aEndIndex*/,
- MGlxMediaList* aList )
+void CGlxImgVwrMetadataContainer::HandleItemAddedL(TInt /*aStartIndex*/,
+ TInt /*aEndIndex*/, MGlxMediaList* aList)
{
TRACER("CGlxMetadataContainer::HandleItemAddedL()");
- if(!iMarquee)
+ if (!iMarquee)
{
- EnableMarqueingL();
+ EnableMarqueingL();
}
- SetDurationLIicenseItemVisibilityL();
- if(aList == iItemMediaList)
+ SetLicenseItemVisibilityL();
+ if (aList == iItemMediaList)
{
- if(iItemMediaList->Count())
+ if (iItemMediaList->Count())
{
TGlxMedia item = iItemMediaList->Item(0);
- CGlxUStringConverter* stringConverter = CGlxUStringConverter::NewL();
- CleanupStack::PushL(stringConverter );
- for(TInt index = 0; index <= EImgVwrlicenseItem; index++)
+ CGlxUStringConverter* stringConverter =
+ CGlxUStringConverter::NewL();
+ CleanupStack::PushL(stringConverter);
+ for (TInt index = 0; index <= EImgVwrlicenseItem; index++)
{
- HBufC* string = NULL;
- iTextSetter.Zero();
+ HBufC* string = NULL;
+ iTextSetter.Zero();
- if(index == EImgVwrSizeItem)
+ if (index == EImgVwrSizeItem)
{
- stringConverter->AsStringL(item,
- KMPXMediaGeneralSize,0, string );
+ stringConverter->AsStringL(item, KMPXMediaGeneralSize, 0,
+ string);
}
- else if(index == EImgVwrNameItem)
+ else if (index == EImgVwrNameItem)
+ {
+ stringConverter->AsStringL(item, KMPXMediaGeneralTitle,
+ 0, string);
+ }
+ else if (index == EImgVwrDateAndTimeItem)
{
stringConverter->AsStringL(item,
- KMPXMediaGeneralTitle,0, string );
+ KGlxMediaGeneralLastModifiedDate,
+ R_QTN_DATE_USUAL_WITH_ZERO, string);
}
- else if(index == EImgVwrDateAndTimeItem)
- {
- stringConverter->AsStringL( item,
- KGlxMediaGeneralLastModifiedDate,
- R_QTN_DATE_USUAL_WITH_ZERO,string );
+ else if (index == EImgVwrMimeTypeItem)
+ {
+ stringConverter->AsStringL(item,
+ KMPXMediaGeneralMimeType, 0, string);
}
- else if(index == EImgVwrDescriptionItem)
+ else if (index == EImgVwrResolutionItem)
{
stringConverter->AsStringL(item,
- KMPXMediaGeneralComment,0, string );
+ KGlxMediaGeneralDimensions, 0, string);
}
- else if(index == EImgVwrResolutionItem)
+ else if (index == EImgVwrlicenseItem)
{
- stringConverter->AsStringL(item,
- KGlxMediaGeneralDimensions,0, string );
- }
- else if(index == EImgVwrlicenseItem)
- {
- // If an item is DRM protected, License field in details
- // should display "View Details"
- string = StringLoader::LoadL(R_GLX_METADATA_VIEW_OPTIONS_VIEW);
- }
- else
+ // If an item is DRM protected, License field in details
+ // should display "View Details"
+ string = StringLoader::LoadL(
+ R_GLX_METADATA_VIEW_OPTIONS_VIEW);
+ }
+ else
{
//no implementation
- }
- if(string)
+ }
+ if (string)
{
iTextSetter.Zero();
iTextSetter.Append(*string);
}
- CleanupStack::PushL( string );
- EditItemL(index,EFalse);
- CleanupStack::PopAndDestroy(string );
+ CleanupStack::PushL(string);
+ EditItemL(index, EFalse);
+ CleanupStack::PopAndDestroy(string);
}
- CleanupStack::PopAndDestroy(stringConverter );
- }
+ CleanupStack::PopAndDestroy(stringConverter);
+ }
}
-
+ }
- }
// ----------------------------------------------------------------------------
// EnableMarqueingL
// ----------------------------------------------------------------------------
//
void CGlxImgVwrMetadataContainer::EnableMarqueingL()
{
- TRACER("CGlxImgVwrMetadataContainer::EnableMarqueingL()");
+ TRACER("CGlxImgVwrMetadataContainer::EnableMarqueingL()");
iMarquee = ETrue;
ListBox()->UseLogicalToVisualConversion(ETrue);
- ListBox()->ItemDrawer()->ColumnData()->SetMarqueeParams (KMarqueeLoopCount,
- KMarqueeScrollAmount, KMarqueeScrollDelay, KMarqueeScrollInterval);
+ ListBox()->ItemDrawer()->ColumnData()->SetMarqueeParams(
+ KMarqueeLoopCount, KMarqueeScrollAmount, KMarqueeScrollDelay,
+ KMarqueeScrollInterval);
ListBox()->ItemDrawer()->ColumnData()->EnableMarqueeL(ETrue);
- }
+ }
+
// ----------------------------------------------------------------------------
// HandleCommandCompleteL
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleCommandCompleteL(TAny* /*aSessionId*/,
- CMPXCommand* /*aCommandResult*/, TInt /*aError*/, MGlxMediaList* /*aList*/)
+void CGlxImgVwrMetadataContainer::HandleCommandCompleteL(
+ TAny* /*aSessionId*/, CMPXCommand* /*aCommandResult*/,
+ TInt /*aError*/, MGlxMediaList* /*aList*/)
{
TRACER("CGlxImgVwrMetadataContainer::HandleCommandCompleteL()");
}
@@ -393,63 +364,58 @@
// HandleItemRemoved
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleItemRemovedL( TInt /*aStartIndex*/, TInt /*aEndIndex*/,
- MGlxMediaList* /*aList*/ )
+void CGlxImgVwrMetadataContainer::HandleItemRemovedL(TInt /*aStartIndex*/,
+ TInt /*aEndIndex*/, MGlxMediaList* /*aList*/)
{
- TRACER("CGlxImgVwrMetadataContainer::HandleItemRemovedL()");
- }
+ TRACER("CGlxImgVwrMetadataContainer::HandleItemRemovedL()");
+ }
+
// ----------------------------------------------------------------------------
// HandleFocusChangedL
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleFocusChangedL( NGlxListDefs::
- TFocusChangeType /*aType*/, TInt /*aNewIndex*/, TInt /*aOldIndex*/,
- MGlxMediaList* /*aList*/ )
+void CGlxImgVwrMetadataContainer::HandleFocusChangedL(
+ NGlxListDefs::TFocusChangeType /*aType*/, TInt /*aNewIndex*/,
+ TInt /*aOldIndex*/, MGlxMediaList* /*aList*/)
{
TRACER("CGlxImgVwrMetadataContainer::HandleFocusChangedL()");
}
+
// ----------------------------------------------------------------------------
// HandleItemSelected
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleItemSelectedL(TInt /*aIndex*/,
- TBool /*aSelected*/, MGlxMediaList* /*aList*/ )
+void CGlxImgVwrMetadataContainer::HandleItemSelectedL(TInt /*aIndex*/,
+ TBool /*aSelected*/, MGlxMediaList* /*aList*/)
{
TRACER("CGlxImgVwrMetadataContainer::HandleItemSelectedL");
}
+
// ----------------------------------------------------------------------------
// HandleMessageL
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleMessageL( const CMPXMessage& /*aMessage*/,
- MGlxMediaList* /*aList*/ )
+void CGlxImgVwrMetadataContainer::HandleMessageL(
+ const CMPXMessage& /*aMessage*/, MGlxMediaList* /*aList*/)
{
TRACER("CGlxImgVwrMetadataContainer::HandleMessageL()");
}
+
// ----------------------------------------------------------------------------
// HandleError
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleError( TInt /*aError*/ )
+void CGlxImgVwrMetadataContainer::HandleError(TInt /*aError*/)
{
TRACER("CGlxImgVwrMetadataContainer::HandleError()");
- TRAP_IGNORE(HandleErrorL());
}
// ----------------------------------------------------------------------------
-// HandleErrorL
-// ----------------------------------------------------------------------------
-//
-void CGlxImgVwrMetadataContainer::HandleErrorL()
- {
- TRACER("CGlxImgVwrMetadataContainer::HandleErrorL()");
- }
-// ----------------------------------------------------------------------------
// HandleCommandCompleteL
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleCommandCompleteL( CMPXCommand* /*aCommandResult*/,
- TInt /*aError*/, MGlxMediaList* /*aList*/ )
+void CGlxImgVwrMetadataContainer::HandleCommandCompleteL(
+ CMPXCommand* /*aCommandResult*/, TInt /*aError*/, MGlxMediaList* /*aList*/)
{
TRACER("CGlxImgVwrMetadataContainer::HandleCommandCompleteL()");
}
@@ -458,7 +424,8 @@
// HandleMediaL
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleMediaL( TInt /*aListIndex*/, MGlxMediaList* /*aList*/ )
+void CGlxImgVwrMetadataContainer::HandleMediaL(TInt /*aListIndex*/,
+ MGlxMediaList* /*aList*/)
{
TRACER("CGlxImgVwrMetadataContainer::HandleMediaL()");
}
@@ -467,48 +434,40 @@
// HandleItemModifiedL
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleItemModifiedL( const RArray<TInt>& /*aItemIndexes*/,
- MGlxMediaList* /*aList*/ )
+void CGlxImgVwrMetadataContainer::HandleItemModifiedL(
+ const RArray<TInt>& /*aItemIndexes*/, MGlxMediaList* /*aList*/)
{
TRACER("CGlxImgVwrMetadataContainer::HandleItemModifiedL()");
}
+
// ----------------------------------------------------------------------------
// ChangeMskL
-// ----------------------------------------------------------------------------
-//
+// ----------------------------------------------------------------------------
void CGlxImgVwrMetadataContainer::ChangeMskL()
{
- TRACER("CGlxImgVwrMetadataContainer::ChangeMsk()");
- TInt index = ListBox()->CurrentItemIndex();
- CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL();
- switch(index)
+ TRACER("CGlxImgVwrMetadataContainer::ChangeMskL()");
+ CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL();
+ CleanupClosePushL(*uiUtility);
+ switch (ListBox()->CurrentItemIndex())
{
- case EImgVwrNameItem:
- case EImgVwrDescriptionItem:
- {
- uiUtility->ScreenFurniture()->ModifySoftkeyIdL(CEikButtonGroupContainer::EMiddleSoftkeyPosition,
- EAknSoftkeyEdit,R_GLX_METADATA_MSK_EDIT);
- }
- break;
+ case EImgVwrNameItem:
+ case EImgVwrMimeTypeItem:
case EImgVwrDateAndTimeItem:
case EImgVwrSizeItem:
case EImgVwrResolutionItem:
case EImgVwrlicenseItem:
{
- uiUtility->ScreenFurniture()->ModifySoftkeyIdL(CEikButtonGroupContainer::EMiddleSoftkeyPosition,
- EAknSoftkeyEdit,R_GLX_METADATA_MSK_BLANK);
- }
+ uiUtility->ScreenFurniture()->ModifySoftkeyIdL(
+ CEikButtonGroupContainer::EMiddleSoftkeyPosition,
+ EAknSoftkeyEdit, R_GLX_METADATA_MSK_BLANK);
+ }
break;
default:
{
- break;
+ break;
}
}
-
- if ( uiUtility )
- {
- uiUtility->Close();
- }
+ CleanupStack::PopAndDestroy(uiUtility);
}
//-----------------------------------------------------------------------------
@@ -520,103 +479,105 @@
//create the collection path for the medialist to be created
CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL( path );
- //set the all collection path as the details dialog can be launched from any of the grid views and filter with URI
- path->AppendL(/*KGlxCollectionPluginAllImplementationUid*/KGlxCollectionPluginImageViewerImplementationUid);
+ CleanupStack::PushL(path);
+ // Set the Image viewer collection path as the details dialog
+ // can be launched from private or user data path
+ path->AppendL(KGlxCollectionPluginImageViewerImplementationUid);
//create the filter with the URI
- CMPXFilter* filter = TGlxFilterFactory::CreateURIFilterL(iUri);
- CleanupStack::PushL( filter );
+ CMPXFilter* filter = TGlxFilterFactory::CreateURIFilterL(iUri);
+ CleanupStack::PushL(filter);
//create the medialist
- iItemMediaList = MGlxMediaList::InstanceL(*path,TGlxHierarchyId(KMediaListId),filter);
+ iItemMediaList = MGlxMediaList::InstanceL(*path, TGlxHierarchyId(
+ KMediaListId), filter);
//Add the attributes which are required to be displayed.
- iMainListAttributecontext = new (ELeave) CGlxAttributeContext(&iSelectionIterator);
+ iMainListAttributecontext = new (ELeave) CGlxAttributeContext(
+ &iSelectionIterator);
iMainListAttributecontext->AddAttributeL(KMPXMediaDrmProtected);
iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralSize);
- iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralDimensions);
+ iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralDimensions);
iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralTitle);
iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralLastModifiedDate);
- iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralComment);
+ iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralMimeType);
//Add Context so that we get the handleattributes call once the medialist is populated with above mentioned attributes.
- iItemMediaList->AddContextL( iMainListAttributecontext,
- KGlxFetchContextPriorityBlocking );
+ iItemMediaList->AddContextL(iMainListAttributecontext,
+ KGlxFetchContextPriorityBlocking);
//add to observer for callbacks.
iItemMediaList->AddMediaListObserverL(this);
- CleanupStack::PopAndDestroy( filter );
- CleanupStack::PopAndDestroy( path );
+ CleanupStack::PopAndDestroy(filter);
+ CleanupStack::PopAndDestroy(path);
}
+
// ----------------------------------------------------------------------------
-// CGlxImgVwrMetadataContainer::SetAttributes
+// CGlxImgVwrMetadataContainer::SetAttributesL
// ----------------------------------------------------------------------------
//
void CGlxImgVwrMetadataContainer::SetAttributesL(TMPXAttribute attribute)
{
- TRACER("CGlxImgVwrMetadataContainer::SetAttributesL");
+ TRACER("CGlxImgVwrMetadataContainer::SetAttributesL");
- if(!iSetVisible)
+ if (!iSetVisible)
{
iSetVisible = ETrue;
- SetDurationLIicenseItemVisibilityL();
+ SetLicenseItemVisibilityL();
}
TGlxMedia item = iItemMediaList->Item(0);
//Create the string convertor instance
//String convertor class with provide the specific format for date,location and duration and size.
CGlxUStringConverter* stringConverter = CGlxUStringConverter::NewL();
- CleanupStack::PushL(stringConverter );
- HBufC* string = NULL;
+ CleanupStack::PushL(stringConverter);
+ HBufC* string = NULL;
//if attribute is date and time we need to pass the format it as R_QTN_DATE_USUAL_WITH_ZERO else null
- if(attribute == KGlxMediaGeneralLastModifiedDate)
+ if (attribute == KGlxMediaGeneralLastModifiedDate)
{
- stringConverter->AsStringL(item,
- attribute,
- R_QTN_DATE_USUAL_WITH_ZERO, string );
- }
+ stringConverter->AsStringL(item, attribute,
+ R_QTN_DATE_USUAL_WITH_ZERO, string);
+ }
else
{
- stringConverter->AsStringL(item,
- attribute,0, string );
+ stringConverter->AsStringL(item, attribute, 0, string);
}
//get the settings item based on the attribute and set the text.
- if ( string )
+ if (string)
{
iTextSetter.Zero();
iTextSetter.Append(*string);
- if(attribute == KMPXMediaGeneralSize)
+ if (attribute == KMPXMediaGeneralSize)
{
- EditItemL(EImgVwrSizeItem,EFalse);
- }
- else if(attribute == KMPXMediaGeneralTitle)
+ EditItemL(EImgVwrSizeItem, EFalse);
+ }
+ else if (attribute == KMPXMediaGeneralTitle)
{
- EditItemL(EImgVwrNameItem,EFalse);
+ EditItemL(EImgVwrNameItem, EFalse);
}
- else if(attribute == KGlxMediaGeneralLastModifiedDate)
- {
- EditItemL(EImgVwrDateAndTimeItem,EFalse);
+ else if (attribute == KGlxMediaGeneralLastModifiedDate)
+ {
+ EditItemL(EImgVwrDateAndTimeItem, EFalse);
}
- else if(attribute == KMPXMediaGeneralComment)
+ else if (attribute == KMPXMediaGeneralMimeType)
{
- EditItemL(EImgVwrDescriptionItem,EFalse);
+ EditItemL(EImgVwrMimeTypeItem, EFalse);
}
- else if(attribute == KGlxMediaGeneralDimensions)
+ else if (attribute == KGlxMediaGeneralDimensions)
{
- EditItemL(EImgVwrResolutionItem,EFalse);
- }/*
+ EditItemL(EImgVwrResolutionItem, EFalse);
+ }
else if(attribute == KMPXMediaDrmProtected)
{
- EditItemL(EImgVwrlicenseItem,EFalse);
- }*/
+ EditItemL(EImgVwrlicenseItem, EFalse);
+ }
else
{
-
- }
+ //no implementation
+ }
delete string;
string = NULL;
}
- CleanupStack::PopAndDestroy(stringConverter );
+ CleanupStack::PopAndDestroy(stringConverter);
}
// ----------------------------------------------------------------------------
@@ -625,7 +586,7 @@
//
void CGlxImgVwrMetadataContainer::EditItemL(TInt aIndex, TBool /*aCalledFromMenu*/)
{
- TRACER("CGlxImgVwrMetadataContainer::EditItemL");
+ TRACER("CGlxImgVwrMetadataContainer::EditItemL");
CAknSettingItem* settingsitem = NULL;
settingsitem = (*SettingItemArray())[aIndex];
settingsitem->LoadL();
@@ -634,116 +595,30 @@
ListBox()->DrawNow();
}
-
-
-// ----------------------------------------------------------------------------
-// CGlxMetadataContainer::SetAttributes
// ----------------------------------------------------------------------------
-//
-void CGlxImgVwrMetadataContainer::SetNameDescriptionL(TInt aItem)
- {
- TRACER("CGlxImgVwrMetadataContainer::SetNameDescriptionL");
- //This function is commn for updatng both name and description once modified
- //get the item handle to be modified
- CAknSettingItem* settingsitem = (*SettingItemArray())[aItem];
- HBufC* textBuf = HBufC::NewLC( KMaxMediaPopupTitleLength );
- (textBuf->Des()).Copy((settingsitem->SettingTextL()));
- TPtr textPtr = textBuf->Des();
- TBuf<KMaxMediaPopupTitleLength> titleText(*textBuf);
- HBufC *buf = NULL;
- if(aItem == ENameItem)
- {
- buf = StringLoader::LoadLC(R_GLX_METADATA_VIEW_TITLE_NSERIES);
- }
- else
- {
- buf = StringLoader::LoadLC(R_GLX_METADATA_VIEW_DESCRIPTION_NSERIES);
- }
-
- //Launch the text entry editor.
- CGlxTextEntryPopup* popup = CGlxTextEntryPopup::NewL( *buf, textPtr );
- CleanupStack::PopAndDestroy(buf);
- if(aItem == EImgVwrDescriptionItem)
- {
- popup->SetLeftSoftKeyL(ETrue);
- }
-
- //action upon selecting ok from the editor
- if ( popup->ExecuteLD() == EEikBidOk )
+// CGlxImgVwrMetadataContainer::SetLicenseItemVisibilityL()
+// ----------------------------------------------------------------------------
+void CGlxImgVwrMetadataContainer::SetLicenseItemVisibilityL()
{
- if(0 != (titleText.Compare(*textBuf)))
- {
- //Modify the MDS and setting list only if the entry is different from previous Item value
- iTextSetter.Zero();
- iTextSetter.Copy(*textBuf);
- EditItemL(aItem,EFalse);
- if( iItemMediaList->Count() > 0 )
- {
- iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute,0);//set focus to first item
- CMPXCollectionPath* path = iItemMediaList->PathLC();
- CMPXCommand* command = NULL;
- //Create the glx command based on the item
- if(aItem == ENameItem)
- {
- command = TGlxCommandFactory::RenameCommandLC(settingsitem->SettingTextL(),
- *path);
- }
- else
- {
- command = TGlxCommandFactory::SetDescriptionCommandLC(settingsitem->SettingTextL(),
- *path);
- }
- command->SetTObjectValueL<TAny*>(KMPXCommandGeneralSessionId, static_cast<TAny*>(this));
- //issue command to the medialist which further calls data source to update MDS
- iItemMediaList->CommandL(*command);
- CleanupStack::PopAndDestroy(command);
- CleanupStack::PopAndDestroy(path);
- }
- }
- }
- CleanupStack::PopAndDestroy( textBuf );
-
- }
-// ----------------------------------------------------------------------------
-// CGlxImgVwrMetadataContainer::SetDurationLIicenseItemVisibilityL()
-// ----------------------------------------------------------------------------
-//
-void CGlxImgVwrMetadataContainer::SetDurationLIicenseItemVisibilityL()
- {
- TRACER("CGlxMetadataContainer::SetDurationLIicenseItemVisibilityL()");
+ TRACER("CGlxMetadataContainer::SetLicenseItemVisibilityL()");
//get the media item.
const TGlxMedia& item = iItemMediaList->Item(0);
const CGlxMedia* media = item.Properties();
- //in order to check for video category and drm rights
-
- CAknSettingItem* hiddenItem = NULL;
-
- if( media && media->IsSupported(KMPXMediaDrmProtected))
+ // Check for DRM protection
+ if (media && media->IsSupported(KMPXMediaDrmProtected))
{
- if(item.IsDrmProtected())
- {
- hiddenItem = (*SettingItemArray())[EImgVwrlicenseItem];
- //Set the License item visible
- hiddenItem->SetHidden(EFalse);
- //Required to refresh the listbox when any items visiblity is changed
- this->HandleChangeInItemArrayOrVisibilityL();
- }
+ if (item.IsDrmProtected())
+ {
+ CAknSettingItem* hiddenItem =
+ (*SettingItemArray())[EImgVwrlicenseItem];
+ //Set the License item visible
+ hiddenItem->SetHidden(EFalse);
+ //Refresh the listbox when any items visiblity is changed
+ this->HandleChangeInItemArrayOrVisibilityL();
+ }
}
}
-//-----------------------------------------------------------------------------
-// CGlxImgVwrMetadataContainer::IsLicenseItem
-//-----------------------------------------------------------------------------
-TBool CGlxImgVwrMetadataContainer::IsLicenseItem()
- {
- TRACER("CGlxMetadataContainer::IsLicenseItem()");
- //Checks the item for DRMProtection.
- if((ListBox()->CurrentItemIndex()== EImgVwrlicenseItem))
- {
- return EFalse;
- }
- return ETrue;
- }
// -----------------------------------------------------------------------------
// CreateImageViewerInstanceL
@@ -752,7 +627,7 @@
void CGlxImgVwrMetadataContainer::CreateImageViewerInstanceL()
{
TRACER("CGlxImgVwrMetadataContainer::CreateImageViewerInstanceL");
- iImageViewerInstance = CGlxImageViewerManager::InstanceL();
+ iImageViewerInstance = CGlxImageViewerManager::InstanceL();
__ASSERT_ALWAYS(iImageViewerInstance, Panic(EGlxPanicNullPointer));
}
@@ -763,11 +638,10 @@
void CGlxImgVwrMetadataContainer::DeleteImageViewerInstance()
{
TRACER("CGlxImgVwrMetadataContainer::DeleteImageViewerInstance");
- if ( iImageViewerInstance )
+ if (iImageViewerInstance)
{
iImageViewerInstance->DeleteInstance();
}
}
-
//End of file