--- a/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Wed Sep 15 12:13:06 2010 +0300
+++ b/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Wed Oct 13 14:32:09 2010 +0300
@@ -17,41 +17,47 @@
#include "glxmetadatacontainer.h"
#include "glxustringconverter.h" // converts the symbian types to UString type
-#include "mglxmetadatadialogobserver.h"
-
+#include <AknUtils.h>
#include <StringLoader.h>
-#include <caf/manager.h> // For Filesystem
-#include <ExifModify.h> // For CExifModify
-#include <mpxcommandgeneraldefs.h> // Content ID identifying general category of content provided
-#include <mpxmediadrmdefs.h>
-#include <eikfrlb.h> // For marquee
-#include <eikfrlbd.h> // For marquee
-
#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 <glxcommandfactory.h> //for command factory
+#include <mpxcommandgeneraldefs.h> // Content ID identifying general category of content provided
+#include "mglxmetadatadialogobserver.h"
#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 <glxdrmutility.h> // For launching DRM details pane
+#include <aknQueryControl.h>
+#include <glxdrmutility.h> //For launching DRM details pane
#include <glxgeneraluiutilities.h> // General utilties class definition
-#include <glxuiutilities.rsg>
+#include <ExifModify.h>
+#include <glxuiutilities.rsg> //For CExifModify
+#include <mpxmediadrmdefs.h>
#include <glxfilterfactory.h>
-#include <glxlog.h>
-#include <glxtracer.h>
+#include <caf/manager.h> //For Filesystem
#include <glxgeneraluiutilities.h>
+//marquee
+#include <eikfrlb.h>
+#include <eikfrlbd.h>
+const TInt KMaxMediaPopupTitleLength = 0x100;
const TInt KMediaListId = 0x2000D248;
const TInt KOffsets = 50;
const TInt KMarqueeLoopCount = 3;
const TInt KMarqueeScrollAmount = 20;
const TInt KMarqueeScrollDelay = 1000000;
const TInt KMarqueeScrollInterval = 200000;
-
+_LIT( KGlxTextSetter, "");
_LIT( KGlxComma, ",");
// ============================ MEMBER FUNCTIONS ===============================
@@ -60,41 +66,39 @@
// NewL
// ---------------------------------------------------------
//
-CGlxMetadataContainer* CGlxMetadataContainer::NewL(const TRect& aRect,
- MGlxMetadataDialogObserver& aDialogObserver, const TDesC& item,
- MToolbarResetObserver& aResetToolbarObs)
- {
- TRACER("CGlxMetadataContainer::NewL");
- CGlxMetadataContainer* self = CGlxMetadataContainer::NewLC(aRect,
- aDialogObserver, item, aResetToolbarObs);
- CleanupStack::Pop(self);
- return self;
- }
+CGlxMetadataContainer* CGlxMetadataContainer::NewL( const TRect& aRect,
+ MGlxMetadataDialogObserver& aDialogObserver,
+ const TDesC& item,MToolbarResetObserver& aResetToolbarObs)
+ {
+ TRACER("CGlxMetadataContainer::NewL");
+ CGlxMetadataContainer* self = CGlxMetadataContainer::NewLC( aRect,
+ aDialogObserver,item,aResetToolbarObs);
+ CleanupStack::Pop(self);
+ return self;
+ }
// ---------------------------------------------------------
// NewLC
// ---------------------------------------------------------
//
-CGlxMetadataContainer* CGlxMetadataContainer::NewLC(const TRect& aRect,
- MGlxMetadataDialogObserver& aDialogObserver, const TDesC& aUri,
- MToolbarResetObserver& aResetToolbarObs)
- {
- TRACER("CGlxMetadataContainer::NewLC");
- CGlxMetadataContainer* self = new (ELeave) CGlxMetadataContainer(
- aDialogObserver, aResetToolbarObs);
- CleanupStack::PushL(self);
- self->ConstructL(aRect, aUri);
- return self;
- }
+CGlxMetadataContainer* CGlxMetadataContainer::NewLC( const TRect& aRect,
+ MGlxMetadataDialogObserver& aDialogObserver,
+ const TDesC& aUri,MToolbarResetObserver& aResetToolbarObs)
+ {
+ TRACER("CGlxMetadataContainer::NewLC");
+ CGlxMetadataContainer* self = new(ELeave) CGlxMetadataContainer(aDialogObserver, aResetToolbarObs);
+ CleanupStack::PushL(self);
+ self->ConstructL( aRect, aUri);
+ return self;
+ }
// ---------------------------------------------------------
// CGlxMetadataContainer
// ---------------------------------------------------------
//
-CGlxMetadataContainer::CGlxMetadataContainer(
- MGlxMetadataDialogObserver& aDialogObserver,
- MToolbarResetObserver& aResetToolbarObs) :
- iDialogObesrver(aDialogObserver), iResetToolbarObs(aResetToolbarObs)
+CGlxMetadataContainer::CGlxMetadataContainer(MGlxMetadataDialogObserver& aDialogObserver,
+ MToolbarResetObserver& aResetToolbarObs)
+ :iDialogObesrver ( aDialogObserver ),iResetToolbarObs(aResetToolbarObs)
{
// No implementation
}
@@ -105,40 +109,38 @@
//
void CGlxMetadataContainer::ConstructL(const TRect& /*aRect*/,
const TDesC& aUri)
- {
+ {
TRACER("CGlxMetadataContainer::ConstructL");
- //media's uri
- iUri = aUri.AllocL();
+ //media's uri
+ iUri = aUri.AllocL();
- //Creating the RBuf texts for all the items except tags & albums
- //which would be updated as whne the item is edited
- iTextSetter.CreateL(KMaxFileName);
+ //Creating the RBuf texts for all the items except tags & albums
+ //which would be updated as whne the item is edited
+ iTextSetter.CreateL(KMaxFileName);
- //RBuf text which would be updated as when a tag is edited for the item.
- iTagSetter.CreateL(KMaxFileName);
+ //RBuf text which would be updated as when a tag is edited for the item.
+ iTagSetter.CreateL(KMaxFileName);
- //RBuf text which would be updated as when a album is edited for the item.
- iAlbumSetter.CreateL(KMaxFileName);
+ //RBuf text which would be updated as when a album is edited for the item.
+ iAlbumSetter.CreateL(KMaxFileName);
- //Create medialist filtered by uri - iUri
- CreateMediaListForSelectedItemL();
+ //Create medialist filtered by uri - iUri
+ CreateMediaListForSelectedItemL();
- //Setting the iVideo flag to EFalse initially
- iVideo = EFalse;
+ //Setting the iVideo flag to EFalse initially
+ iVideo = EFalse;
- //Setting the iMarquee flag to EFalse initially
+ //Setting the iMarquee flag to EFalse initially
iMarquee = EFalse;
//check when Remove location information is selected.
iLocationinfo = EFalse;
- //Flag to indicate rename command is started
- iRenameStarted = EFalse;
+ //Flag to indicate rename command is started
+ iRenameStarted = EFalse;
- // Flag to indicate text entry popup display status
- iIsPopupShown = EFalse;
- }
+ }
// ---------------------------------------------------------
// ~CGlxMetadataContainer
@@ -214,63 +216,64 @@
{
TRACER("CGlxMetadataContainer::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)
+ //Creating a empty Settings list box which will be populated with metadata in handleattributeavailable
+
+ switch(aResourceId)
{
case ENameItem:
case EDateAndTimeItem:
case EDescriptionItem:
{
- settingItem = new (ELeave) CAknTextSettingItem(aResourceId,
- iTextSetter);
+ settingItem = new (ELeave) CAknTextSettingItem(
+ aResourceId, iTextSetter );
break;
}
case ETagsItem:
{
- settingItem = new (ELeave) CAknTextSettingItem(aResourceId,
- iTagSetter);
+ iTagSetter.Copy(KGlxTextSetter);
+ settingItem = new (ELeave) CAknTextSettingItem(
+ aResourceId, iTagSetter );
break;
}
case EAlbumsItem:
{
- settingItem = new (ELeave) CAknTextSettingItem(aResourceId,
- iAlbumSetter);
+ iAlbumSetter.Copy(KGlxTextSetter);
+ settingItem = new (ELeave) CAknTextSettingItem(
+ aResourceId, iAlbumSetter );
break;
}
case ELocationItem:
case ESizeItem:
case EResolutionItem:
{
- settingItem = new (ELeave) CAknTextSettingItem(aResourceId,
- iTextSetter);
-
- break;
- }
+ settingItem = new (ELeave) CAknTextSettingItem(
+ aResourceId, iTextSetter );
+
+ break;
+ }
case EDurationItem:
case ElicenseItem:
{
- 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);
- //Required to refresh the listbox when any items visiblity is changed
- this->HandleChangeInItemArrayOrVisibilityL();
- }
+ 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);
+ //Required to refresh the listbox when any items visiblity is changed
+ this->HandleChangeInItemArrayOrVisibilityL();
+ }
break;
-
+
default:
{
- break;
+ break;
}
}
return settingItem;
}
-
//-----------------------------------------------------------------------------
// CGlxMetadataContainer::IsItemModifiable
//-----------------------------------------------------------------------------
@@ -285,8 +288,25 @@
}
//return ETrue to dim the item
return ETrue;
+
}
-
+//-----------------------------------------------------------------------------
+// CGlxMetadataContainer::IsLicenseItem
+//-----------------------------------------------------------------------------
+TBool CGlxMetadataContainer::IsLicenseItem()
+ {
+ TRACER("CGlxMetadataContainer::IsLicenseItem");
+ //Checks the item for DRMProtection.
+ //if item is a video item index should be ELicense else check for EDuration Item.
+ //because License Item index would become EDuration as the duration item is hidden in case of inage file.
+ if((!iVideo && ListBox()->CurrentItemIndex()== EDurationItem)
+ || (ListBox()->CurrentItemIndex()== ElicenseItem))
+ {
+ return EFalse;
+ }
+ return ETrue;
+ }
+
//-----------------------------------------------------------------------------
// CGlxMetadataContainer::IsLocationItem
//-----------------------------------------------------------------------------
@@ -315,7 +335,7 @@
void CGlxMetadataContainer::HandleListBoxEventL(CEikListBox* /*aListBox*/,
TListBoxEvent aEventType)
{
- GLX_LOG_INFO("CGlxMetadataContainer::HandleListBoxEventL");
+ TRACER("CGlxMetadataContainer::HandleListBoxEventL");
if ((aEventType == EEventEnterKeyPressed) ||
(aEventType == EEventEditingStarted) ||
(aEventType == EEventItemSingleClicked))
@@ -333,15 +353,15 @@
//dont Edit Item's details if medialist is empty
//OR Rename command is in progress
- if (iItemMediaList->Count() == 0 || iRenameStarted)
- {
- GLX_LOG_INFO("MediaList empty or Rename command started");
- return;
- }
+ if(iItemMediaList->Count() == 0 || iRenameStarted)
+ {
+ GLX_LOG_INFO("MediaList empty or Rename command started");
+ return;
+ }
TInt index = ListBox()->CurrentItemIndex();
- switch (index)
+ switch(index)
{
case ENameItem:
case EDescriptionItem:
@@ -350,87 +370,60 @@
break;
}
case ETagsItem:
- {
- //Set the focus of the item
- iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute, 0);
- //Launch add to container commandhandler via dialog observer.
- iDialogObesrver.AddTagL();
- break;
- }
+ {
+ //Set the focus of the item
+ iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute,0);
+ //Launch add to container commandhandler via dialog observer.
+ iDialogObesrver.AddTagL();
+ break;
+ }
case EAlbumsItem:
- {
- //Set the focus of the item
- iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute, 0);
- //Launch add to container commandhandler via dialog observer.
- iDialogObesrver.AddAlbumL();
- break;
- }
- case ELocationItem:
- {
- // Get the Media Item
- const TGlxMedia& media = iItemMediaList->Item(0);
- // Test to see if the Coordinate is Present
- TCoordinate coordinate;
- if (!media.GetCoordinate(coordinate))
- {
- HBufC *noLocationBuf = StringLoader::LoadLC(
- R_GLX_METADATA_NOTE_INFO_NO_LOCATION);
- GlxGeneralUiUtilities::ShowInfoNoteL(*noLocationBuf, ETrue);
- CleanupStack::PopAndDestroy(noLocationBuf);
- }
- else
+ {
+ //Set the focus of the item
+ iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute,0);
+ //Launch add to container commandhandler via dialog observer.
+ iDialogObesrver.AddAlbumL();
+ break;
+ }
+ case ELocationItem:
+ {
+ // Get the Media Item
+ const TGlxMedia& media = iItemMediaList->Item(0);
+ // Test to see if the Coordinate is Present
+ TCoordinate coordinate;
+ if( !media.GetCoordinate(coordinate) )
{
- CAknSettingItem* settingsitem = (*SettingItemArray())[index];
- GlxGeneralUiUtilities::ShowInfoNoteL(settingsitem->SettingTextL(),ETrue);
+ HBufC *noLocationBuf = StringLoader::LoadLC(R_GLX_METADATA_NOTE_INFO_NO_LOCATION);
+ GlxGeneralUiUtilities::ShowInfoNoteL(*noLocationBuf,ETrue);
+ CleanupStack::PopAndDestroy(noLocationBuf);
}
- break;
- }
+ break;
+ }
case EDurationItem:
- {
- //This is condition is useful when the license item is selected for a image file
- if (iVideo)
- {
- break;
- }
- }
- case EResolutionItem:
- {
- //This is condition is useful when the license item is selected for a DRM Video file
- if (!iVideo || !iItemMediaList->Item(0).IsDrmProtected())
+ {
+ //This is condition is useful when the license item is selected for a image file
+ if(iVideo)
{
break;
}
}
case ElicenseItem:
- {
- const TGlxMedia& item = iItemMediaList->Item(0);
- if (item.IsDrmProtected())
- {
+ {
+ const TGlxMedia& item = iItemMediaList->Item(0);
+ if( item.IsDrmProtected())
+ {
//Create DRM utility
CGlxDRMUtility* drmUtility = CGlxDRMUtility::InstanceL();
CleanupClosePushL(*drmUtility);
-
- // check if rights have expired
- TBool expired = EFalse;
- expired = !drmUtility->ItemRightsValidityCheckL(item.Uri(),
- EMPXImage == item.Category());
-
- if (expired)
- {
- drmUtility->ShowRightsInfoL(item.Uri());
- }
- else
- {
- drmUtility->ShowDRMDetailsPaneL(item.Uri());
- }
+ drmUtility->ShowDRMDetailsPaneL(item.Uri());
CleanupStack::PopAndDestroy(drmUtility);
- }
- }
- break;
+ }
+ }
+ break;
default:
- {
- break;
- }
+ {
+ break;
+ }
}
}
//-----------------------------------------------------------------------------
@@ -439,42 +432,40 @@
void CGlxMetadataContainer::CreateMediaListForSelectedItemL( )
{
TRACER("CGlxMetadataContainer::CreateMediaListForSelectedItemL");
-
+
//create the collection path for the medialist to be created
CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL(path);
+ 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);
//create the filter with the URI
CMPXFilter* filter = TGlxFilterFactory::CreateURIFilterL(*iUri);
- CleanupStack::PushL(filter);
+ 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(KMPXMediaGeneralCategory);
iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralSize);
- iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralDimensions);
+ iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralDimensions);
iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralTitle);
- iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralDate);
- iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralComment);
+ iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralLastModifiedDate);
+ iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralComment);
iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralLocation);
- iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralDuration);
+ iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralDuration);
iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralUri);
-
+
//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 );
}
//-----------------------------------------------------------------------------
@@ -483,208 +474,209 @@
void CGlxMetadataContainer::CreateTagsMediaListL()
{
TRACER("CGlxMetadataContainer::CreateTagsMediaListL");
- //create the collection path for the medialist to be created
- CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL(path);
- //Set the Tags collection for the particular item
- path->AppendL(KGlxTagCollectionPluginImplementationUid);
- //get the media item for which we require the tags collection
- TGlxMedia item = iItemMediaList->Item(0);
- //create the medialist filter with media ID
- CMPXFilter* filter1 =
- TGlxFilterFactory::CreateExcludeContainersWithoutItemFilterL(
- item.Id());
- CleanupStack::PushL(filter1);
- //set the array order as required, here its alphabetical
- TGlxFilterProperties filterProperty;
- filterProperty.iSortOrder = EGlxFilterSortOrderAlphabetical;
- filterProperty.iSortDirection = EGlxFilterSortDirectionAscending;
- //combine the filter with filterProperty
- CMPXFilter* filter = TGlxFilterFactory::CreateCombinedFilterL(
- filterProperty, filter1, EFalse);
- CleanupStack::PushL(filter);
-
- //create the medialist to get the tags array.
- iTagMediaList = MGlxMediaList::InstanceL(*path, TGlxHierarchyId(
- KMediaListId), filter);
-
- //add the attribute KMPXMediaGeneralTitle to the context to get the tag name
- iTagContext = CGlxDefaultAttributeContext::NewL();
- iTagContext->AddAttributeL(KMPXMediaGeneralTitle);
- iTagContext->SetRangeOffsets(KOffsets, KOffsets);
-
- //Add Context so that we get the handleattributes call once the medialist is populated with tags.
- iTagMediaList->AddContextL(iTagContext,
- KGlxFetchContextPriorityUMPViewTagPane);
-
- //add to observer for callbacks.
- iTagMediaList->AddMediaListObserverL(this);
-
- CleanupStack::PopAndDestroy(filter);
- CleanupStack::PopAndDestroy(filter1);
- CleanupStack::PopAndDestroy(path);
+ //create the collection path for the medialist to be created
+ CMPXCollectionPath* path = CMPXCollectionPath::NewL();
+ CleanupStack::PushL( path );
+ //Set the Tags collection for the particular item
+ path->AppendL(KGlxTagCollectionPluginImplementationUid);
+ //get the media item for which we require the tags collection
+ TGlxMedia item = iItemMediaList->Item(0);
+ //create the medialist filter with media ID
+ CMPXFilter* filter1 =
+ TGlxFilterFactory::CreateExcludeContainersWithoutItemFilterL(item.Id());
+ CleanupStack::PushL(filter1);
+ //set the array order as required, here its alphabetical
+ TGlxFilterProperties filterProperty;
+ filterProperty.iSortOrder = EGlxFilterSortOrderAlphabetical;
+ filterProperty.iSortDirection = EGlxFilterSortDirectionAscending;
+ //combine the filter with filterProperty
+ CMPXFilter* filter = TGlxFilterFactory::CreateCombinedFilterL( filterProperty,
+ filter1,
+ EFalse);
+ CleanupStack::PushL(filter);
+
+ //create the medialist to get the tags array.
+ iTagMediaList = MGlxMediaList::InstanceL(*path,TGlxHierarchyId(KMediaListId),filter);
+
+ //add the attribute KMPXMediaGeneralTitle to the context to get the tag name
+ iTagContext = CGlxDefaultAttributeContext::NewL();
+ iTagContext->AddAttributeL(KMPXMediaGeneralTitle);
+ iTagContext->SetRangeOffsets(KOffsets,KOffsets);
+
+ //Add Context so that we get the handleattributes call once the medialist is populated with tags.
+ iTagMediaList->AddContextL( iTagContext,
+ KGlxFetchContextPriorityUMPViewTagPane );
+
+ //add to observer for callbacks.
+ iTagMediaList->AddMediaListObserverL(this);
+
+ CleanupStack::PopAndDestroy(filter);
+ CleanupStack::PopAndDestroy(filter1);
+ CleanupStack::PopAndDestroy(path);
+
}
-
//-----------------------------------------------------------------------------
// CGlxMetadataContainer::CreateAlbumsMediaListL
//-----------------------------------------------------------------------------
void CGlxMetadataContainer::CreateAlbumsMediaListL()
{
TRACER("CGlxMetadataContainer::CreateAlbumsMediaListL");
- //create the collection path for the medialist to be created
- CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL(path);
- //Set the albums collection for the particular item
- path->AppendL(KGlxCollectionPluginAlbumsImplementationUid);
- //get the media item for which we require the tags collection
- TGlxMedia item = iItemMediaList->Item(0);
- //create the medialist filter with media ID
- CMPXFilter* filter =
- TGlxFilterFactory::CreateExcludeContainersWithoutItemFilterL(
- item.Id());
- CleanupStack::PushL(filter);
- //create the albums medialist.
- iAlbumMediaList = MGlxMediaList::InstanceL(*path, TGlxHierarchyId(
- KMediaListId), filter);
+ //create the collection path for the medialist to be created
+ CMPXCollectionPath* path = CMPXCollectionPath::NewL();
+ CleanupStack::PushL( path );
+ //Set the albums collection for the particular item
+ path->AppendL(KGlxCollectionPluginAlbumsImplementationUid);
+ //get the media item for which we require the tags collection
+ TGlxMedia item = iItemMediaList->Item(0);
+ //create the medialist filter with media ID
+ CMPXFilter* filter =
+ TGlxFilterFactory::CreateExcludeContainersWithoutItemFilterL(item.Id());
+ CleanupStack::PushL(filter);
+ //create the albums medialist.
+ iAlbumMediaList = MGlxMediaList::InstanceL(*path,
+ TGlxHierarchyId(KMediaListId),
+ filter);
+
+ //add the attribute KMPXMediaGeneralTitle to the context to get the album name
+ iAlbumContext = CGlxDefaultAttributeContext::NewL();
+ iAlbumContext->AddAttributeL(KMPXMediaGeneralTitle);
+ iAlbumContext->SetRangeOffsets(KOffsets,KOffsets);
+ //Add Context to the medialist so that we get the handleattributes call once the medialist is populated with albums.
+ iAlbumMediaList->AddContextL( iAlbumContext,
+ KGlxFetchContextPriorityUMPViewAlbumPane );
+
+ //add to observer for callbacks.
+ iAlbumMediaList->AddMediaListObserverL(this);
+
+ CleanupStack::PopAndDestroy(filter);
+ CleanupStack::PopAndDestroy(path);
+
+ }
- //add the attribute KMPXMediaGeneralTitle to the context to get the album name
- iAlbumContext = CGlxDefaultAttributeContext::NewL();
- iAlbumContext->AddAttributeL(KMPXMediaGeneralTitle);
- iAlbumContext->SetRangeOffsets(KOffsets, KOffsets);
- //Add Context to the medialist so that we get the handleattributes call once the medialist is populated with albums.
- iAlbumMediaList->AddContextL(iAlbumContext,
- KGlxFetchContextPriorityUMPViewAlbumPane);
-
- //add to observer for callbacks.
- iAlbumMediaList->AddMediaListObserverL(this);
-
- CleanupStack::PopAndDestroy(filter);
- CleanupStack::PopAndDestroy(path);
- }
// ----------------------------------------------------------------------------
// CGlxMetadataContainer::ViewDynInitMenuPaneL
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::ViewDynInitMenuPaneL(TInt aMenuId,
- CEikMenuPane* aMenuPane)
+void CGlxMetadataContainer::ViewDynInitMenuPaneL(TInt aMenuId, CEikMenuPane* aMenuPane)
{
- if (aMenuId == R_METADATA_MENU)
+ if( aMenuId == R_METADATA_MENU )
{
- //Set dim the options based on the item selected
+ //Set dim the options based on the utem selected
+ //Viewdetails option will be availble only for the license item
+ //Delete option will be available only for the location item
+ aMenuPane->SetItemDimmed(KGlxViewBoundMenuCommandId,IsLicenseItem());
//location info will be enabled if the item has a location info
- aMenuPane->SetItemDimmed(KGlxDeleteBoundMenuCommandId,
- IsLocationItem());
+ aMenuPane->SetItemDimmed(KGlxDeleteBoundMenuCommandId,IsLocationItem());
+ // Show on Map is no longer part of requirements and should not be shown in the
+ // options menu. When show on map has to come back, replace the 'ETrue' below with
+ // the function IsLocationItem.
+ aMenuPane->SetItemDimmed(EGlxCmdAiwShowMap,ETrue);
}
+
+
}
-
// ----------------------------------------------------------------------------
// CGlxMetadataContainer::RemoveLocationL
// ----------------------------------------------------------------------------
//
void CGlxMetadataContainer::RemoveLocationL()
{
- TRACER("CGlxMetadataContainer::RemoveLocationL");
-
+ TRACER("CGlxMetadataContainer::RemoveLocationL");
+
iLocationinfo = ETrue;
// get the media item
- const TGlxMedia& media = iItemMediaList->Item(0);
+ const TGlxMedia& media = iItemMediaList->Item(0);
// Test to see if the coordinate is present
TCoordinate coordinate;
TBool isSupported = media.GetCoordinate(coordinate);
- if (!isSupported)
+ if( !isSupported )
{
- HBufC *buf = StringLoader::LoadLC(
- R_GLX_METADATA_NOTE_INFO_NO_LOCATION);
- GlxGeneralUiUtilities::ShowInfoNoteL(*buf, ETrue);
+ HBufC *buf = StringLoader::LoadLC(R_GLX_METADATA_NOTE_INFO_NO_LOCATION);
+ GlxGeneralUiUtilities::ShowInfoNoteL(*buf,ETrue);
CleanupStack::PopAndDestroy(buf);
}
else
{
- HBufC *buf =
- StringLoader::LoadLC(R_GLX_METADATA_NOTE_DELETE_LOCATION);
- TBool response = GlxGeneralUiUtilities::ConfirmQueryL(
- R_GLX_QUERY_YES_NO, *buf);
+ HBufC *buf = StringLoader::LoadLC(R_GLX_METADATA_NOTE_DELETE_LOCATION);
+ TBool response = GlxGeneralUiUtilities::ConfirmQueryL(R_GLX_QUERY_YES_NO,*buf);
CleanupStack::PopAndDestroy(buf);
-
- if (response)
+
+ if( response )
{
//user selected yes, so delete location
//send command for delete location after successfull removal of command remove this pane
- if (iItemMediaList->Count() > 0)
- {
+ if( iItemMediaList->Count() > 0 )
+ {
//set focus to first item
- iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute, 0);
-
+ iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute,0);
+
// Deleting location information from image file
RFs rFs;
- User::LeaveIfError(rFs.Connect());
- CleanupClosePushL(rFs);
- RFile rFile;
- User::LeaveIfError(rFile.Open(rFs,
- iItemMediaList->Item(0).Uri(), EFileWrite));
- CleanupClosePushL(rFile);
-
+ User::LeaveIfError( rFs.Connect() );
+ CleanupClosePushL( rFs );
+ RFile rFile;
+ User::LeaveIfError( rFile.Open(rFs,
+ iItemMediaList->Item(0).Uri()
+ ,EFileWrite ));
+ CleanupClosePushL( rFile );
+
TInt imageFileSize = 0; // Image File Size
- User::LeaveIfError(rFile.Size(imageFileSize));
- HBufC8* imageData = HBufC8::NewL(imageFileSize); //Actual Image Data
- CleanupStack::PushL(imageData);
-
+ User::LeaveIfError( rFile.Size( imageFileSize ) );
+ HBufC8* imageData = HBufC8::NewL( imageFileSize ); //Actual Image Data
+ CleanupStack::PushL( imageData );
+
TPtr8 myImagePtr = imageData->Des();
- TInt readError = rFile.Read(myImagePtr);
- if (readError != KErrNone)
+ TInt readError = rFile.Read( myImagePtr );
+ if ( readError != KErrNone )
{
- User::Leave(KErrGeneral);
+ User::Leave( KErrGeneral );
}
-
+
//CExifModify Interface class for modifying existing Exif v2.2 (or prior)
//file format or creating Exif v2.2 file format using valid Jpeg image
CExifModify* exifWriter = NULL;
TRAPD(err,exifWriter = CExifModify::NewL( imageData->Des()));
- CleanupStack::PushL(exifWriter);
- if (err == KErrNone)
+ CleanupStack::PushL( exifWriter );
+ if(err == KErrNone)
{
- //Removes the specified IFD structure and all its tags from the Exif data
- exifWriter->DeleteIfd(EIfdGps);
-
- HBufC8* modifiedExif = exifWriter->WriteDataL(
- imageData->Des()); //Modified Image Data
- CleanupStack::PushL(modifiedExif);
+ //Removes the specified IFD structure and all its tags from the Exif data
+ exifWriter->DeleteIfd ( EIfdGps );
+
+ HBufC8* modifiedExif = exifWriter->WriteDataL( imageData->Des() ); //Modified Image Data
+ CleanupStack::PushL( modifiedExif );
+
+ const TUint32 fileSize = modifiedExif->Des().Length(); //Size of Modified File
+ TInt oldSize;
+ rFile.Size( oldSize );
+ // set position to begin of file & write the Modified data (Without Location Information)
+ TInt pos = 0;
+ User::LeaveIfError( rFile.Seek( ESeekStart, pos ) );
+ User::LeaveIfError( rFile.Write( modifiedExif->Des(), fileSize ) );
- const TUint32 fileSize = modifiedExif->Des().Length(); //Size of Modified File
- TInt oldSize;
- rFile.Size(oldSize);
- // set position to begin of file & write the Modified data (Without Location Information)
- TInt pos = 0;
- User::LeaveIfError(rFile.Seek(ESeekStart, pos));
- User::LeaveIfError(rFile.Write(modifiedExif->Des(),
- fileSize));
+ TTime lastModified;
+ lastModified.UniversalTime();
+ User::LeaveIfError( rFile.SetModified( lastModified ) ); //Change the Modified Time
- TTime lastModified;
- lastModified.UniversalTime();
- User::LeaveIfError(rFile.SetModified(lastModified)); //Change the Modified Time
-
- CleanupStack::PopAndDestroy(modifiedExif);
+ CleanupStack::PopAndDestroy( modifiedExif);
}
- CleanupStack::PopAndDestroy(exifWriter);
- CleanupStack::PopAndDestroy(imageData);
- CleanupStack::PopAndDestroy(&rFile);
- CleanupStack::PopAndDestroy(&rFs);
+ CleanupStack::PopAndDestroy( exifWriter);
+ CleanupStack::PopAndDestroy( imageData );
+ CleanupStack::PopAndDestroy( &rFile );
+ CleanupStack::PopAndDestroy( &rFs );
//Deleting location information from MDS database
- CMPXCollectionPath* path = iItemMediaList->PathLC();
- CMPXCommand* command =
- TGlxCommandFactory::DeleteLocationCommandLC(*path);
-
- command->SetTObjectValueL<TAny*> (
- KMPXCommandGeneralSessionId,
- static_cast<TAny*> (this));
-
- iItemMediaList->CommandL(*command);
+ CMPXCollectionPath* path = iItemMediaList->PathLC();
+ CMPXCommand* command = TGlxCommandFactory::DeleteLocationCommandLC(*path);
+
+ command->SetTObjectValueL<TAny*>(KMPXCommandGeneralSessionId,
+ static_cast<TAny*>(this));
+
+ iItemMediaList->CommandL(*command);
CleanupStack::PopAndDestroy(command);
CleanupStack::PopAndDestroy(path);
}
- }
+ }
}
}
// ----------------------------------------------------------------------------
@@ -702,86 +694,89 @@
ListBox()->DrawNow();
}
// ----------------------------------------------------------------------------
-// CGlxMetadataContainer::SetAttributesL
+// CGlxMetadataContainer::SetAttributes
// ----------------------------------------------------------------------------
//
void CGlxMetadataContainer::SetAttributesL(TMPXAttribute attribute)
{
- TRACER("CGlxMetadataContainer::SetAttributesL");
-
+ TRACER("CGlxMetadataContainer::SetAttributesL");
+
//create the tags and albums medialist once the item medialist is populated
//Tags and albums medialist can be created only with media ID.
- if (!iTagMediaList)
- {
- CreateTagsMediaListL();
- }
- if (!iAlbumMediaList)
- {
- CreateAlbumsMediaListL();
- }
- if (!iSetVisible)
- {
- iSetVisible = ETrue;
- SetDurationLIicenseItemVisibilityL();
- }
+ if(!iTagMediaList)
+ {
+ CreateTagsMediaListL();
+ }
+ if(!iAlbumMediaList)
+ {
+ CreateAlbumsMediaListL();
+ }
+ if(!iSetVisible)
+ {
+ iSetVisible = ETrue;
+ SetDurationLIicenseItemVisibilityL();
+ }
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 == KMPXMediaGeneralDate)
+ 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)
- {
- EditItemL(ESizeItem, EFalse);
- }
- else if (attribute == KMPXMediaGeneralDuration)
- {
- EditItemL(EDurationItem, EFalse);
- }
- else if (attribute == KMPXMediaGeneralTitle)
- {
- EditItemL(ENameItem, EFalse);
- }
- else if (attribute == KMPXMediaGeneralDate)
- {
- EditItemL(EDateAndTimeItem, EFalse);
- }
- else if (attribute == KMPXMediaGeneralComment)
- {
- EditItemL(EDescriptionItem, EFalse);
- }
- else if (attribute == KGlxMediaGeneralLocation)
- {
- EditItemL(ELocationItem, EFalse);
- }
- else if (attribute == KGlxMediaGeneralDimensions)
- {
- EditItemL(EResolutionItem, EFalse);
- }
- else
- {
- }
- delete string;
- string = NULL;
- }
- CleanupStack::PopAndDestroy(stringConverter);
- }
+ iTextSetter.Append(*string);
+ if(attribute == KMPXMediaGeneralSize)
+ {
+ EditItemL(ESizeItem,EFalse);
+ }
+ else if(attribute == KMPXMediaGeneralDuration)
+ {
+ EditItemL(EDurationItem,EFalse);
+ }
+ else if(attribute == KMPXMediaGeneralTitle)
+ {
+ EditItemL(ENameItem,EFalse);
+ }
+ else if(attribute == KGlxMediaGeneralLastModifiedDate)
+ {
+ EditItemL(EDateAndTimeItem,EFalse);
+ }
+ else if(attribute == KMPXMediaGeneralComment)
+ {
+ EditItemL(EDescriptionItem,EFalse);
+ }
+ else if(attribute == KGlxMediaGeneralLocation)
+ {
+ EditItemL(ELocationItem,EFalse);
+ }
+ else if(attribute == KGlxMediaGeneralDimensions)
+ {
+ EditItemL(EResolutionItem,EFalse);
+ }
+ else
+ {
+
+ }
+ delete string;
+ string = NULL;
+ }
+ CleanupStack::PopAndDestroy(stringConverter );
+ }
// ----------------------------------------------------------------------------
// CGlxMetadataContainer::SetNameDescriptionL
@@ -789,18 +784,17 @@
//
void CGlxMetadataContainer::SetNameDescriptionL(TInt aItem)
{
- TRACER("CGlxMetadataContainer::SetNameDescriptionL");
+ TRACER("CGlxMetadataContainer::SetNameDescriptionL");
//This functions i commn for updatng both name and description once modified
//get the item handcle to be modified
- CAknSettingItem* settingsitem = (*SettingItemArray())[aItem];
- HBufC* textBuf = HBufC::NewLC(KMaxMediaPopupTextLength);
- const TDesC& popupText = settingsitem->SettingTextL();
- (textBuf->Des()).Copy(popupText.Left(KMaxMediaPopupTextLength));
+ CAknSettingItem* settingsitem = (*SettingItemArray())[aItem];
+ HBufC* textBuf = HBufC::NewLC( KMaxMediaPopupTitleLength );
+ (textBuf->Des()).Copy((settingsitem->SettingTextL()));
TPtr textPtr = textBuf->Des();
//Remove preceeding & trailing spaces
textPtr.Trim();
- HBufC* buf = NULL;
-
+ TBuf<KMaxMediaPopupTitleLength> titleText(*textBuf);
+ HBufC *buf = NULL;
if(aItem == ENameItem)
{
buf = StringLoader::LoadLC(R_GLX_METADATA_VIEW_TITLE_NSERIES);
@@ -809,129 +803,109 @@
{
buf = StringLoader::LoadLC(R_GLX_METADATA_VIEW_DESCRIPTION_NSERIES);
}
-
+
//Launch the text entry editor.
- CGlxTextEntryPopup* popup = CGlxTextEntryPopup::NewL(*buf, textPtr);
+ CGlxTextEntryPopup* popup = CGlxTextEntryPopup::NewL( *buf, textPtr );
CleanupStack::PopAndDestroy(buf);
- if (aItem == EDescriptionItem)
+ if(aItem == EDescriptionItem)
{
popup->SetLeftSoftKeyL(ETrue);
}
- iIsPopupShown = ETrue;
-
+
//action upon selecting ok from the editor
- if (popup->ExecuteLD() == EEikBidOk)
- {
- iIsPopupShown = EFalse;
- if (iItemMediaList->Count() && 0 != (popupText.Compare(*textBuf)))
- {
- TFileName fileName = ParseFileName(*textBuf);
- //check If filename already exists
- if ((aItem == ENameItem) && (BaflUtils::FileExists(
- ControlEnv()->FsSession(), fileName)))
- {
- //if changed title is same as existing one then showing the already use popup to user
- HBufC* info = StringLoader::LoadLC(R_GLX_NAME_ALREADY_USED,
- *textBuf);
- GlxGeneralUiUtilities::ShowInfoNoteL(*info, ETrue);
- CleanupStack::PopAndDestroy(info);
- }
- // Check if the filename is valid
- else if ((aItem == ENameItem)
- && (!ControlEnv()->FsSession().IsValidName(*textBuf)))
- {
- //Show illegal characters error note
- HBufC* info = StringLoader::LoadLC(
- R_GLX_QTN_FLDR_ILLEGAL_CHARACTERS);
- GlxGeneralUiUtilities::ShowInfoNoteL(*info, ETrue);
- CleanupStack::PopAndDestroy(info);
- }
- else
- {
- //Modify the MDS and setting list only if the entry is different from previous Item value
+ if ( popup->ExecuteLD() == EEikBidOk )
+ {
+ if(0 != (titleText.Compare(*textBuf)))
+ {
+
+ TFileName fileName = ParseFileName(*textBuf);
+ //check If filename already exists
+ if ((aItem == ENameItem) &&
+ (BaflUtils::FileExists(ControlEnv()->FsSession(), fileName)))
+ {
+ //if changed title is same as existing one then showing the already use popup to user
+ HBufC* info = StringLoader::LoadLC(R_GLX_NAME_ALREADY_USED, *textBuf);
+ GlxGeneralUiUtilities::ShowInfoNoteL(*info, ETrue);
+ CleanupStack::PopAndDestroy(info);
+ }
+ else
+ {
+ //Modify the MDS and setting list only if the entry is different from previous Item value
iTextSetter.Zero();
- iTextSetter.Copy(*textBuf);
- EditItemL(aItem, EFalse);
- iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute, 0);//set focus to first item
-
- if (aItem == ENameItem)
- {
- //indicate Rename command is started
- iRenameStarted = ETrue;
- //set Setting List Box to Dimmed status
- SetDimmed(iRenameStarted);
-
- const TGlxMedia& media = iItemMediaList->Item(0);
- ContentAccess::CManager *manager =
- ContentAccess::CManager::NewL();
- CleanupStack::PushL(manager);
- HBufC* modifiedName = fileName.AllocLC();
-
- //rename the media
- TInt error = manager->RenameFile(media.Uri(),
- *modifiedName);
- if (KErrNone == error)
- {
- //Redundant call But needed in case FileSystem is too slow
- //to notify MDS for updating title.
- //Create the glx command for updating Title in MDS
- CMPXCollectionPath* path = iItemMediaList->PathLC();
- CMPXCommand* command =
- TGlxCommandFactory::RenameCommandLC(
- 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);
- }
- else
- {
- //Renaming commmand failed
- iRenameStarted = EFalse;
- //reset Setting Items to undim status
- SetDimmed(iRenameStarted);
- //Reset the EName Settings field
- iTextSetter.Zero();
- iTextSetter.Copy(media.Title());
- EditItemL(ENameItem, EFalse);
+ iTextSetter.Copy(*textBuf);
+ EditItemL(aItem,EFalse);
+ iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute,0);//set focus to first item
+
+ if(aItem == ENameItem)
+ {
+ //indicate Rename command is started
+ iRenameStarted = ETrue;
+ //set Setting List Box to Dimmed status
+ SetDimmed(iRenameStarted);
+
+ const TGlxMedia& media = iItemMediaList->Item(0);
+ ContentAccess::CManager *manager = ContentAccess::CManager::NewL();
+ CleanupStack::PushL(manager);
+ HBufC* modifiedName = fileName.AllocLC();
+
+ //rename the media
+ TInt error = manager->RenameFile(media.Uri(), *modifiedName);
+ if(KErrNone == error)
+ {
+ //Redundant call But needed in case FileSystem is too slow
+ //to notify MDS for updating title.
+ //Create the glx command for updating Title in MDS
+ CMPXCollectionPath* path = iItemMediaList->PathLC();
+ CMPXCommand* command = TGlxCommandFactory::RenameCommandLC(
+ 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);
+ }
+ else
+ {
+ //Renaming commmand failed
+ iRenameStarted = EFalse;
+ //reset Setting Items to undim status
+ SetDimmed(iRenameStarted);
+ //Reset the EName Settings field
+ iTextSetter.Zero();
+ iTextSetter.Copy(media.Title());
+ EditItemL(ENameItem,EFalse);
GlxGeneralUiUtilities::ShowErrorNoteL(error);
- }
- CleanupStack::PopAndDestroy(modifiedName);
- CleanupStack::PopAndDestroy(manager);
- }
- else
- {
- //Create the glx command for changing description
- CMPXCollectionPath* path = iItemMediaList->PathLC();
- CMPXCommand* 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);
-
+ }
+ CleanupStack::PopAndDestroy(modifiedName);
+ CleanupStack::PopAndDestroy(manager);
+ }
+ else
+ {
+ //Create the glx command for changing description
+ CMPXCollectionPath* path = iItemMediaList->PathLC();
+ CMPXCommand* 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 );
+
//notify observer that some operation has happened. So refresh the toolbar area..
iResetToolbarObs.HandleToolbarResetting(EFalse);
- if (!iItemMediaList->Count())
- {
- iDialogObesrver.HandleItemRemovedL();
- }
}
-
// ----------------------------------------------------------------------------
// CGlxMetadataContainer::UpdateTagsL()
// ----------------------------------------------------------------------------
@@ -940,25 +914,23 @@
{
TRACER("CGlxMetadataContainer::UpdateTagsL");
//Get the tag setting item handle to set the text
- CAknSettingItem* settingsitem = (*SettingItemArray())[ETagsItem];
-
- //Set the tag setter to empty string before filling in the data.
- iTagSetter.Zero();
-
- //Loop to appened all the tags to the iTagSetter.
- for (TInt index = 0; index < iTagMediaList->Count(); index++)
- {
- if (iTagSetter.Length())
- {
- iTagSetter.Append(KGlxComma);
- }
- const TGlxMedia& item = iTagMediaList->Item(index);
- const TDesC& title = item.Title();
- iTagSetter.Append(title);
- }
- EditItemL(ETagsItem, EFalse);
- }
-
+ CAknSettingItem* settingsitem =
+ (*SettingItemArray())[ETagsItem];
+ //Set the tag setter to empty string before filling in the data.
+ iTagSetter.Copy(KGlxTextSetter);
+ //Loop to appened all the tags to the iTagSetter.
+ for( TInt index = 0 ; index < iTagMediaList->Count() ; index++ )
+ {
+ if(iTagSetter.Length())
+ {
+ iTagSetter.Append(KGlxComma);
+ }
+ const TGlxMedia& item = iTagMediaList->Item( index );
+ const TDesC& title = item.Title();
+ iTagSetter.Append(title);
+ }
+ EditItemL(ETagsItem,EFalse);
+ }
// ----------------------------------------------------------------------------
// CGlxMetadataContainer::UpdateAlbumsL()
// ----------------------------------------------------------------------------
@@ -967,11 +939,10 @@
{
TRACER("CGlxMetadataContainer::UpdateAlbumsL");
//Get the tag setting item handle to set the text
- CAknSettingItem* settingsitem = (*SettingItemArray())[EAlbumsItem];
-
+ CAknSettingItem* settingsitem =
+ (*SettingItemArray())[EAlbumsItem];
//Set the tag setter to empty string before filling in the data.
- iAlbumSetter.Zero();
-
+ iAlbumSetter.Copy(KGlxTextSetter);
//Loop to appened all the tags to the iAlbumSetter.
for( TInt index = 0 ; index < iAlbumMediaList->Count() ; index++ )
{
@@ -985,7 +956,6 @@
}
EditItemL(EAlbumsItem,EFalse);
}
-
// ----------------------------------------------------------------------------
// CGlxMetadataContainer::SetDurationLIicenseItemVisibilityL()
// ----------------------------------------------------------------------------
@@ -998,50 +968,43 @@
const CGlxMedia* media = item.Properties();
//in order to check for video category and drm rights
-
+
CAknSettingItem* hiddenItem = NULL;
- if (item.Category() == EMPXVideo)
- {
- if (!item.IsDrmProtected())
- {
- hiddenItem = (*SettingItemArray())[EDurationItem];
- //Set the duration item visible
- hiddenItem->SetHidden(EFalse);
- }
- else
- {
- hiddenItem = (*SettingItemArray())[EResolutionItem];
- //Set the Resolution item in-visible for DRM protected Video
- hiddenItem->SetHidden(ETrue);
- }
+ if( item.Category() == EMPXVideo)
+ {
+ if(!item.IsDrmProtected())
+ {
+ hiddenItem = (*SettingItemArray())[EDurationItem];
+ //Set the duration item visible
+ hiddenItem->SetHidden(EFalse);
+ }
//set the video flag which would be used to enable/disable the view details option.
this->HandleChangeInItemArrayOrVisibilityL();
iVideo = ETrue;
- }
- if (media && media->IsSupported(KMPXMediaDrmProtected))
+ }
+ if( media && media->IsSupported(KMPXMediaDrmProtected))
{
- if (item.IsDrmProtected())
- {
- hiddenItem = (*SettingItemArray())[ElicenseItem];
- //Set the License item visible
- hiddenItem->SetHidden(EFalse);
- //Required to refresh the listbox when any items visiblity is changed
- this->HandleChangeInItemArrayOrVisibilityL();
- }
+ if(item.IsDrmProtected())
+ {
+ hiddenItem = (*SettingItemArray())[ElicenseItem];
+ //Set the License item visible
+ hiddenItem->SetHidden(EFalse);
+ //Required to refresh the listbox when any items visiblity is changed
+ this->HandleChangeInItemArrayOrVisibilityL();
+ }
}
- }
-
+ }
//Medialist callbacks.
// ----------------------------------------------------------------------------
// CGlxMetadataContainer::HandleAttributesAvailableL
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleAttributesAvailableL(TInt /*aItemIndex*/,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList)
+void CGlxMetadataContainer::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.
- if (aList == iItemMediaList)
+ if(aList == iItemMediaList)
{
// Loop untill it checks for all the avialable attributes
for (TInt i = aAttributes.Count() - 1; i >= 0; i--)
@@ -1059,38 +1022,36 @@
//Check if media's uri(i.e 'aModifiedUri') is different from 'iUri'
//i.e media is Renamed then Refesh Media list.
TMPXAttribute uriAttrib(KMPXMediaGeneralUri);
- TIdentityRelation<TMPXAttribute> match(&TMPXAttribute::Match);
+ TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
TInt index = aAttributes.Find(uriAttrib, match);
if (KErrNotFound != index)
- {
- HBufC* modifiedUri = NULL;
- TGlxMedia item = iItemMediaList->Item(0);
- //Create the string convertor instance
- CGlxUStringConverter* stringConverter =
- CGlxUStringConverter::NewL();
- CleanupStack::PushL(stringConverter);
+ {
+ HBufC* modifiedUri = NULL;
+ TGlxMedia item = iItemMediaList->Item(0);
+ //Create the string convertor instance
+ CGlxUStringConverter* stringConverter = CGlxUStringConverter::NewL();
+ CleanupStack::PushL(stringConverter);
+
//fetch media uri
- stringConverter->AsStringL(item, aAttributes[index], 0, modifiedUri);
- if (modifiedUri)
+ stringConverter->AsStringL(item,aAttributes[index],0, modifiedUri );
+ CleanupStack::PopAndDestroy(stringConverter);
+
+ //Check if media item was renamed
+ if (modifiedUri && modifiedUri->Compare(*iUri) != 0)
{
+ //Set rename command as started since
+ //Rename is also possible from File Manager
+ iRenameStarted = ETrue;
CleanupStack::PushL(modifiedUri);
- //Check if media item was renamed
- if (modifiedUri->CompareF(*iUri) != 0)
- {
- //Set rename command as started since
- //Rename is also possible from File Manager
- iRenameStarted = ETrue;
- RefreshMediaListL(*modifiedUri);
- }
+ RefreshMediaListL(*modifiedUri);
CleanupStack::PopAndDestroy(modifiedUri);
}
- CleanupStack::PopAndDestroy(stringConverter);
}
}
-
+
TMPXAttribute titleAttrib(KMPXMediaGeneralTitle);
- TIdentityRelation<TMPXAttribute> match(&TMPXAttribute::Match);
+ TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
if (KErrNotFound != aAttributes.Find(titleAttrib, match))
{
@@ -1103,117 +1064,118 @@
UpdateAlbumsL();
}
}
+
}
// ----------------------------------------------------------------------------
// HandleItemAddedL
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleItemAddedL(TInt /*aStartIndex*/,
- TInt /*aEndIndex*/, MGlxMediaList* aList)
+void CGlxMetadataContainer::HandleItemAddedL( TInt /*aStartIndex*/, TInt /*aEndIndex*/,
+ MGlxMediaList* aList )
{
TRACER("CGlxMetadataContainer::HandleItemAddedL()");
-
- if (!iTagMediaList)
- {
+
+ if(!iTagMediaList)
+ {
CreateTagsMediaListL();
- }
- if (!iAlbumMediaList)
- {
- CreateAlbumsMediaListL();
- }
- if (!iMarquee)
- {
+ }
+ if(!iAlbumMediaList)
+ {
+ CreateAlbumsMediaListL();
+ }
+ if(!iMarquee)
+ {
EnableMarqueingL();
- }
+ }
SetDurationLIicenseItemVisibilityL();
- if (aList == iTagMediaList)
+ if(aList == iTagMediaList)
+ {
+ UpdateTagsL();
+ }
+ else if(aList == iAlbumMediaList)
+ {
+ UpdateAlbumsL();
+ }
+ if(aList == iItemMediaList)
{
- UpdateTagsL();
- }
- else if (aList == iAlbumMediaList)
- {
- UpdateAlbumsL();
- }
- if (aList == iItemMediaList)
- {
- if (iItemMediaList->Count())
- {
- TGlxMedia item = iItemMediaList->Item(0);
- CGlxUStringConverter* stringConverter =
- CGlxUStringConverter::NewL();
- CleanupStack::PushL(stringConverter);
- for (TInt index = 0; index <= EDurationItem; index++)
- {
- HBufC* string = NULL;
- iTextSetter.Zero();
+ if(iItemMediaList->Count())
+ {
+ TGlxMedia item = iItemMediaList->Item(0);
+ CGlxUStringConverter* stringConverter = CGlxUStringConverter::NewL();
+ CleanupStack::PushL(stringConverter );
+ for(TInt index = 0; index <= EDurationItem ; index++)
+ {
+ HBufC* string = NULL;
+ iTextSetter.Zero();
+
+ if(index == ESizeItem)
+ {
+ stringConverter->AsStringL(item,
+ KMPXMediaGeneralSize,0, string );
+ }
+ else if(index == EDurationItem)
+ {
+ stringConverter->AsStringL(item,
+ KMPXMediaGeneralDuration,0, string );
+ }
+ else if(index == ENameItem)
+ {
+ stringConverter->AsStringL(item,
+ KMPXMediaGeneralTitle,0, string );
+ }
+ else if(index == EDateAndTimeItem)
+ {
+ stringConverter->AsStringL( item,
+ KGlxMediaGeneralLastModifiedDate,
+ R_QTN_DATE_USUAL_WITH_ZERO,string );
+ }
+ else if(index == EDescriptionItem)
+ {
+ stringConverter->AsStringL(item,
+ KMPXMediaGeneralComment,0, string );
+ }
+ else if(index == ELocationItem)
+ {
+ stringConverter->AsStringL(item,
+ KGlxMediaGeneralLocation,0, string );
+ }
+ else if(index == EResolutionItem)
+ {
+ stringConverter->AsStringL(item,
+ KGlxMediaGeneralDimensions,0, string );
+ }
+ else if(index == ElicenseItem)
+ {
+ // 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)
+ {
+ iTextSetter.Copy(KGlxTextSetter);
+ iTextSetter.Append(*string);
+ }
+ CleanupStack::PushL( string );
+ EditItemL(index,EFalse);
+ CleanupStack::PopAndDestroy(string );
+ }
+ CleanupStack::PopAndDestroy(stringConverter );
- if (index == ESizeItem)
- {
- stringConverter->AsStringL(item, KMPXMediaGeneralSize, 0,
- string);
- }
- else if (index == EDurationItem)
- {
- stringConverter->AsStringL(item,
- KMPXMediaGeneralDuration, 0, string);
- }
- else if (index == ENameItem)
- {
- stringConverter->AsStringL(item, KMPXMediaGeneralTitle,
- 0, string);
- }
- else if (index == EDateAndTimeItem)
- {
- stringConverter->AsStringL(item, KMPXMediaGeneralDate,
- R_QTN_DATE_USUAL_WITH_ZERO, string);
- }
- else if (index == EDescriptionItem)
- {
- stringConverter->AsStringL(item, KMPXMediaGeneralComment,
- 0, string);
- }
- else if (index == ELocationItem)
- {
- stringConverter->AsStringL(item,
- KGlxMediaGeneralLocation, 0, string);
- }
- else if (index == EResolutionItem)
- {
- stringConverter->AsStringL(item,
- KGlxMediaGeneralDimensions, 0, string);
- }
- else if (index == ElicenseItem)
- {
- // 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)
- {
- iTextSetter.Append(*string);
- }
- CleanupStack::PushL(string);
- EditItemL(index, EFalse);
- CleanupStack::PopAndDestroy(string);
- }
- CleanupStack::PopAndDestroy(stringConverter);
-
- //Reopening Media list is completed
- //& Rename Command is also completed
- if (iRenameStarted)
- {
- iRenameStarted = EFalse;
- //reset Setting Items to undimmed status
- SetDimmed(iRenameStarted);
- iAvkonAppUi->ProcessCommandL(EGlxCmdRenameCompleted);
- }
- }
+ //Reopening Media list is completed
+ //& Rename Command is also completed
+ if(iRenameStarted)
+ {
+ iRenameStarted = EFalse;
+ //reset Setting Items to undimmed status
+ SetDimmed(iRenameStarted);
+ iAvkonAppUi->ProcessCommandL(EGlxCmdRenameCompleted);
+ }
+ }
}
}
// ----------------------------------------------------------------------------
@@ -1222,114 +1184,102 @@
//
void CGlxMetadataContainer::EnableMarqueingL()
{
- TRACER("CGlxMetadataContainer::EnableMarqueingL()");
+ TRACER("CGlxMetadataContainer::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);
-
+
//Fetch the current item index
TInt index = ListBox()->CurrentItemIndex();
//Reset the disable marquee flag, so that marquee effect can continue (this is normally reset by
//base class of glxmetaDatadialog::HandlePointerEventL()
ListBox()->ItemDrawer()->ClearFlags(CListItemDrawer::EDisableMarquee);
-
+
//This is the function which actually starts marquee effect. It is anyway being called from base
//implementation of OfferKeyEventL(), but for pointer event, we have to call
//this function
ListBox()->DrawItem(index);
- }
-
+ }
// ----------------------------------------------------------------------------
// HandleCommandCompleteL
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleCommandCompleteL(TAny* aSessionId,
+void CGlxMetadataContainer::HandleCommandCompleteL(TAny* aSessionId,
CMPXCommand* aCommandResult, TInt aError, MGlxMediaList* aList)
{
TRACER("CGlxMetadataContainer::HandleCommandCompleteL()");
-
+
//Callback from MDS when rename the Title
- if (aError == KErrNone)
- {
- if (aList == iItemMediaList && aCommandResult->IsSupported(
- KMPXMediaGeneralTitle))
- {
- GLX_LOG_INFO("RenameCMD to MDS completed");
- //Since RenameCommand to MDS is redundant and FileSystem has
- //already renamed the file, so there is no need to do anything here
- }
- }
-
+ if(aError == KErrNone)
+ {
+ if(aList == iItemMediaList && aCommandResult->IsSupported(KMPXMediaGeneralTitle))
+ {
+ GLX_LOG_INFO("RenameCMD to MDS completed");
+ //Since RenameCommand to MDS is redundant and FileSystem has
+ //already renamed the file, so there is no need to do anything here
+ }
+ }
+
//To update the location information once the delete operation is successful.
- if (aList == iItemMediaList && iLocationinfo && static_cast<TAny*> (this)
- == aSessionId)
- {
- TGlxMedia media = iItemMediaList->Item(0);
- media.DeleteLocationAttribute();
- iLocationinfo = EFalse;
- if (aError == KErrNone)
- {
+ if(aList == iItemMediaList && iLocationinfo
+ && static_cast<TAny*>( this ) == aSessionId)
+ {
+ TGlxMedia media = iItemMediaList->Item(0) ;
+ media.DeleteLocationAttribute();
+ iLocationinfo = EFalse;
+ if ( aError == KErrNone )
+ {
iTextSetter.Zero();
- EditItemL(ELocationItem, EFalse);
- }
- }
- }
-
+ EditItemL(ELocationItem,EFalse);
+ }
+ }
+ }
+
// ----------------------------------------------------------------------------
-// HandleItemRemovedL
+// HandleItemRemoved
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleItemRemovedL(TInt /*aStartIndex*/,
- TInt /*aEndIndex*/, MGlxMediaList* /*aList*/)
+void CGlxMetadataContainer::HandleItemRemovedL( TInt /*aStartIndex*/, TInt /*aEndIndex*/,
+ MGlxMediaList* /*aList*/ )
{
- TRACER("CGlxMetadataContainer::HandleItemRemovedL()");
- //Ignore if this callback corresponds to a rename operation.
- if (!iItemMediaList->Count() && !iIsPopupShown && !iRenameStarted)
- {
- iDialogObesrver.HandleItemRemovedL();
- }
- }
-
+ TRACER("CGlxMetadataContainer::HandleItemRemovedL()");
+ }
// ----------------------------------------------------------------------------
// HandleFocusChangedL
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleFocusChangedL(
- NGlxListDefs::TFocusChangeType /*aType*/, TInt /*aNewIndex*/,
- TInt /*aOldIndex*/, MGlxMediaList* /*aList*/)
+void CGlxMetadataContainer::HandleFocusChangedL( NGlxListDefs::
+ TFocusChangeType /*aType*/, TInt /*aNewIndex*/, TInt /*aOldIndex*/,
+ MGlxMediaList* /*aList*/ )
{
TRACER("CGlxMetadataContainer::HandleFocusChangedL()");
}
-
// ----------------------------------------------------------------------------
-// HandleItemSelectedL
+// HandleItemSelected
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleItemSelectedL(TInt /*aIndex*/,
- TBool /*aSelected*/, MGlxMediaList* /*aList*/)
+void CGlxMetadataContainer::HandleItemSelectedL(TInt /*aIndex*/,
+ TBool /*aSelected*/, MGlxMediaList* /*aList*/ )
{
TRACER("CGlxMetadataContainer::HandleItemSelectedL");
}
-
// ----------------------------------------------------------------------------
// HandleMessageL
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleMessageL(const CMPXMessage& /*aMessage*/,
- MGlxMediaList* /*aList*/)
+void CGlxMetadataContainer::HandleMessageL( const CMPXMessage& /*aMessage*/,
+ MGlxMediaList* /*aList*/ )
{
TRACER("CGlxMetadataContainer::HandleMessageL()");
}
-
// ----------------------------------------------------------------------------
// HandleError
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleError(TInt /*aError*/)
+void CGlxMetadataContainer::HandleError( TInt /*aError*/ )
{
TRACER("CGlxMetadataContainer::HandleError()");
TRAP_IGNORE(HandleErrorL());
@@ -1343,117 +1293,114 @@
{
TRACER("CGlxMetadataContainer::HandleErrorL()");
}
-
// ----------------------------------------------------------------------------
// HandleCommandCompleteL
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleCommandCompleteL(
- CMPXCommand* /*aCommandResult*/, TInt /*aError*/, MGlxMediaList* /*aList*/)
+void CGlxMetadataContainer::HandleCommandCompleteL( CMPXCommand* /*aCommandResult*/,
+ TInt /*aError*/, MGlxMediaList* /*aList*/ )
{
TRACER("CGlxMetadataContainer::HandleCommandCompleteL()");
}
-
+
// ----------------------------------------------------------------------------
// HandleMediaL
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleMediaL(TInt /*aListIndex*/, MGlxMediaList* /*aList*/)
+void CGlxMetadataContainer::HandleMediaL( TInt /*aListIndex*/, MGlxMediaList* /*aList*/ )
{
TRACER("CGlxMetadataContainer::HandleMediaL()");
}
-
+
// ----------------------------------------------------------------------------
// HandleItemModifiedL
// ----------------------------------------------------------------------------
//
-void CGlxMetadataContainer::HandleItemModifiedL(
- const RArray<TInt>& /*aItemIndexes*/, MGlxMediaList* /*aList*/)
+void CGlxMetadataContainer::HandleItemModifiedL( const RArray<TInt>& /*aItemIndexes*/,
+ MGlxMediaList* /*aList*/ )
{
TRACER("CGlxMetadataContainer::HandleItemModifiedL()");
}
-
// ----------------------------------------------------------------------------
// ChangeMskL
// ----------------------------------------------------------------------------
//
void CGlxMetadataContainer::ChangeMskL()
- {
+ {
TRACER("CGlxMetadataContainer::ChangeMskL()");
CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL();
CleanupClosePushL(*uiUtility);
switch (ListBox()->CurrentItemIndex())
{
- case ENameItem:
+ case ENameItem:
case EDescriptionItem:
- case ETagsItem:
- case EAlbumsItem:
+ case ETagsItem:
+ case EAlbumsItem:
{
- uiUtility->ScreenFurniture()->ModifySoftkeyIdL(
- CEikButtonGroupContainer::EMiddleSoftkeyPosition,
- EAknSoftkeyEdit, R_GLX_METADATA_MSK_EDIT);
- }
- break;
+ uiUtility->ScreenFurniture()->ModifySoftkeyIdL(CEikButtonGroupContainer::EMiddleSoftkeyPosition,
+ EAknSoftkeyEdit,R_GLX_METADATA_MSK_EDIT);
+ }
+ break;
case EDateAndTimeItem:
case ELocationItem:
case ESizeItem:
case EDurationItem:
case ElicenseItem:
case EResolutionItem:
- {
- uiUtility->ScreenFurniture()->ModifySoftkeyIdL(
- CEikButtonGroupContainer::EMiddleSoftkeyPosition,
- EAknSoftkeyEdit, R_GLX_METADATA_MSK_BLANK);
- }
- break;
+ {
+ uiUtility->ScreenFurniture()->ModifySoftkeyIdL(CEikButtonGroupContainer::EMiddleSoftkeyPosition,
+ EAknSoftkeyEdit,R_GLX_METADATA_MSK_BLANK);
+ }
+ break;
default:
- {
- break;
- }
+ {
+ break;
+ }
}
+
CleanupStack::PopAndDestroy(uiUtility);
- }
-
+ }
+
// ---------------------------------------------------------------------------
// Parse the drive, path & extension from the old uri,
// And return the modified uri by appending the new title
// ---------------------------------------------------------------------------
TFileName CGlxMetadataContainer::ParseFileName(const TDesC& aTitleText)
- {
- TRACER("CGlxMetadataContainer::ParseFileName()");
- const TGlxMedia& media = iItemMediaList->Item(0);
- TParsePtrC parsePtr(media.Uri());
+ {
+ TRACER("CGlxMetadataContainer::ParseFileName()");
+ const TGlxMedia& media = iItemMediaList->Item(0);
+ TParsePtrC parsePtr(media.Uri());
- TFileName destinationFileName;
- destinationFileName.Append(parsePtr.DriveAndPath());
- destinationFileName.Append(aTitleText);
- destinationFileName.Append(parsePtr.Ext());
+ TFileName destinationFileName;
+ destinationFileName.Append(parsePtr.DriveAndPath());
+ destinationFileName.Append(aTitleText);
+ destinationFileName.Append(parsePtr.Ext());
- return destinationFileName;
- }
+ return destinationFileName;
+ }
// ---------------------------------------------------------------------------
// Refresh MediaList with modified FileName.
// ---------------------------------------------------------------------------
void CGlxMetadataContainer::RefreshMediaListL(const TDesC& aModifiedUri)
- {
- //Refresh media list since media is renamed
+ {
+ //Refresh media list since media is renamed
TRACER("CGlxMetadataContainer::RefreshMediaListL()");
GLX_LOG_URI("CGlxMetadataContainer::RefreshMediaListL(%S)", &aModifiedUri);
if (iUri)
- {
- delete iUri;
- iUri = NULL;
- }
- //always points to current media name
- iUri = aModifiedUri.AllocL();
- CMPXFilter* filter = TGlxFilterFactory::CreateURIFilterL(*iUri);
- CleanupStack::PushL(filter);
+ {
+ delete iUri;
+ iUri = NULL;
+ }
+ //always points to current media name
+ iUri = aModifiedUri.AllocL();
+ CMPXFilter* filter = TGlxFilterFactory::CreateURIFilterL(*iUri);
+ CleanupStack::PushL(filter);
- //Update media list's filter
- iItemMediaList->SetFilterL(filter);
- CleanupStack::PopAndDestroy(filter);
+ //Update media list's filter
+ iItemMediaList->SetFilterL(filter);
+ CleanupStack::PopAndDestroy(filter);
}
//End of file