# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1272375473 -10800 # Node ID 191387a8b76707d1681a9cf11365d0c490f454ac # Parent 2dac0fdba72b98266bb39cce77e76e8cadb8c3e6 Revision: 201015 Kit: 201017 diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp --- a/photosgallery/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -218,7 +218,7 @@ if(aSpecs->IsSupported(KMPXMediaGeneralSize)) { - tnFileInfo->iFileSize = aSpecs->ValueTObjectL(KMPXMediaGeneralSize); + tnFileInfo->iFileSize = aSpecs->ValueTObjectL(KMPXMediaGeneralSize); countInfo++; } if(aSpecs->IsSupported(KGlxMediaGeneralLastModifiedDate)) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp --- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -533,7 +533,7 @@ iSession->AddObjectObserverL(*this, addCondition ); iSession->AddObjectPresentObserverL(*this ); - CleanupStack::PopAndDestroy( addCondition ); + CleanupStack::Pop( addCondition ); //This addCondition should only be popped. The destroy part will be done by MDS. } // --------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp --- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -253,7 +253,11 @@ CMdEObjectDef* objectDef = &aObjectDef; SetQueryFilterConditionsL(rootCondition, *objectDef, aFilterProperties); - SetSortOrderL(aQuery, aObjectDef, aFilterProperties); + + if (aQuery.ResultMode() != EQueryResultModeCount) + { + SetSortOrderL(aQuery, aObjectDef, aFilterProperties); + } if( KGlxCollectionRootId != aContainerId.Value() ) { @@ -544,8 +548,8 @@ *queryBaseObject, this); CleanupStack::PushL(query); + query->SetResultMode(aResultMode); SetQueryConditionsL(*query, iFilterProperties, aContainerId, aObjectDef); - query->SetResultMode(aResultMode); CleanupStack::Pop(query); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsattribute.cpp --- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsattribute.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsattribute.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -583,7 +583,7 @@ CMdEPropertyDef& sizeProperty = aContainer->Def().GetPropertyDefL( KPropertyDefNameSize); TInt sizeIndex = aContainer->Property(sizeProperty, size); - TInt sizeValue; + TUint sizeValue; if(sizeIndex == KErrNotFound) { sizeValue = 0; @@ -1438,8 +1438,8 @@ CMdEQuery* query = DataSource()->Session().NewObjectQueryL(*DataSource()->NamespaceDef(), *queryBaseObject, this); CleanupStack::PushL(query); + query->SetResultMode(aResultMode); SetQueryConditionsL(*query, aFilterProperties, aContainerId, aObjectDef); - query->SetResultMode(aResultMode); iQueryAttributes.AppendL(TGlxQueryAttribute(aAttribute, aEntry, aFilterProperties)); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/collectionframework/thumbnailcreator/inc/glxtnfileinfo.h --- a/photosgallery/collectionframework/thumbnailcreator/inc/glxtnfileinfo.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/collectionframework/thumbnailcreator/inc/glxtnfileinfo.h Tue Apr 27 16:37:53 2010 +0300 @@ -71,7 +71,7 @@ public: /** Size of the media file */ - TInt iFileSize; + TUint iFileSize; /** Last modified time of the media file */ TTime iFileTime; /** True if the thumbnail is temporary and should not be stored */ diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/common/bwins/glxcommonu.def --- a/photosgallery/common/bwins/glxcommonu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/common/bwins/glxcommonu.def Tue Apr 27 16:37:53 2010 +0300 @@ -13,39 +13,40 @@ ?StartL@CGlxIadUpdate@@QAEXXZ @ 12 NONAME ; void CGlxIadUpdate::StartL(void) ?AddToContainerCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVCMPXCollectionPath@@0@Z @ 13 NONAME ; class CMPXMedia * TGlxCommandFactory::AddToContainerCommandLC(class CMPXCollectionPath const &, class CMPXCollectionPath const &) ?CreateCaptureDateSortFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 14 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateCaptureDateSortFilterL(enum TGlxFilterSortDirection) - ?MoveCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVTDesC16@@ABVCMPXCollectionPath@@@Z @ 15 NONAME ; class CMPXMedia * TGlxCommandFactory::MoveCommandLC(class TDesC16 const &, class CMPXCollectionPath const &) - ?CreateSlideShowFilterFromExistingFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@PAV2@PAVCMPXCollectionPath@@H@Z @ 16 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateSlideShowFilterFromExistingFilterL(class CMPXMedia *, class CMPXCollectionPath *, int) - ?CreateLastCaptureDateFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 17 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateLastCaptureDateFilterL(void) - ?CreateExcludeAnimationFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 18 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateExcludeAnimationFilterL(enum TGlxFilterSortDirection) - ?SupportedOrientations@CGlxSettingsModel@@QAE?AW4TSupportedOrientations@1@XZ @ 19 NONAME ; enum CGlxSettingsModel::TSupportedOrientations CGlxSettingsModel::SupportedOrientations(void) - ?ShowGeoCoordinatesInDisplay@CGlxSettingsModel@@QAEHXZ @ 20 NONAME ; int CGlxSettingsModel::ShowGeoCoordinatesInDisplay(void) - ?IsTextEntryPortrait@CGlxSettingsModel@@QAEHXZ @ 21 NONAME ; int CGlxSettingsModel::IsTextEntryPortrait(void) - ?CreateItemCountSortFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 22 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateItemCountSortFilterL(enum TGlxFilterSortDirection) - ?RenameCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVTDesC16@@ABVCMPXCollectionPath@@@Z @ 23 NONAME ; class CMPXMedia * TGlxCommandFactory::RenameCommandLC(class TDesC16 const &, class CMPXCollectionPath const &) - ?ExtractAttributes@TGlxFilterFactory@@SA?AVTGlxFilterProperties@@PAVCMPXMedia@@@Z @ 24 NONAME ; class TGlxFilterProperties TGlxFilterFactory::ExtractAttributes(class CMPXMedia *) - ?ParseL@TGlxCommandParser@@SAXAAVMGlxCommandParserCallback@@ABVCMPXMedia@@@Z @ 25 NONAME ; void TGlxCommandParser::ParseL(class MGlxCommandParserCallback &, class CMPXMedia const &) - ?AddToContainerCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVTDesC16@@ABVCMPXCollectionPath@@@Z @ 26 NONAME ; class CMPXMedia * TGlxCommandFactory::AddToContainerCommandLC(class TDesC16 const &, class CMPXCollectionPath const &) - ?CreateExcludeEmptyContainersFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@PAV2@@Z @ 27 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateExcludeEmptyContainersFilterL(class CMPXMedia *) - ?InstanceLC@CGlxSingletonStore@@CAPAV1@XZ @ 28 NONAME ; class CGlxSingletonStore * CGlxSingletonStore::InstanceLC(void) - ?Close@CGlxSettingsModel@@QAEXXZ @ 29 NONAME ; void CGlxSettingsModel::Close(void) - ?CreateCombinedFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@ABVTGlxFilterProperties@@PAV2@H@Z @ 30 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateCombinedFilterL(class TGlxFilterProperties const &, class CMPXMedia *, int) - ?RemoveFromContainerCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@VTGlxMediaId@@ABVCMPXCollectionPath@@@Z @ 31 NONAME ; class CMPXMedia * TGlxCommandFactory::RemoveFromContainerCommandLC(class TGlxMediaId, class CMPXCollectionPath const &) - ?NewL@CGlxIadUpdate@@SAPAV1@XZ @ 32 NONAME ; class CGlxIadUpdate * CGlxIadUpdate::NewL(void) - ?IdsL@TGlxCommandParser@@SAHAAVTUid@@AAKABVCMPXMedia@@@Z @ 33 NONAME ; int TGlxCommandParser::IdsL(class TUid &, unsigned long &, class CMPXMedia const &) - ??1CGlxSingletonStore@@UAE@XZ @ 34 NONAME ; CGlxSingletonStore::~CGlxSingletonStore(void) - ?CreateModifiedDateFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 35 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateModifiedDateFilterL(enum TGlxFilterSortDirection) - ?AddContainerCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVTDesC16@@H@Z @ 36 NONAME ; class CMPXMedia * TGlxCommandFactory::AddContainerCommandLC(class TDesC16 const &, int) - ?DeleteLocationCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVCMPXCollectionPath@@@Z @ 37 NONAME ; class CMPXMedia * TGlxCommandFactory::DeleteLocationCommandLC(class CMPXCollectionPath const &) - ?CreateAlphabeticSortFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 38 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateAlphabeticSortFilterL(enum TGlxFilterSortDirection) - ?CreateThumbnailLoadabilityFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@VTSize@@@Z @ 39 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateThumbnailLoadabilityFilterL(class TSize) - ?ThumbnailCleanupCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@XZ @ 40 NONAME ; class CMPXMedia * TGlxCommandFactory::ThumbnailCleanupCommandLC(void) - ?ShowSlideshowInToolbar@CGlxSettingsModel@@QAEHXZ @ 41 NONAME ; int CGlxSettingsModel::ShowSlideshowInToolbar(void) - ?InstanceL@CGlxSettingsModel@@SAPAV1@XZ @ 42 NONAME ; class CGlxSettingsModel * CGlxSettingsModel::InstanceL(void) - ?CreateIncludeEmptyContainersFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@PAV2@@Z @ 43 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateIncludeEmptyContainersFilterL(class CMPXMedia *) - ?DeleteCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVCMPXCollectionPath@@@Z @ 44 NONAME ; class CMPXMedia * TGlxCommandFactory::DeleteCommandLC(class CMPXCollectionPath const &) - ?CreateSlideShowFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@PAVCMPXCollectionPath@@W4TGlxFilterSortDirection@@W4TGlxFilterSortOrder@@@Z @ 45 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateSlideShowFilterL(class CMPXCollectionPath *, enum TGlxFilterSortDirection, enum TGlxFilterSortOrder) - ?Close@CGlxSingletonStore@@SAXPAVCBase@@@Z @ 46 NONAME ; void CGlxSingletonStore::Close(class CBase *) - ?CreatePreviewTNFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 47 NONAME ; class CMPXMedia * TGlxFilterFactory::CreatePreviewTNFilterL(void) - ?CreateContainerPreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 48 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateContainerPreviewFilterL(void) - ?CreatePreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 49 NONAME ; class CMPXMedia * TGlxFilterFactory::CreatePreviewFilterL(void) + ?GetUiUtilitiesResourceFilenameL@CGlxResourceUtilities@@SA?AV?$TBuf@$0BAA@@@XZ @ 15 NONAME ; class TBuf<256> CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL(void) + ?MoveCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVTDesC16@@ABVCMPXCollectionPath@@@Z @ 16 NONAME ; class CMPXMedia * TGlxCommandFactory::MoveCommandLC(class TDesC16 const &, class CMPXCollectionPath const &) + ?CreateSlideShowFilterFromExistingFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@PAV2@PAVCMPXCollectionPath@@H@Z @ 17 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateSlideShowFilterFromExistingFilterL(class CMPXMedia *, class CMPXCollectionPath *, int) + ?CreateLastCaptureDateFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 18 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateLastCaptureDateFilterL(void) + ?CreateExcludeAnimationFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 19 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateExcludeAnimationFilterL(enum TGlxFilterSortDirection) + ?SupportedOrientations@CGlxSettingsModel@@QAE?AW4TSupportedOrientations@1@XZ @ 20 NONAME ; enum CGlxSettingsModel::TSupportedOrientations CGlxSettingsModel::SupportedOrientations(void) + ?ShowGeoCoordinatesInDisplay@CGlxSettingsModel@@QAEHXZ @ 21 NONAME ; int CGlxSettingsModel::ShowGeoCoordinatesInDisplay(void) + ?IsTextEntryPortrait@CGlxSettingsModel@@QAEHXZ @ 22 NONAME ; int CGlxSettingsModel::IsTextEntryPortrait(void) + ?CreateItemCountSortFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 23 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateItemCountSortFilterL(enum TGlxFilterSortDirection) + ?RenameCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVTDesC16@@ABVCMPXCollectionPath@@@Z @ 24 NONAME ; class CMPXMedia * TGlxCommandFactory::RenameCommandLC(class TDesC16 const &, class CMPXCollectionPath const &) + ?ExtractAttributes@TGlxFilterFactory@@SA?AVTGlxFilterProperties@@PAVCMPXMedia@@@Z @ 25 NONAME ; class TGlxFilterProperties TGlxFilterFactory::ExtractAttributes(class CMPXMedia *) + ?ParseL@TGlxCommandParser@@SAXAAVMGlxCommandParserCallback@@ABVCMPXMedia@@@Z @ 26 NONAME ; void TGlxCommandParser::ParseL(class MGlxCommandParserCallback &, class CMPXMedia const &) + ?AddToContainerCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVTDesC16@@ABVCMPXCollectionPath@@@Z @ 27 NONAME ; class CMPXMedia * TGlxCommandFactory::AddToContainerCommandLC(class TDesC16 const &, class CMPXCollectionPath const &) + ?CreateExcludeEmptyContainersFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@PAV2@@Z @ 28 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateExcludeEmptyContainersFilterL(class CMPXMedia *) + ?InstanceLC@CGlxSingletonStore@@CAPAV1@XZ @ 29 NONAME ; class CGlxSingletonStore * CGlxSingletonStore::InstanceLC(void) + ?Close@CGlxSettingsModel@@QAEXXZ @ 30 NONAME ; void CGlxSettingsModel::Close(void) + ?CreateCombinedFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@ABVTGlxFilterProperties@@PAV2@H@Z @ 31 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateCombinedFilterL(class TGlxFilterProperties const &, class CMPXMedia *, int) + ?RemoveFromContainerCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@VTGlxMediaId@@ABVCMPXCollectionPath@@@Z @ 32 NONAME ; class CMPXMedia * TGlxCommandFactory::RemoveFromContainerCommandLC(class TGlxMediaId, class CMPXCollectionPath const &) + ?NewL@CGlxIadUpdate@@SAPAV1@XZ @ 33 NONAME ; class CGlxIadUpdate * CGlxIadUpdate::NewL(void) + ?IdsL@TGlxCommandParser@@SAHAAVTUid@@AAKABVCMPXMedia@@@Z @ 34 NONAME ; int TGlxCommandParser::IdsL(class TUid &, unsigned long &, class CMPXMedia const &) + ??1CGlxSingletonStore@@UAE@XZ @ 35 NONAME ; CGlxSingletonStore::~CGlxSingletonStore(void) + ?CreateModifiedDateFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 36 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateModifiedDateFilterL(enum TGlxFilterSortDirection) + ?AddContainerCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVTDesC16@@H@Z @ 37 NONAME ; class CMPXMedia * TGlxCommandFactory::AddContainerCommandLC(class TDesC16 const &, int) + ?DeleteLocationCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVCMPXCollectionPath@@@Z @ 38 NONAME ; class CMPXMedia * TGlxCommandFactory::DeleteLocationCommandLC(class CMPXCollectionPath const &) + ?CreateAlphabeticSortFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 39 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateAlphabeticSortFilterL(enum TGlxFilterSortDirection) + ?CreateThumbnailLoadabilityFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@VTSize@@@Z @ 40 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateThumbnailLoadabilityFilterL(class TSize) + ?ThumbnailCleanupCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@XZ @ 41 NONAME ; class CMPXMedia * TGlxCommandFactory::ThumbnailCleanupCommandLC(void) + ?ShowSlideshowInToolbar@CGlxSettingsModel@@QAEHXZ @ 42 NONAME ; int CGlxSettingsModel::ShowSlideshowInToolbar(void) + ?InstanceL@CGlxSettingsModel@@SAPAV1@XZ @ 43 NONAME ; class CGlxSettingsModel * CGlxSettingsModel::InstanceL(void) + ?CreateIncludeEmptyContainersFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@PAV2@@Z @ 44 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateIncludeEmptyContainersFilterL(class CMPXMedia *) + ?DeleteCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVCMPXCollectionPath@@@Z @ 45 NONAME ; class CMPXMedia * TGlxCommandFactory::DeleteCommandLC(class CMPXCollectionPath const &) + ?CreateSlideShowFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@PAVCMPXCollectionPath@@W4TGlxFilterSortDirection@@W4TGlxFilterSortOrder@@@Z @ 46 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateSlideShowFilterL(class CMPXCollectionPath *, enum TGlxFilterSortDirection, enum TGlxFilterSortOrder) + ?Close@CGlxSingletonStore@@SAXPAVCBase@@@Z @ 47 NONAME ; void CGlxSingletonStore::Close(class CBase *) + ?CreatePreviewTNFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 48 NONAME ; class CMPXMedia * TGlxFilterFactory::CreatePreviewTNFilterL(void) + ?CreateContainerPreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 49 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateContainerPreviewFilterL(void) + ?CreatePreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 50 NONAME ; class CMPXMedia * TGlxFilterFactory::CreatePreviewFilterL(void) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/common/eabi/glxcommonu.def --- a/photosgallery/common/eabi/glxcommonu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/common/eabi/glxcommonu.def Tue Apr 27 16:37:53 2010 +0300 @@ -15,41 +15,42 @@ _ZN17TGlxFilterFactory20CreatePreviewFilterLEv @ 14 NONAME _ZN17TGlxFilterFactory21CreateCombinedFilterLERK20TGlxFilterPropertiesP9CMPXMediai @ 15 NONAME _ZN17TGlxFilterFactory21CreateItemTypeFilterLE18TGlxFilterItemType @ 16 NONAME - _ZN17TGlxFilterFactory22CreateSlideShowFilterLEP18CMPXCollectionPath23TGlxFilterSortDirection19TGlxFilterSortOrder @ 17 NONAME - _ZN17TGlxFilterFactory25CreateModifiedDateFilterLE23TGlxFilterSortDirection @ 18 NONAME - _ZN17TGlxFilterFactory26CreateItemCountSortFilterLE23TGlxFilterSortDirection @ 19 NONAME - _ZN17TGlxFilterFactory27CreateAlphabeticSortFilterLE23TGlxFilterSortDirection @ 20 NONAME - _ZN17TGlxFilterFactory28CreateCaptureDateSortFilterLE23TGlxFilterSortDirection @ 21 NONAME - _ZN17TGlxFilterFactory28CreateLastCaptureDateFilterLEv @ 22 NONAME - _ZN17TGlxFilterFactory29CreateContainerPreviewFilterLEv @ 23 NONAME - _ZN17TGlxFilterFactory29CreateExcludeAnimationFilterLE23TGlxFilterSortDirection @ 24 NONAME - _ZN17TGlxFilterFactory33CreateCameraAlbumExclusionFilterLEv @ 25 NONAME - _ZN17TGlxFilterFactory33CreateThumbnailLoadabilityFilterLE5TSize @ 26 NONAME - _ZN17TGlxFilterFactory35CreateExcludeEmptyContainersFilterLEP9CMPXMedia @ 27 NONAME - _ZN17TGlxFilterFactory35CreateIncludeEmptyContainersFilterLEP9CMPXMedia @ 28 NONAME - _ZN17TGlxFilterFactory40CreateSlideShowFilterFromExistingFilterLEP9CMPXMediaP18CMPXCollectionPathi @ 29 NONAME - _ZN17TGlxFilterFactory41CreateExcludeContainersWithoutItemFilterLE11TGlxMediaId @ 30 NONAME - _ZN18CGlxSingletonStore10InstanceLCEv @ 31 NONAME - _ZN18CGlxSingletonStore5CloseEP5CBase @ 32 NONAME - _ZN18CGlxSingletonStoreD0Ev @ 33 NONAME - _ZN18CGlxSingletonStoreD1Ev @ 34 NONAME - _ZN18CGlxSingletonStoreD2Ev @ 35 NONAME - _ZN18TGlxCommandFactory13CopyCommandLCERK7TDesC16RK18CMPXCollectionPath @ 36 NONAME - _ZN18TGlxCommandFactory13MoveCommandLCERK7TDesC16RK18CMPXCollectionPath @ 37 NONAME - _ZN18TGlxCommandFactory14BasicCommandLCEiRK18CMPXCollectionPath @ 38 NONAME - _ZN18TGlxCommandFactory15DeleteCommandLCERK18CMPXCollectionPath @ 39 NONAME - _ZN18TGlxCommandFactory15RenameCommandLCERK7TDesC16RK18CMPXCollectionPath @ 40 NONAME - _ZN18TGlxCommandFactory21AddContainerCommandLCERK7TDesC16i @ 41 NONAME - _ZN18TGlxCommandFactory23AddToContainerCommandLCERK18CMPXCollectionPathS2_ @ 42 NONAME - _ZN18TGlxCommandFactory23AddToContainerCommandLCERK7TDesC16RK18CMPXCollectionPath @ 43 NONAME - _ZN18TGlxCommandFactory23DeleteLocationCommandLCERK18CMPXCollectionPath @ 44 NONAME - _ZN18TGlxCommandFactory23SetDescriptionCommandLCERK7TDesC16RK18CMPXCollectionPath @ 45 NONAME - _ZN18TGlxCommandFactory25ThumbnailCleanupCommandLCEv @ 46 NONAME - _ZN18TGlxCommandFactory28RemoveFromContainerCommandLCE11TGlxMediaIdRK18CMPXCollectionPath @ 47 NONAME - _ZN18TGlxCommandFactory28RemoveFromContainerCommandLCERK18CMPXCollectionPath @ 48 NONAME - _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EE @ 49 NONAME - _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EER3RFs @ 50 NONAME - _ZTI13CGlxIadUpdate @ 51 NONAME - _ZTV13CGlxIadUpdate @ 52 NONAME - _ZN17TGlxFilterFactory22CreatePreviewTNFilterLEv @ 53 NONAME + _ZN17TGlxFilterFactory22CreatePreviewTNFilterLEv @ 17 NONAME + _ZN17TGlxFilterFactory22CreateSlideShowFilterLEP18CMPXCollectionPath23TGlxFilterSortDirection19TGlxFilterSortOrder @ 18 NONAME + _ZN17TGlxFilterFactory25CreateModifiedDateFilterLE23TGlxFilterSortDirection @ 19 NONAME + _ZN17TGlxFilterFactory26CreateItemCountSortFilterLE23TGlxFilterSortDirection @ 20 NONAME + _ZN17TGlxFilterFactory27CreateAlphabeticSortFilterLE23TGlxFilterSortDirection @ 21 NONAME + _ZN17TGlxFilterFactory28CreateCaptureDateSortFilterLE23TGlxFilterSortDirection @ 22 NONAME + _ZN17TGlxFilterFactory28CreateLastCaptureDateFilterLEv @ 23 NONAME + _ZN17TGlxFilterFactory29CreateContainerPreviewFilterLEv @ 24 NONAME + _ZN17TGlxFilterFactory29CreateExcludeAnimationFilterLE23TGlxFilterSortDirection @ 25 NONAME + _ZN17TGlxFilterFactory33CreateCameraAlbumExclusionFilterLEv @ 26 NONAME + _ZN17TGlxFilterFactory33CreateThumbnailLoadabilityFilterLE5TSize @ 27 NONAME + _ZN17TGlxFilterFactory35CreateExcludeEmptyContainersFilterLEP9CMPXMedia @ 28 NONAME + _ZN17TGlxFilterFactory35CreateIncludeEmptyContainersFilterLEP9CMPXMedia @ 29 NONAME + _ZN17TGlxFilterFactory40CreateSlideShowFilterFromExistingFilterLEP9CMPXMediaP18CMPXCollectionPathi @ 30 NONAME + _ZN17TGlxFilterFactory41CreateExcludeContainersWithoutItemFilterLE11TGlxMediaId @ 31 NONAME + _ZN18CGlxSingletonStore10InstanceLCEv @ 32 NONAME + _ZN18CGlxSingletonStore5CloseEP5CBase @ 33 NONAME + _ZN18CGlxSingletonStoreD0Ev @ 34 NONAME + _ZN18CGlxSingletonStoreD1Ev @ 35 NONAME + _ZN18CGlxSingletonStoreD2Ev @ 36 NONAME + _ZN18TGlxCommandFactory13CopyCommandLCERK7TDesC16RK18CMPXCollectionPath @ 37 NONAME + _ZN18TGlxCommandFactory13MoveCommandLCERK7TDesC16RK18CMPXCollectionPath @ 38 NONAME + _ZN18TGlxCommandFactory14BasicCommandLCEiRK18CMPXCollectionPath @ 39 NONAME + _ZN18TGlxCommandFactory15DeleteCommandLCERK18CMPXCollectionPath @ 40 NONAME + _ZN18TGlxCommandFactory15RenameCommandLCERK7TDesC16RK18CMPXCollectionPath @ 41 NONAME + _ZN18TGlxCommandFactory21AddContainerCommandLCERK7TDesC16i @ 42 NONAME + _ZN18TGlxCommandFactory23AddToContainerCommandLCERK18CMPXCollectionPathS2_ @ 43 NONAME + _ZN18TGlxCommandFactory23AddToContainerCommandLCERK7TDesC16RK18CMPXCollectionPath @ 44 NONAME + _ZN18TGlxCommandFactory23DeleteLocationCommandLCERK18CMPXCollectionPath @ 45 NONAME + _ZN18TGlxCommandFactory23SetDescriptionCommandLCERK7TDesC16RK18CMPXCollectionPath @ 46 NONAME + _ZN18TGlxCommandFactory25ThumbnailCleanupCommandLCEv @ 47 NONAME + _ZN18TGlxCommandFactory28RemoveFromContainerCommandLCE11TGlxMediaIdRK18CMPXCollectionPath @ 48 NONAME + _ZN18TGlxCommandFactory28RemoveFromContainerCommandLCERK18CMPXCollectionPath @ 49 NONAME + _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EE @ 50 NONAME + _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EER3RFs @ 51 NONAME + _ZN21CGlxResourceUtilities31GetUiUtilitiesResourceFilenameLEv @ 52 NONAME + _ZTI13CGlxIadUpdate @ 53 NONAME + _ZTV13CGlxIadUpdate @ 54 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/common/inc/glxresourceutilities.h --- a/photosgallery/common/inc/glxresourceutilities.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/common/inc/glxresourceutilities.h Tue Apr 27 16:37:53 2010 +0300 @@ -51,6 +51,12 @@ * @param The file server session, must be connected before the call */ IMPORT_C static void GetResourceFilenameL( TFileName& aResFile, RFs& aFs ); + + /** + * Gets the full name of the UiUtilities resource file. + * @return TFileName - The resource filename for UiUtilities + */ + IMPORT_C static TFileName GetUiUtilitiesResourceFilenameL(); }; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/common/src/glxcommandparser.cpp --- a/photosgallery/common/src/glxcommandparser.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/common/src/glxcommandparser.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -206,8 +206,10 @@ // TTGlxCommandParser::ArrayValueL // ----------------------------------------------------------------------------- // -void TGlxCommandParser::ArrayValueL(const TMPXAttribute & aAttribute, RArray& aArray, const CMPXCommand& aCommand) +void TGlxCommandParser::ArrayValueL(const TMPXAttribute & aAttribute, + RArray& aArray, const CMPXCommand& aCommand) { + CleanupClosePushL(aArray); if (!aCommand.IsSupported(aAttribute) || aCommand.Type(aAttribute) != EMPXTypeCObject) { User::Leave(KErrArgument); @@ -228,6 +230,7 @@ aArray.AppendL(TGlxMediaId(list[i])); } } + CleanupStack::Pop(&aArray); } /// @todo minor: Rowland Cook 12/06/2007 Add method decription. diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/common/src/glxresourceutilities.cpp --- a/photosgallery/common/src/glxresourceutilities.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/common/src/glxresourceutilities.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -17,7 +17,6 @@ - // CLASS HEADER #include "glxresourceutilities.h" @@ -25,7 +24,9 @@ #include #include #include +#include +_LIT(KGlxUiUtilitiesResource, "glxuiutilities.rsc"); // INTERNAL INCLUDES // --------------------------------------------------------------------------- @@ -67,5 +68,16 @@ } } } +// --------------------------------------------------------------------------- +// GetUiUtilitiesResourceFilenameL +// --------------------------------------------------------------------------- +// +EXPORT_C TFileName CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL() - + { + TParse parse; + parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); + TFileName resourceFile(parse.FullName()); + GetResourceFilenameL(resourceFile); + return resourceFile; + } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/controllers/collectionmanager/src/glxcollectionselectionpopup.cpp --- a/photosgallery/controllers/collectionmanager/src/glxcollectionselectionpopup.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/controllers/collectionmanager/src/glxcollectionselectionpopup.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -35,6 +35,7 @@ RArray& aSelectedIds, TUint32 aCollectionType, TBool aAllowMultipleSelection, TBool aEnableContainerCreation) { + CleanupClosePushL(aSelectedIds); TUint32 collectionId = 0; CMPXFilter* filter = NULL; @@ -95,6 +96,7 @@ CleanupStack::PopAndDestroy(filter); } + CleanupStack::Pop(&aSelectedIds); if (accepted) { diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/controllers/fetcher/data/glxfetcherdialog.rss --- a/photosgallery/controllers/fetcher/data/glxfetcherdialog.rss Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/controllers/fetcher/data/glxfetcherdialog.rss Tue Apr 27 16:37:53 2010 +0300 @@ -213,21 +213,6 @@ // Do not add any items } -RESOURCE TBUF r_fetcher_empty_view_text - { - buf = qtn_lgal_empty_grid_no_items; - } - -RESOURCE TBUF r_fetcher_empty_view_text_image - { - buf = qtn_lgal_empty_grid_no_images; - } - -RESOURCE TBUF r_fetcher_empty_view_text_video - { - buf = qtn_lgal_empty_grid_no_videos; - } - RESOURCE TBUF r_glx_softkey_cancel { buf = text_softkey_cancel; } RESOURCE TBUF r_glx_marking_mark diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/controllers/fetcher/inc/glxfetchercontainer.h --- a/photosgallery/controllers/fetcher/inc/glxfetchercontainer.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/controllers/fetcher/inc/glxfetchercontainer.h Tue Apr 27 16:37:53 2010 +0300 @@ -92,12 +92,6 @@ * CreateAndDisplayGridL */ void CreateAndDisplayGridL( ); - - /** - * Creates and Displays appropriate empty Strings when no - * items selected - */ - void CreateEmptyDisplayL(TGlxFilterItemType aFilterType ); /** * SetPreviousTitleL diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/controllers/fetcher/inc/glxfetcherdialog.h --- a/photosgallery/controllers/fetcher/inc/glxfetcherdialog.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/controllers/fetcher/inc/glxfetcherdialog.h Tue Apr 27 16:37:53 2010 +0300 @@ -171,6 +171,9 @@ //mmc notifier CGlxMMCNotifier* iMMCNotifier; + + /// Resource file offset + TInt iResourceOffset; }; #endif /*GLXFETCHERDIALOG_H_*/ diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp --- a/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -159,8 +159,6 @@ CreateGridMediaListObserverL(); - CreateEmptyDisplayL( iFilterType ); - // If multiple image selection is allowed, then set marking flag on grid widget. if(iMultiSelectionEnabled) { @@ -172,29 +170,6 @@ } } // --------------------------------------------------------------------------- -// CreateEmptyDisplayL -// Displays the empty string if no items in grid with respect to item selected. -// --------------------------------------------------------------------------- -// -void CGlxFetcherContainer::CreateEmptyDisplayL( TGlxFilterItemType aFilterType ) - { - TRACER("CGlxFetcherContainer::CreateEmptyDisplayL"); - if (aFilterType == EGlxFilterImage) - { - HBufC* emptyText = - StringLoader::LoadLC(R_FETCHER_EMPTY_VIEW_TEXT_IMAGE); - iHgGrid->SetEmptyTextL(*emptyText); - CleanupStack::PopAndDestroy(emptyText); - } - else if (aFilterType == EGlxFilterVideo) - { - HBufC* emptyText = - StringLoader::LoadLC(R_FETCHER_EMPTY_VIEW_TEXT_VIDEO); - iHgGrid->SetEmptyTextL(*emptyText); - CleanupStack::PopAndDestroy(emptyText); - } - } -// --------------------------------------------------------------------------- // CreateMediaListL() // Creates a collection path // Create a filter as requested filtertype @@ -238,14 +213,6 @@ iThumbnailContext->SetDefaultSpec( iUiUtility->GetGridIconSize().iWidth, iUiUtility->GetGridIconSize().iHeight ); - CGlxDefaultAttributeContext* attrContext = CGlxDefaultAttributeContext::NewL(); - CleanupStack::PushL(attrContext); - attrContext->AddAttributeL(KMPXMediaGeneralCount); - attrContext->SetRangeOffsets(KItemsPerPage, KItemsPerPage); - iMediaList->AddContextL(attrContext, KGlxFetchContextPriorityGridViewVisibleThumbnail); - User::LeaveIfError(GlxAttributeRetriever::RetrieveL(*attrContext,*iMediaList,EFalse)); - iMediaList->RemoveContext(attrContext); - CleanupStack::PopAndDestroy( attrContext ); iMediaList->AddContextL(iThumbnailContext, KGlxFetchContextPriorityNormal ); if (!iHgGrid) @@ -276,6 +243,8 @@ CleanupStack::Pop(bitmap); } + // Set the grid to use different layout for landscape mode in fetcher + //iHgGrid->SetToolbarVisibility(EFalse); iHgGrid->SetSelectedIndex(iMediaList->FocusIndex()); // Setting to MopParent to update background skin iHgGrid->SetMopParent(this); @@ -297,7 +266,8 @@ // void CGlxFetcherContainer::CreateGridMediaListObserverL() { - iGlxGridMLObserver = CGlxGridViewMLObserver::NewL(*iMediaList , iHgGrid); + iGlxGridMLObserver = CGlxGridViewMLObserver::NewL(*iMediaList, iHgGrid, + iFilterType); } // --------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp --- a/photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -26,13 +26,13 @@ #include #include #include // For VerifySelectionL() - +#include // for CGlxResourceUtilities #include #include #include // Logging macros #include #include //command ids - +#include // KDC_APP_RESOURCE_DIR #include // MGlxMediaList, CMPXCollectionPath #include @@ -45,7 +45,9 @@ #include "glxfetcher.hrh" const TInt KControlId = 1; - + +_LIT(KGlxGridviewResource, "glxgridviewdata.rsc"); + //----------------------------------------------------------------------------- // C++ default constructor. //----------------------------------------------------------------------------- @@ -88,6 +90,11 @@ CGlxFetcherDialog::~CGlxFetcherDialog() { TRACER("CGlxFetcherDialog::~CGlxFetcherDialog"); + if (iResourceOffset) + { + CCoeEnv::Static()->DeleteResourceFile(iResourceOffset); + } + if(iMMCNotifier) { delete iMMCNotifier; @@ -124,6 +131,15 @@ { iAvkonAppUi->CurrentFixedToolbar()->SetToolbarVisibility(EFalse); } + + // Load resource file for grid view empty text + TParse parse; + parse.Set(KGlxGridviewResource, &KDC_APP_RESOURCE_DIR, NULL); + TFileName resourceFile; + resourceFile.Append(parse.FullName()); + CGlxResourceUtilities::GetResourceFilenameL(resourceFile); + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(resourceFile); + // Get the Hitchcock environment. iUiUtility = CGlxUiUtility::UtilityL(); iEnv = iUiUtility->Env(); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/controllers/imageviewer/src/glximageviewermanager.cpp --- a/photosgallery/controllers/imageviewer/src/glximageviewermanager.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/controllers/imageviewer/src/glximageviewermanager.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -28,7 +28,9 @@ _LIT( KPrivateFolder, "\\Private\\" ); _LIT( KGifFileExt, ".gif" ); -_LIT( KTempFilePath, "?:\\data\\images\\200104E7.gif" ); +_LIT( KMbmFileExt, ".mbm"); +_LIT( KTempGifFilePath, "?:\\data\\images\\200104E7.gif" ); +_LIT( KTempMbmFilePath, "?:\\data\\images\\200104E7.mbm" ); EXPORT_C CGlxImageViewerManager* CGlxImageViewerManager::InstanceL() { @@ -173,10 +175,19 @@ iFile = new (ELeave) RFile64; User::LeaveIfError(iFile->Duplicate(aFileHandle)); iIsPrivate = ETrue; - if (parse.Ext().Compare(KGifFileExt) == 0) + // Gif / MBM file from private path, hence make a local copy. + if (parse.Ext().Compare(KGifFileExt) == 0 || parse.Ext().Compare( + KMbmFileExt) == 0) { - // Gif file from private path, hence make a local copy. - TFileName ramFilePath(KTempFilePath); + TFileName ramFilePath; + if (parse.Ext().Compare(KGifFileExt) == 0) + { + ramFilePath.Copy(KTempGifFilePath); + } + else + { + ramFilePath.Copy(KTempMbmFilePath); + } TChar drive; User::LeaveIfError(DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRam, drive)); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/gallery/loc/photos.loc --- a/photosgallery/gallery/loc/photos.loc Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/gallery/loc/photos.loc Tue Apr 27 16:37:53 2010 +0300 @@ -65,6 +65,12 @@ // d:In English language, "home network" should be shortened to "home net." if the longer version does not fit. +//d: Title of the Photos app shown in matrix menu. +//d: This is provided as part of the app registration file. +//l: cell_app_pane_t1 +//r: 11.0 +#define qtn_lgal_photos_app_title "Photos" + // d:Delete single item confirmation note // d:%U will be replaced with name of item about to be deleted @@ -1050,6 +1056,12 @@ // #define qtn_lgal_tooltip_save "Save" +// d:Option menu item to save the image. +// l:list_single_pane_t1_cp2 +// r:11.0 +// +#define qtn_lgal_options_save "Save" + // d:Tooltip displayed when user focuses on use-image icon in the toolbar. // d:This submenu option enables the image to be set as wallpaper, as caller image, and so on // l:toolbar_text_tooltip @@ -1180,7 +1192,7 @@ //----------------------------------------------------------------------------- // // d:slideshow settings view title text -// l:title_pane_t2/opt9 +// l:title_pane_t1/opt3 // r:4.0 // #define qtn_lgal_view_slideshow_settings_title_general "Slide show settings" diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/gallery/src/glxappui.cpp --- a/photosgallery/gallery/src/glxappui.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/gallery/src/glxappui.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -318,7 +318,7 @@ void CGlxAppUi::GetViewScoringIdsL( RArray& aIds ) const { TRACER("void CGlxAppUi::GetViewScoringIdsL( RArray& aIds ) const"); - + CleanupClosePushL(aIds); aIds.Reset(); // For maintenance safety // get current navigational state @@ -349,7 +349,9 @@ } CleanupStack::PopAndDestroy(naviState); + CleanupStack::Pop(&aIds); } + // --------------------------------------------------------------------------- // Handles the foreground events // --------------------------------------------------------------------------- @@ -425,9 +427,7 @@ void CGlxAppUi::HandleActivationMessageL(const TApaCommand& /*aCommand*/, const TFileName& /*aDocumentName*/, const TDesC8& aData) { - TRACER("void CGlxAppUi::HandleActivationMessageL(" - "const TApaCommand& aCommand, const TFileName& aDocumentName, " - "const TDesC8& aData)"); + TRACER("void CGlxAppUi::HandleActivationMessageL(const TApaCommand& aCommand, const TFileName& aDocumentName,const TDesC8& aData)"); GLX_LOG_INFO1("Glx-HandleActivationMessageL() aData length=%d", aData.Length()); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/imgvwr/group/glxivwr.mmp --- a/photosgallery/imgvwr/group/glxivwr.mmp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/imgvwr/group/glxivwr.mmp Tue Apr 27 16:37:53 2010 +0300 @@ -30,7 +30,7 @@ TARGETTYPE exe UID 0x100039CE 0x200104E7 -CAPABILITY GLX_CAPABILITIES +CAPABILITY CAP_APPLICATION SOURCEPATH ../src SOURCE glxivwrapplication.cpp diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/imgvwr/src/glxivwrappui.cpp --- a/photosgallery/imgvwr/src/glxivwrappui.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/imgvwr/src/glxivwrappui.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -239,7 +239,7 @@ void CGlxIVwrAppUi::GetViewScoringIdsL( RArray& aIds ) const { TRACER("void CGlxIVwrAppUi::GetViewScoringIdsL( RArray& aIds ) const"); - + CleanupClosePushL(aIds); aIds.Reset(); // For maintenance safety // get current navigational state @@ -249,10 +249,12 @@ // to be removed.added by gopa if ( naviState->Levels() >= 1) { - if (iNavigationalState->ViewingMode() == NGlxNavigationalState::EBrowse) + if (iNavigationalState->ViewingMode() + == NGlxNavigationalState::EBrowse) { // For image viewer collection, goto view mode - if (naviState->Id() == TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid)) + if (naviState->Id() == TMPXItemId( + KGlxCollectionPluginImageViewerImplementationUid)) { aIds.AppendL( TUid::Uid( KGlxViewingModeView ) ); } @@ -280,6 +282,7 @@ } CleanupStack::PopAndDestroy( naviState ); + CleanupStack::Pop(&aIds); } // --------------------------------------------------------------------------- // Handles the foreground events diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/engine/controlsrc/shweffectcontrol.cpp --- a/photosgallery/slideshow/engine/controlsrc/shweffectcontrol.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/engine/controlsrc/shweffectcontrol.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -585,9 +585,9 @@ SendEventL( &readyToView ); // need to start timer to send the transition ready - iTransitionTimer->Start( - duration, duration, - TShwCallBack< CShwEffectControl, SendTransitionReadyL >( this ) ); + iTransitionTimer->Start(duration, duration, TShwCallBack< + CShwEffectControl, &CShwEffectControl::SendTransitionReadyL> ( + this)); } // ----------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/engine/controlsrc/shwtimercontrol.cpp --- a/photosgallery/slideshow/engine/controlsrc/shwtimercontrol.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/engine/controlsrc/shwtimercontrol.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -104,8 +104,8 @@ "CShwTimerControl::NotifyL - TShwEventStartView %d", interval ); // Start the timer with the appropriate values for the event - iTimer->Start( interval, interval, - TShwCallBack< CShwTimerControl, SendTimerBeatL >( this ) ); + iTimer->Start(interval, interval, TShwCallBack (this)); } // was it start pause else if ( dynamic_cast( aEvent ) ) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/engine/coresrc/shwplaybackfactory.cpp --- a/photosgallery/slideshow/engine/coresrc/shwplaybackfactory.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/engine/coresrc/shwplaybackfactory.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -357,8 +357,10 @@ { TRACER("CShwPlaybackFactory::CShwPlaybackFactoryImpl::CreateEffectsL"); GLX_LOG_INFO( "CShwPlaybackFactoryImpl::CreateEffectsL" ); + ShwCleanupResetAndDestroyPushL(aEffects); aEffects.AppendL( CShwZoomAndPanEffect::NewLC() ); CleanupStack::Pop(); // CShwZoomAndPanEffect::NewLC() aEffects.AppendL( CShwCrossFadeEffect::NewLC() ); CleanupStack::Pop(); // CShwCrossFadeEffect::NewLC() + CleanupStack::Pop(&aEffects); } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/engine/coresrc/shwthumbnailloader.cpp --- a/photosgallery/slideshow/engine/coresrc/shwthumbnailloader.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/engine/coresrc/shwthumbnailloader.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -322,20 +322,20 @@ // is faster than the timers we have iCompletedCallBack = new( ELeave ) CAsyncCallBack( CActive::EPriorityHigh ); // set the callback - iCompletedCallBack->Set( - TShwCallBack< CShwThumbnailLoaderImpl, CompletedNotifyL >( this ) ); + iCompletedCallBack->Set(TShwCallBack (this)); // create async callback to give error callbacks once scheduler runs iErrorCallBack = new( ELeave ) CAsyncCallBack( CActive::EPriorityHigh ); // set the callback - iErrorCallBack->Set( - TShwCallBack< CShwThumbnailLoaderImpl, ErrorNotifyL >( this ) ); + iErrorCallBack->Set(TShwCallBack (this)); // create async callback to give callback once we run onto errors iErrorHandlerCallBack = new( ELeave ) CAsyncCallBack( CActive::EPriorityHigh ); // set the callback - iErrorHandlerCallBack->Set( - TShwCallBack< CShwThumbnailLoaderImpl, AsyncErrorHandleL >( this ) ); + iErrorHandlerCallBack->Set(TShwCallBack (this)); } // ----------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/engine/effectsrc/shwdefaulteffectmanager.cpp --- a/photosgallery/slideshow/engine/effectsrc/shwdefaulteffectmanager.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/engine/effectsrc/shwdefaulteffectmanager.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -25,6 +25,7 @@ #include #include +#include #include "shweffect.h" #include "shwconstants.h" @@ -219,12 +220,14 @@ { TRACER("CShwDefaultEffectManager::GetActiveEffectsL"); GLX_LOG_INFO( "CShwDefaultEffectManager::GetActiveEffectsL" ); + ShwCleanupResetAndDestroyPushL(aEffects); // Retrieve each effect for( TInt i = 0; i < iEffects.Count(); ++i ) { // append the effect pointer to the given array aEffects.AppendL( iEffects[i] ); } + CleanupStack::Pop(&aEffects); } // ----------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/engine/effectsrc/shwzoomandpaneffect.cpp --- a/photosgallery/slideshow/engine/effectsrc/shwzoomandpaneffect.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/engine/effectsrc/shwzoomandpaneffect.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -348,7 +348,7 @@ zoom_and_pan_dur, TShwCallBack< TShwZoomAndPanLayout, - TShwZoomAndPanLayout::InvertZoom >( + &TShwZoomAndPanLayout::InvertZoom >( &iImpl->iZoomAndPanLayout ) ); } else diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/engine/tsrc/t_cshwtimercontrol/t_cshwtimercontrol.cpp --- a/photosgallery/slideshow/engine/tsrc/t_cshwtimercontrol/t_cshwtimercontrol.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/engine/tsrc/t_cshwtimercontrol/t_cshwtimercontrol.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -172,10 +172,8 @@ // iCShwTimerControl to send any event // start asynch wait for 1 second iStoppedForTimer = EFalse; - timer->Start( - 1 * 1000000, - 1 * 1000000, - TShwCallBack< T_CShwTimerControl, TimerCallBack >( this ) ); + timer->Start(1 * 1000000, 1 * 1000000, TShwCallBack (this)); // Need to let the scheduler loop iWait.Start(); @@ -191,10 +189,8 @@ // start the timer again iStoppedForTimer = EFalse; - timer->Start( - 1 * 1000000, - 1 * 1000000, - TShwCallBack< T_CShwTimerControl, TimerCallBack >( this ) ); + timer->Start(1 * 1000000, 1 * 1000000, TShwCallBack (this)); // Need to let the scheduler loop iWait.Start(); @@ -215,7 +211,8 @@ timer->Start( 1 * 1000000, 1 * 1000000, - TShwCallBack< T_CShwTimerControl, TimerCallBack >( this ) ); + TShwCallBack (this)); // Need to let the scheduler loop iWait.Start(); timer->Cancel(); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/engine/tsrc/t_cshwzoomandpaneffect/t_cshwzoomandpaneffect.cpp --- a/photosgallery/slideshow/engine/tsrc/t_cshwzoomandpaneffect/t_cshwzoomandpaneffect.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/engine/tsrc/t_cshwzoomandpaneffect/t_cshwzoomandpaneffect.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -592,10 +592,9 @@ // create timer to give us callback TShwAutoPtr< CPeriodic > timer = CPeriodic::NewL( CActive::EPriorityStandard ); // wait for 1.5 seconds (to be sure the zoom completes) - timer->Start( - 1.5 * 1000000, - 1.5 * 1000000, - TShwCallBack< T_CShwZoomAndPanEffect, CancelAsyncL >( this ) ); + timer->Start(1.5 * 1000000, 1.5 * 1000000, TShwCallBack< + T_CShwZoomAndPanEffect, &T_CShwZoomAndPanEffect::CancelAsyncL> ( + this)); // start async wait iAsyncWait.Start(); @@ -620,10 +619,9 @@ // cancel old timer timer->Cancel(); // wait for 1.5 seconds (to be sure the zoom completes) - timer->Start( - 1.5 * 1000000, - 1.5 * 1000000, - TShwCallBack< T_CShwZoomAndPanEffect, CancelAsyncL >( this ) ); + timer->Start(1.5 * 1000000, 1.5 * 1000000, TShwCallBack< + T_CShwZoomAndPanEffect, &T_CShwZoomAndPanEffect::CancelAsyncL> ( + this)); // start async wait iAsyncWait.Start(); @@ -682,10 +680,9 @@ // create timer to give us callback TShwAutoPtr< CPeriodic > timer = CPeriodic::NewL( CActive::EPriorityStandard ); // start asynch wait for 1.5 second - timer->Start( - 1.5 * 1000000, - 1.5 * 1000000, - TShwCallBack< T_CShwZoomAndPanEffect, CancelAsyncL >( this ) ); + timer->Start(1.5 * 1000000, 1.5 * 1000000, TShwCallBack< + T_CShwZoomAndPanEffect, &T_CShwZoomAndPanEffect::CancelAsyncL> ( + this)); // start async wait iAsyncWait.Start(); // cancel the timer @@ -716,10 +713,9 @@ iCShwZoomAndPanEffect->Resume(); // start timer for 1.5 seconds - timer->Start( - 1.5 * 1000000, - 1.5 * 1000000, - TShwCallBack< T_CShwZoomAndPanEffect, CancelAsyncL >( this ) ); + timer->Start(1.5 * 1000000, 1.5 * 1000000, TShwCallBack< + T_CShwZoomAndPanEffect, &T_CShwZoomAndPanEffect::CancelAsyncL> ( + this)); // start async wait iAsyncWait.Start(); // cancel the timer @@ -755,10 +751,9 @@ // run the layout to get values layout->SetLayoutValues( info ); // start timer for .1 seconds, to make sure opacity does not run too fast - timer->Start( - 0.1 * 1000000, - 0.1 * 1000000, - TShwCallBack< T_CShwZoomAndPanEffect, CancelAsyncL >( this ) ); + timer->Start(0.1 * 1000000, 0.1 * 1000000, TShwCallBack< + T_CShwZoomAndPanEffect, &T_CShwZoomAndPanEffect::CancelAsyncL> ( + this)); // start async wait iAsyncWait.Start(); // cancel the timer @@ -783,10 +778,9 @@ // run the layout to get values layout->SetLayoutValues( info2 ); // start timer for 1.0 seconds - timer->Start( - 1.0 * 1000000, - 1.0 * 1000000, - TShwCallBack< T_CShwZoomAndPanEffect, CancelAsyncL >( this ) ); + timer->Start(1.0 * 1000000, 1.0 * 1000000, TShwCallBack< + T_CShwZoomAndPanEffect, &T_CShwZoomAndPanEffect::CancelAsyncL> ( + this)); // start async wait iAsyncWait.Start(); // cancel the timer @@ -813,10 +807,9 @@ // now do the resume iCShwZoomAndPanEffect->Resume(); // start timer for 1.0 seconds - timer->Start( - 1.0 * 1000000, - 1.0 * 1000000, - TShwCallBack< T_CShwZoomAndPanEffect, CancelAsyncL >( this ) ); + timer->Start(1.0 * 1000000, 1.0 * 1000000, TShwCallBack< + T_CShwZoomAndPanEffect, &T_CShwZoomAndPanEffect::CancelAsyncL> ( + this)); // start async wait iAsyncWait.Start(); // cancel the timer diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/settingsdialog/src/shwslideshowsettingsdialog.cpp --- a/photosgallery/slideshow/settingsdialog/src/shwslideshowsettingsdialog.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/settingsdialog/src/shwslideshowsettingsdialog.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -156,7 +156,10 @@ TRACER("CShwSlideshowSettingsDialog::SetSlShwToolbarVisibility"); CAknAppUi* appUi = iAvkonAppUi; __ASSERT_DEBUG(appUi, Panic(EGlxPanicNullPointer)); - + if (!appUi) + { + return; + } CAknToolbar* popupToolbar = appUi->PopupToolbar(); if(popupToolbar) { diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/utils/shwcallback.h --- a/photosgallery/slideshow/utils/shwcallback.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/utils/shwcallback.h Tue Apr 27 16:37:53 2010 +0300 @@ -26,10 +26,10 @@ * Helper class to construct a TCallBack from any * public non static TInt (*method)() of a class * Usage: - * TShwCallBack< %ClassName%, %MethodName% >( + * TShwCallBack< %ClassName%, %&ClassName::%MethodName% >( * %ClassPointer% ) * Example: - * TShwCallBack< CShwEngineImpl, DoStartL >( + * TShwCallBack< CShwEngineImpl, &CShwEngineImpl::DoStartL >( * this ); */ template< class Object, TInt (Object::*Method)() > diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/utils/shwcleanupwrapper.h --- a/photosgallery/slideshow/utils/shwcleanupwrapper.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/utils/shwcleanupwrapper.h Tue Apr 27 16:37:53 2010 +0300 @@ -76,7 +76,7 @@ void ShwCleanupResetAndDestroyPushL( T& aObject ) { CleanupStack::PushL( - TShwCleanupWrapper< T, T::ResetAndDestroy >( aObject ) ); + TShwCleanupWrapper< T, &T::ResetAndDestroy >( aObject ) ); } #endif // __TSHWCLEANUPWRAPPER_H__ diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/view/group/shwslideshowviewplugin.mmp --- a/photosgallery/slideshow/view/group/shwslideshowviewplugin.mmp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/view/group/shwslideshowviewplugin.mmp Tue Apr 27 16:37:53 2010 +0300 @@ -130,5 +130,5 @@ LIBRARY remconinterfacebase.lib //LIBRARY hgcontextutility.lib // For Teleport LIBRARY glxtvout.lib - +LIBRARY fbscli.lib // End of File diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/view/inc/shwslideshowview.h --- a/photosgallery/slideshow/view/inc/shwslideshowview.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/view/inc/shwslideshowview.h Tue Apr 27 16:37:53 2010 +0300 @@ -32,6 +32,8 @@ #include "shwgestureobserver.h" #include "gesturecontrol.h" #include "glxmmcnotifier.h" +#include +#include // FORWARD DECLARATIONS class CAlfEnv; class CAlfDisplay; @@ -67,7 +69,8 @@ public MProgressDialogCallback, public MShwTickObserver, public MShwGestureObserver, - public MStorageNotifierObserver + public MStorageNotifierObserver, + public MGlxTvObserver { public: @@ -179,6 +182,9 @@ /// @ref MGlxMediaListObserver::HandlePopulatedL void HandlePopulatedL( MGlxMediaList* aList ); + // From MGlxTVObserver + virtual void HandleTvStatusChangedL ( TTvChangeType aChangeType ); + //form CAknView void ProcessCommandL(TInt aCommandId); private: // From MShwEngineObserver @@ -379,7 +385,10 @@ CMPXCollectionPath* iCollectionPath; // owned NShwSlideshow::TPlayDirection iPlayDirection; // owned - + + /// Own: The TV connection monitor + CGlxTv * iTvConnection; + TBool iEngineStartFailed; /// Own: asynch callback needed for media list population @@ -413,6 +422,8 @@ CGlxMMCNotifier* iMMCNotifier; TBool iMMCState; TBool iIsForegrnd; + TSize iScrnSize; + TSize iGridIconSize; //to check if slideshow is paused in BG //and after that we are bringing to foreground TBool iPrevNotInBackground; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/view/src/shwslideshowbacklighttimer.cpp --- a/photosgallery/slideshow/view/src/shwslideshowbacklighttimer.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/view/src/shwslideshowbacklighttimer.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -140,8 +140,9 @@ iStartTime.HomeTime(); User::ResetInactivityTime(); iPeriodic->Cancel(); // in case it actually was running - iPeriodic->Start( iSettingsDelay, iSettingsDelay, - TShwCallBack< CShwSlideshowBackLightTimer, Tick >( this ) ); + iPeriodic->Start(iSettingsDelay, iSettingsDelay, + TShwCallBack (this)); } // ----------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/view/src/shwslideshowpausehandler.cpp --- a/photosgallery/slideshow/view/src/shwslideshowpausehandler.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/view/src/shwslideshowpausehandler.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -185,4 +185,12 @@ iEngine.ResumeL(); } } +// ----------------------------------------------------------------------------- +// IsSlideShowEngineStatePaused +// ----------------------------------------------------------------------------- +TBool CShwSlideShowPauseHandler::IsSlideShowEngineStatePaused() + { + TRACER("CShwSlideShowPauseHandler::IsSlideShowEngineStatePaused()"); + return iUserPaused; + } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/view/src/shwslideshowpausehandler.h --- a/photosgallery/slideshow/view/src/shwslideshowpausehandler.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/view/src/shwslideshowpausehandler.h Tue Apr 27 16:37:53 2010 +0300 @@ -104,6 +104,12 @@ * Informs the pause handler that MSK Preesed when slide show is running. */ void ToggleUiControlsVisibiltyL(); + + /** + * Returns the slideshow engine paused state. + * @return ETrue, if slideshow engine is in paused state + */ + TBool IsSlideShowEngineStatePaused(); private: // Implementation diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/view/src/shwslideshowview.cpp --- a/photosgallery/slideshow/view/src/shwslideshowview.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/view/src/shwslideshowview.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -67,6 +67,10 @@ #include #include #include +#include +#include +#include + namespace { _LIT(KShwSlideshowViewResource,"shwslideshowview.rsc"); @@ -201,8 +205,8 @@ // Show the dialog, we show it non blocking so no use for the return value iWaitDialog->RunLD(); // set the callback to be engine start - iAsyncCallBack->Set( - TShwCallBack< CShwSlideshowView, StartEngineL >( this ) ); + iAsyncCallBack->Set(TShwCallBack (this)); // if both lists are ready if( iInputListReady && iPlayListReady ) { @@ -325,7 +329,9 @@ iEnv = iUiUtility->Env(); iDisplay = iUiUtility->Display(); - + iScrnSize = iUiUtility->DisplaySize(); + iGridIconSize = iUiUtility->GetGridIconSize(); + // Construct the volume control iVolumeControl = CShwSlideshowVolumeControl:: NewL( *iEnv, @@ -354,8 +360,8 @@ iPopulateListCallBack = new( ELeave ) CAsyncCallBack( CActive::EPriorityStandard ); // set the callback for the media list population - iPopulateListCallBack->Set( - TShwCallBack< CShwSlideshowView, PopulateListL >( this ) ); + iPopulateListCallBack->Set(TShwCallBack (this)); iMSKPressed = EFalse; iLSKPressed = EFalse; } @@ -434,6 +440,10 @@ { iHdmiController = CGlxHdmiController::NewL(); } + if(!iTvConnection) + { + iTvConnection = CGlxTv::NewL( *this ); + } // Engine related construction // Instantiate the slideshow engine, with this class as its observer __ASSERT_DEBUG( !iEngine, Panic( EGlxPanicAlreadyInitialised ) ); @@ -464,8 +474,8 @@ // Request asynch callback that will end up in ShowProgressDialogL // once the active scheduler runs - iAsyncCallBack->Set( - TShwCallBack< CShwSlideshowView, ShowProgressDialogL >( this ) ); + iAsyncCallBack->Set(TShwCallBack (this)); iAsyncCallBack->CallBack(); iDisplay->Roster().ShowL( *iGestureControlGroup,KAlfRosterShowAtTop ); @@ -494,6 +504,11 @@ delete iHdmiController; iHdmiController = NULL; } + if(iTvConnection) + { + delete iTvConnection; + iTvConnection = NULL; + } //check if we have engine active object starting if( iPopulateListCallBack->IsActive() ) @@ -1291,8 +1306,60 @@ if ( (item.Category() != EMPXVideo) && (error == KErrNone) ) { - GLX_LOG_INFO("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - Setting the Image"); - iHdmiController->SetImageL(item.Uri()); + GLX_LOG_INFO("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - Fetch FS thumbnail"); + TMPXAttribute fsTnAttrib = TMPXAttribute(KGlxMediaIdThumbnail, + GlxFullThumbnailAttributeId(ETrue, iScrnSize.iWidth, + iScrnSize.iHeight)); + const CGlxThumbnailAttribute* fsValue = item.ThumbnailAttribute( + fsTnAttrib); + if (fsValue) + { + GLX_LOG_INFO("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - Setting FS Bitmap"); + CFbsBitmap* fsBitmap = new (ELeave) CFbsBitmap; + CleanupStack::PushL(fsBitmap); + fsBitmap->Duplicate( fsValue->iBitmap->Handle()); + + GLX_LOG_INFO2("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - FS Bitmap Size width=%d, height=%d", + fsBitmap->SizeInPixels().iWidth, fsBitmap->SizeInPixels().iHeight); + iHdmiController->SetImageL(item.Uri(),fsBitmap); + CleanupStack::PopAndDestroy(fsBitmap); + } + else + { + GLX_LOG_INFO("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - Fetch Grid thumbnail"); + TMPXAttribute gridTnAttrib = TMPXAttribute(KGlxMediaIdThumbnail, + GlxFullThumbnailAttributeId(ETrue, iGridIconSize.iWidth, + iGridIconSize.iHeight)); + const CGlxThumbnailAttribute* gridvalue = item.ThumbnailAttribute( + gridTnAttrib); + + if (gridvalue) + { + GLX_LOG_INFO("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - Setting Grid Bitmap"); + CFbsBitmap* gridBitmap = new (ELeave) CFbsBitmap; + CleanupStack::PushL(gridBitmap); + gridBitmap->Duplicate( gridvalue->iBitmap->Handle()); + + GLX_LOG_INFO2("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - gridBitmap Size width=%d, height=%d", + gridBitmap->SizeInPixels().iWidth, gridBitmap->SizeInPixels().iHeight); + iHdmiController->SetImageL(item.Uri(),gridBitmap); + CleanupStack::PopAndDestroy(gridBitmap); + } + else + { + GLX_LOG_INFO("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - Setting Null Bitmap"); + TFileName resFile(KDC_APP_BITMAP_DIR); + resFile.Append(KGlxIconsFilename); + CFbsBitmap* defaultBitmap = new (ELeave) CFbsBitmap; + CleanupStack::PushL(defaultBitmap); + defaultBitmap = AknIconUtils::CreateIconL(resFile, + EMbmGlxiconsQgn_prop_image_notcreated); + GLX_LOG_INFO2("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - Default Size width=%d, height=%d", + defaultBitmap->SizeInPixels().iWidth, defaultBitmap->SizeInPixels().iHeight); + iHdmiController->SetImageL(item.Uri(),defaultBitmap); + CleanupStack::PopAndDestroy(defaultBitmap); + } + } } else { @@ -1371,4 +1438,26 @@ ProcessCommandL(EAknSoftkeyExit); } +// --------------------------------------------------------------------------- +// +// HandleTvStatusChangedL +// --------------------------------------------------------------------------- +// +void CShwSlideshowView::HandleTvStatusChangedL(TTvChangeType aChangeType ) + { + TRACER("CShwSlideshowView::HandleTvConnectionStatusChangedL"); + // This is a common function for both HDMI and TV-out status changes + // (see CGlxTv::HandleTvConnectionStatusChangedL) + if ((aChangeType == ETvConnectionChanged) + && (!iTvConnection->IsHDMIConnected() + && !iTvConnection->IsConnected())) + { + GLX_LOG_INFO("CShwSlideshowView::HandleTvConnectionStatusChangedL- Acessory Not Connected"); + //Issue pause command if not already paused + if (!iPauseHandler->IsSlideShowEngineStatePaused()) + { + ProcessCommandL(EShwSlideshowCmdPause); + } + } + } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/slideshow/view/src/shwslideshowvolumecontrol.cpp --- a/photosgallery/slideshow/view/src/shwslideshowvolumecontrol.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/slideshow/view/src/shwslideshowvolumecontrol.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -231,9 +231,9 @@ { // Restart the timer iTimer->Cancel(); - iTimer->Start( iInterval, iInterval, - TShwCallBack< CShwSlideshowVolumeControl, TimerCallback> - ( this ) ); + iTimer->Start(iInterval, iInterval, TShwCallBack< + CShwSlideshowVolumeControl, + &CShwSlideshowVolumeControl::TimerCallback> (this)); } } } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commandhandlerbase/bwins/glxcommandhandlerbaseu.def --- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/bwins/glxcommandhandlerbaseu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/bwins/glxcommandhandlerbaseu.def Tue Apr 27 16:37:53 2010 +0300 @@ -1,58 +1,58 @@ EXPORTS - ??0CGlxCommandHandler@@QAE@H@Z @ 1 NONAME ; CGlxCommandHandler::CGlxCommandHandler(int) - ??0CGlxMediaListCommandHandler@@QAE@PAVMGlxMediaListProvider@@H@Z @ 2 NONAME ; CGlxMediaListCommandHandler::CGlxMediaListCommandHandler(class MGlxMediaListProvider *, int) - ??0CGlxMpxCommandCommandHandler@@QAE@PAVMGlxMediaListProvider@@H@Z @ 3 NONAME ; CGlxMpxCommandCommandHandler::CGlxMpxCommandCommandHandler(class MGlxMediaListProvider *, int) - ??0TCommandInfo@CGlxMediaListCommandHandler@@QAE@H@Z @ 4 NONAME ; CGlxMediaListCommandHandler::TCommandInfo::TCommandInfo(int) - ??1CGlxCommandHandler@@UAE@XZ @ 5 NONAME ; CGlxCommandHandler::~CGlxCommandHandler(void) + ?MediaList@CGlxMediaListCommandHandler@@IBEABVMGlxMediaList@@XZ @ 1 NONAME ; class MGlxMediaList const & CGlxMediaListCommandHandler::MediaList(void) const + ?OkToExit@CGlxMpxCommandCommandHandler@@MBEHXZ @ 2 NONAME ; int CGlxMpxCommandCommandHandler::OkToExit(void) const + ??1CGlxCommandHandler@@UAE@XZ @ 3 NONAME ; CGlxCommandHandler::~CGlxCommandHandler(void) + ?HandleFocusChangedL@CGlxMpxCommandCommandHandler@@MAEXW4TFocusChangeType@NGlxListDefs@@HHPAVMGlxMediaList@@@Z @ 4 NONAME ; void CGlxMpxCommandCommandHandler::HandleFocusChangedL(enum NGlxListDefs::TFocusChangeType, int, int, class MGlxMediaList *) + ?ConfirmationNoteMultipleL@CGlxMpxCommandCommandHandler@@ABEHHAAVMGlxMediaList@@@Z @ 5 NONAME ; int CGlxMpxCommandCommandHandler::ConfirmationNoteMultipleL(int, class MGlxMediaList &) const ??1CGlxMediaListCommandHandler@@UAE@XZ @ 6 NONAME ; CGlxMediaListCommandHandler::~CGlxMediaListCommandHandler(void) - ??1CGlxMpxCommandCommandHandler@@UAE@XZ @ 7 NONAME ; CGlxMpxCommandCommandHandler::~CGlxMpxCommandCommandHandler(void) - ?ActivateL@CGlxCommandHandler@@QAEXH@Z @ 8 NONAME ; void CGlxCommandHandler::ActivateL(int) - ?AddCommandL@CGlxMediaListCommandHandler@@IAEXABUTCommandInfo@1@@Z @ 9 NONAME ; void CGlxMediaListCommandHandler::AddCommandL(struct CGlxMediaListCommandHandler::TCommandInfo const &) - ?BypassFiltersForExecute@CGlxMediaListCommandHandler@@MBEHXZ @ 10 NONAME ; int CGlxMediaListCommandHandler::BypassFiltersForExecute(void) const - ?BypassFiltersForMenu@CGlxMediaListCommandHandler@@MBEHXZ @ 11 NONAME ; int CGlxMediaListCommandHandler::BypassFiltersForMenu(void) const - ?CommandInfo@CGlxMediaListCommandHandler@@IAEAAUTCommandInfo@1@H@Z @ 12 NONAME ; struct CGlxMediaListCommandHandler::TCommandInfo & CGlxMediaListCommandHandler::CommandInfo(int) - ?CommandInfoIndex@CGlxMediaListCommandHandler@@ABEHH@Z @ 13 NONAME ; int CGlxMediaListCommandHandler::CommandInfoIndex(int) const - ?CompletionTextL@CGlxMpxCommandCommandHandler@@MBEPAVHBufC16@@XZ @ 14 NONAME ; class HBufC16 * CGlxMpxCommandCommandHandler::CompletionTextL(void) const - ?ConfirmationNoteL@CGlxMpxCommandCommandHandler@@EBEHHAAVMGlxMediaList@@@Z @ 15 NONAME ; int CGlxMpxCommandCommandHandler::ConfirmationNoteL(int, class MGlxMediaList &) const - ?ConfirmationNoteMultipleL@CGlxMpxCommandCommandHandler@@ABEHHAAVMGlxMediaList@@@Z @ 16 NONAME ; int CGlxMpxCommandCommandHandler::ConfirmationNoteMultipleL(int, class MGlxMediaList &) const - ?ConfirmationNoteSingleL@CGlxMpxCommandCommandHandler@@ABEHHAAVMGlxMediaList@@@Z @ 17 NONAME ; int CGlxMpxCommandCommandHandler::ConfirmationNoteSingleL(int, class MGlxMediaList &) const - ?ConfirmationTextL@CGlxMpxCommandCommandHandler@@MBEPAVHBufC16@@HH@Z @ 18 NONAME ; class HBufC16 * CGlxMpxCommandCommandHandler::ConfirmationTextL(int, int) const - ?Deactivate@CGlxMediaListCommandHandler@@UAEXXZ @ 19 NONAME ; void CGlxMediaListCommandHandler::Deactivate(void) - ?Deactivate@CGlxMpxCommandCommandHandler@@MAEXXZ @ 20 NONAME ; void CGlxMpxCommandCommandHandler::Deactivate(void) - ?DialogDismissedL@CGlxMpxCommandCommandHandler@@UAEXH@Z @ 21 NONAME ; void CGlxMpxCommandCommandHandler::DialogDismissedL(int) - ?DoActivateL@CGlxCommandHandler@@MAEXH@Z @ 22 NONAME ; void CGlxCommandHandler::DoActivateL(int) - ?DoActivateL@CGlxMediaListCommandHandler@@MAEXH@Z @ 23 NONAME ; void CGlxMediaListCommandHandler::DoActivateL(int) - ?DoActivateL@CGlxMpxCommandCommandHandler@@MAEXH@Z @ 24 NONAME ; void CGlxMpxCommandCommandHandler::DoActivateL(int) - ?DoDynInitMenuPaneL@CGlxMediaListCommandHandler@@MAEXHPAVCEikMenuPane@@@Z @ 25 NONAME ; void CGlxMediaListCommandHandler::DoDynInitMenuPaneL(int, class CEikMenuPane *) - ?DoExecuteL@CGlxMpxCommandCommandHandler@@EAEHHAAVMGlxMediaList@@@Z @ 26 NONAME ; int CGlxMpxCommandCommandHandler::DoExecuteL(int, class MGlxMediaList &) - ?DoGetRequiredAttributesL@CGlxMediaListCommandHandler@@MBEXAAV?$RArray@VTMPXAttribute@@@@H@Z @ 27 NONAME ; void CGlxMediaListCommandHandler::DoGetRequiredAttributesL(class RArray &, int) const - ?DoHandleCommandCompleteL@CGlxMpxCommandCommandHandler@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 28 NONAME ; void CGlxMpxCommandCommandHandler::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) - ?DoHandleItemAddedL@CGlxMpxCommandCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 29 NONAME ; void CGlxMpxCommandCommandHandler::DoHandleItemAddedL(int, int, class MGlxMediaList *) - ?DoHandleMessageL@CGlxMpxCommandCommandHandler@@MAEHABVCMPXMedia@@AAVMGlxMediaList@@@Z @ 30 NONAME ; int CGlxMpxCommandCommandHandler::DoHandleMessageL(class CMPXMedia const &, class MGlxMediaList &) - ?DoIsDisabled@CGlxMediaListCommandHandler@@MBEHHAAVMGlxMediaList@@@Z @ 31 NONAME ; int CGlxMediaListCommandHandler::DoIsDisabled(int, class MGlxMediaList &) const - ?DynInitMenuPaneL@CGlxMediaListCommandHandler@@UAEXHPAVCEikMenuPane@@@Z @ 32 NONAME ; void CGlxMediaListCommandHandler::DynInitMenuPaneL(int, class CEikMenuPane *) - ?ExecuteL@CGlxMediaListCommandHandler@@UAEHH@Z @ 33 NONAME ; int CGlxMediaListCommandHandler::ExecuteL(int) - ?GetRequiredAttributesL@CGlxMediaListCommandHandler@@UBEXAAV?$RArray@VTMPXAttribute@@@@HHH@Z @ 34 NONAME ; void CGlxMediaListCommandHandler::GetRequiredAttributesL(class RArray &, int, int, int) const - ?HandleAttributesAvailableL@CGlxMpxCommandCommandHandler@@MAEXHABV?$RArray@VTMPXAttribute@@@@PAVMGlxMediaList@@@Z @ 35 NONAME ; void CGlxMpxCommandCommandHandler::HandleAttributesAvailableL(int, class RArray const &, class MGlxMediaList *) - ?HandleCommandCompleteL@CGlxMpxCommandCommandHandler@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 36 NONAME ; void CGlxMpxCommandCommandHandler::HandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) - ?HandleErrorL@CGlxMpxCommandCommandHandler@@MAEXH@Z @ 37 NONAME ; void CGlxMpxCommandCommandHandler::HandleErrorL(int) - ?HandleFocusChangedL@CGlxMpxCommandCommandHandler@@MAEXW4TFocusChangeType@NGlxListDefs@@HHPAVMGlxMediaList@@@Z @ 38 NONAME ; void CGlxMpxCommandCommandHandler::HandleFocusChangedL(enum NGlxListDefs::TFocusChangeType, int, int, class MGlxMediaList *) - ?HandleItemAddedL@CGlxMpxCommandCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 39 NONAME ; void CGlxMpxCommandCommandHandler::HandleItemAddedL(int, int, class MGlxMediaList *) - ?HandleItemModifiedL@CGlxMpxCommandCommandHandler@@MAEXABV?$RArray@H@@PAVMGlxMediaList@@@Z @ 40 NONAME ; void CGlxMpxCommandCommandHandler::HandleItemModifiedL(class RArray const &, class MGlxMediaList *) - ?HandleItemRemovedL@CGlxMpxCommandCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 41 NONAME ; void CGlxMpxCommandCommandHandler::HandleItemRemovedL(int, int, class MGlxMediaList *) - ?HandleItemSelectedL@CGlxMpxCommandCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 42 NONAME ; void CGlxMpxCommandCommandHandler::HandleItemSelectedL(int, int, class MGlxMediaList *) - ?HandleMediaL@CGlxMpxCommandCommandHandler@@MAEXHPAVMGlxMediaList@@@Z @ 43 NONAME ; void CGlxMpxCommandCommandHandler::HandleMediaL(int, class MGlxMediaList *) - ?HandleMessageL@CGlxMpxCommandCommandHandler@@MAEXABVCMPXMedia@@PAVMGlxMediaList@@@Z @ 44 NONAME ; void CGlxMpxCommandCommandHandler::HandleMessageL(class CMPXMedia const &, class MGlxMediaList *) - ?IsDisabledL@CGlxMediaListCommandHandler@@IBEHHAAVMGlxMediaList@@@Z @ 45 NONAME ; int CGlxMediaListCommandHandler::IsDisabledL(int, class MGlxMediaList &) const - ?IsSupported@CGlxMediaListCommandHandler@@IBEHH@Z @ 46 NONAME ; int CGlxMediaListCommandHandler::IsSupported(int) const - ?MediaList@CGlxMediaListCommandHandler@@IAEAAVMGlxMediaList@@XZ @ 47 NONAME ; class MGlxMediaList & CGlxMediaListCommandHandler::MediaList(void) - ?MediaList@CGlxMediaListCommandHandler@@IBEABVMGlxMediaList@@XZ @ 48 NONAME ; class MGlxMediaList const & CGlxMediaListCommandHandler::MediaList(void) const - ?OfferKeyEventL@CGlxMediaListCommandHandler@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 49 NONAME ; enum TKeyResponse CGlxMediaListCommandHandler::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?OkToExit@CGlxMpxCommandCommandHandler@@MBEHXZ @ 50 NONAME ; int CGlxMpxCommandCommandHandler::OkToExit(void) const - ?PopulateToolbarL@CGlxCommandHandler@@MAEXXZ @ 51 NONAME ; void CGlxCommandHandler::PopulateToolbarL(void) - ?PreDynInitMenuPaneL@CGlxMediaListCommandHandler@@UAEXH@Z @ 52 NONAME ; void CGlxMediaListCommandHandler::PreDynInitMenuPaneL(int) - ?ProgressTextL@CGlxMpxCommandCommandHandler@@MBEPAVHBufC16@@H@Z @ 53 NONAME ; class HBufC16 * CGlxMpxCommandCommandHandler::ProgressTextL(int) const - ?SelectionLength@CGlxMediaListCommandHandler@@IBEHXZ @ 54 NONAME ; int CGlxMediaListCommandHandler::SelectionLength(void) const - ?TryExitL@CGlxMpxCommandCommandHandler@@IAEXH@Z @ 55 NONAME ; void CGlxMpxCommandCommandHandler::TryExitL(int) - ?ViewingState@CGlxMediaListCommandHandler@@IBE?AW4TViewingState@TCommandInfo@1@XZ @ 56 NONAME ; enum CGlxMediaListCommandHandler::TCommandInfo::TViewingState CGlxMediaListCommandHandler::ViewingState(void) const + ?SelectionLength@CGlxMediaListCommandHandler@@IBEHXZ @ 7 NONAME ; int CGlxMediaListCommandHandler::SelectionLength(void) const + ?CommandInfo@CGlxMediaListCommandHandler@@IAEAAUTCommandInfo@1@H@Z @ 8 NONAME ; struct CGlxMediaListCommandHandler::TCommandInfo & CGlxMediaListCommandHandler::CommandInfo(int) + ?DynInitMenuPaneL@CGlxMediaListCommandHandler@@UAEXHPAVCEikMenuPane@@H@Z @ 9 NONAME ; void CGlxMediaListCommandHandler::DynInitMenuPaneL(int, class CEikMenuPane *, int) + ?Deactivate@CGlxMediaListCommandHandler@@UAEXXZ @ 10 NONAME ; void CGlxMediaListCommandHandler::Deactivate(void) + ?CompletionTextL@CGlxMpxCommandCommandHandler@@MBEPAVHBufC16@@XZ @ 11 NONAME ; class HBufC16 * CGlxMpxCommandCommandHandler::CompletionTextL(void) const + ??0CGlxMpxCommandCommandHandler@@QAE@PAVMGlxMediaListProvider@@H@Z @ 12 NONAME ; CGlxMpxCommandCommandHandler::CGlxMpxCommandCommandHandler(class MGlxMediaListProvider *, int) + ?HandleErrorL@CGlxMpxCommandCommandHandler@@MAEXH@Z @ 13 NONAME ; void CGlxMpxCommandCommandHandler::HandleErrorL(int) + ??0TCommandInfo@CGlxMediaListCommandHandler@@QAE@H@Z @ 14 NONAME ; CGlxMediaListCommandHandler::TCommandInfo::TCommandInfo(int) + ?BypassFiltersForExecute@CGlxMediaListCommandHandler@@MBEHXZ @ 15 NONAME ; int CGlxMediaListCommandHandler::BypassFiltersForExecute(void) const + ?DoIsDisabled@CGlxMediaListCommandHandler@@MBEHHAAVMGlxMediaList@@@Z @ 16 NONAME ; int CGlxMediaListCommandHandler::DoIsDisabled(int, class MGlxMediaList &) const + ?AddCommandL@CGlxMediaListCommandHandler@@IAEXABUTCommandInfo@1@@Z @ 17 NONAME ; void CGlxMediaListCommandHandler::AddCommandL(struct CGlxMediaListCommandHandler::TCommandInfo const &) + ?MediaList@CGlxMediaListCommandHandler@@IAEAAVMGlxMediaList@@XZ @ 18 NONAME ; class MGlxMediaList & CGlxMediaListCommandHandler::MediaList(void) + ?HandleMessageL@CGlxMpxCommandCommandHandler@@MAEXABVCMPXMedia@@PAVMGlxMediaList@@@Z @ 19 NONAME ; void CGlxMpxCommandCommandHandler::HandleMessageL(class CMPXMedia const &, class MGlxMediaList *) + ?IsDisabledL@CGlxMediaListCommandHandler@@IBEHHAAVMGlxMediaList@@@Z @ 20 NONAME ; int CGlxMediaListCommandHandler::IsDisabledL(int, class MGlxMediaList &) const + ?HandleItemRemovedL@CGlxMpxCommandCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 21 NONAME ; void CGlxMpxCommandCommandHandler::HandleItemRemovedL(int, int, class MGlxMediaList *) + ?DoHandleMessageL@CGlxMpxCommandCommandHandler@@MAEHABVCMPXMedia@@AAVMGlxMediaList@@@Z @ 22 NONAME ; int CGlxMpxCommandCommandHandler::DoHandleMessageL(class CMPXMedia const &, class MGlxMediaList &) + ?ExecuteL@CGlxMediaListCommandHandler@@UAEHH@Z @ 23 NONAME ; int CGlxMediaListCommandHandler::ExecuteL(int) + ?TryExitL@CGlxMpxCommandCommandHandler@@IAEXH@Z @ 24 NONAME ; void CGlxMpxCommandCommandHandler::TryExitL(int) + ?HandleCommandCompleteL@CGlxMpxCommandCommandHandler@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 25 NONAME ; void CGlxMpxCommandCommandHandler::HandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) + ?ConfirmationTextL@CGlxMpxCommandCommandHandler@@MBEPAVHBufC16@@HH@Z @ 26 NONAME ; class HBufC16 * CGlxMpxCommandCommandHandler::ConfirmationTextL(int, int) const + ?HandleMediaL@CGlxMpxCommandCommandHandler@@MAEXHPAVMGlxMediaList@@@Z @ 27 NONAME ; void CGlxMpxCommandCommandHandler::HandleMediaL(int, class MGlxMediaList *) + ?HandleItemModifiedL@CGlxMpxCommandCommandHandler@@MAEXABV?$RArray@H@@PAVMGlxMediaList@@@Z @ 28 NONAME ; void CGlxMpxCommandCommandHandler::HandleItemModifiedL(class RArray const &, class MGlxMediaList *) + ?IsSupported@CGlxMediaListCommandHandler@@IBEHH@Z @ 29 NONAME ; int CGlxMediaListCommandHandler::IsSupported(int) const + ?GetRequiredAttributesL@CGlxMediaListCommandHandler@@UBEXAAV?$RArray@VTMPXAttribute@@@@HHH@Z @ 30 NONAME ; void CGlxMediaListCommandHandler::GetRequiredAttributesL(class RArray &, int, int, int) const + ?HandleItemAddedL@CGlxMpxCommandCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 31 NONAME ; void CGlxMpxCommandCommandHandler::HandleItemAddedL(int, int, class MGlxMediaList *) + ?DoActivateL@CGlxMediaListCommandHandler@@MAEXH@Z @ 32 NONAME ; void CGlxMediaListCommandHandler::DoActivateL(int) + ??0CGlxCommandHandler@@QAE@H@Z @ 33 NONAME ; CGlxCommandHandler::CGlxCommandHandler(int) + ?DoHandleCommandCompleteL@CGlxMpxCommandCommandHandler@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 34 NONAME ; void CGlxMpxCommandCommandHandler::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) + ?DoActivateL@CGlxCommandHandler@@MAEXH@Z @ 35 NONAME ; void CGlxCommandHandler::DoActivateL(int) + ?PreDynInitMenuPaneL@CGlxMediaListCommandHandler@@UAEXH@Z @ 36 NONAME ; void CGlxMediaListCommandHandler::PreDynInitMenuPaneL(int) + ?ActivateL@CGlxCommandHandler@@QAEXH@Z @ 37 NONAME ; void CGlxCommandHandler::ActivateL(int) + ?DoHandleItemAddedL@CGlxMpxCommandCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 38 NONAME ; void CGlxMpxCommandCommandHandler::DoHandleItemAddedL(int, int, class MGlxMediaList *) + ?HandleAttributesAvailableL@CGlxMpxCommandCommandHandler@@MAEXHABV?$RArray@VTMPXAttribute@@@@PAVMGlxMediaList@@@Z @ 39 NONAME ; void CGlxMpxCommandCommandHandler::HandleAttributesAvailableL(int, class RArray const &, class MGlxMediaList *) + ?DoGetRequiredAttributesL@CGlxMediaListCommandHandler@@MBEXAAV?$RArray@VTMPXAttribute@@@@H@Z @ 40 NONAME ; void CGlxMediaListCommandHandler::DoGetRequiredAttributesL(class RArray &, int) const + ?ProgressTextL@CGlxMpxCommandCommandHandler@@MBEPAVHBufC16@@H@Z @ 41 NONAME ; class HBufC16 * CGlxMpxCommandCommandHandler::ProgressTextL(int) const + ?BypassFiltersForMenu@CGlxMediaListCommandHandler@@MBEHXZ @ 42 NONAME ; int CGlxMediaListCommandHandler::BypassFiltersForMenu(void) const + ?ViewingState@CGlxMediaListCommandHandler@@IBE?AW4TViewingState@TCommandInfo@1@XZ @ 43 NONAME ; enum CGlxMediaListCommandHandler::TCommandInfo::TViewingState CGlxMediaListCommandHandler::ViewingState(void) const + ?CommandInfoIndex@CGlxMediaListCommandHandler@@ABEHH@Z @ 44 NONAME ; int CGlxMediaListCommandHandler::CommandInfoIndex(int) const + ?DoActivateL@CGlxMpxCommandCommandHandler@@MAEXH@Z @ 45 NONAME ; void CGlxMpxCommandCommandHandler::DoActivateL(int) + ?DoExecuteL@CGlxMpxCommandCommandHandler@@EAEHHAAVMGlxMediaList@@@Z @ 46 NONAME ; int CGlxMpxCommandCommandHandler::DoExecuteL(int, class MGlxMediaList &) + ?DialogDismissedL@CGlxMpxCommandCommandHandler@@UAEXH@Z @ 47 NONAME ; void CGlxMpxCommandCommandHandler::DialogDismissedL(int) + ?OfferKeyEventL@CGlxMediaListCommandHandler@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 48 NONAME ; enum TKeyResponse CGlxMediaListCommandHandler::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?Deactivate@CGlxMpxCommandCommandHandler@@MAEXXZ @ 49 NONAME ; void CGlxMpxCommandCommandHandler::Deactivate(void) + ??1CGlxMpxCommandCommandHandler@@UAE@XZ @ 50 NONAME ; CGlxMpxCommandCommandHandler::~CGlxMpxCommandCommandHandler(void) + ?HandleItemSelectedL@CGlxMpxCommandCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 51 NONAME ; void CGlxMpxCommandCommandHandler::HandleItemSelectedL(int, int, class MGlxMediaList *) + ??0CGlxMediaListCommandHandler@@QAE@PAVMGlxMediaListProvider@@H@Z @ 52 NONAME ; CGlxMediaListCommandHandler::CGlxMediaListCommandHandler(class MGlxMediaListProvider *, int) + ?ConfirmationNoteSingleL@CGlxMpxCommandCommandHandler@@ABEHHAAVMGlxMediaList@@@Z @ 53 NONAME ; int CGlxMpxCommandCommandHandler::ConfirmationNoteSingleL(int, class MGlxMediaList &) const + ?DoDynInitMenuPaneL@CGlxMediaListCommandHandler@@MAEXHPAVCEikMenuPane@@@Z @ 54 NONAME ; void CGlxMediaListCommandHandler::DoDynInitMenuPaneL(int, class CEikMenuPane *) + ?ConfirmationNoteL@CGlxMpxCommandCommandHandler@@EBEHHAAVMGlxMediaList@@@Z @ 55 NONAME ; int CGlxMpxCommandCommandHandler::ConfirmationNoteL(int, class MGlxMediaList &) const + ?PopulateToolbarL@CGlxCommandHandler@@MAEXXZ @ 56 NONAME ; void CGlxCommandHandler::PopulateToolbarL(void) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commandhandlerbase/eabi/glxcommandhandlerbaseu.def --- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/eabi/glxcommandhandlerbaseu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/eabi/glxcommandhandlerbaseu.def Tue Apr 27 16:37:53 2010 +0300 @@ -13,7 +13,7 @@ _ZN27CGlxMediaListCommandHandler12TCommandInfoC1Ei @ 12 NONAME _ZN27CGlxMediaListCommandHandler12TCommandInfoC2Ei @ 13 NONAME _ZN27CGlxMediaListCommandHandler14OfferKeyEventLERK9TKeyEvent10TEventCode @ 14 NONAME - _ZN27CGlxMediaListCommandHandler16DynInitMenuPaneLEiP12CEikMenuPane @ 15 NONAME + _ZN27CGlxMediaListCommandHandler16DynInitMenuPaneLEiP12CEikMenuPanei @ 15 NONAME _ZN27CGlxMediaListCommandHandler18DoDynInitMenuPaneLEiP12CEikMenuPane @ 16 NONAME _ZN27CGlxMediaListCommandHandler19PreDynInitMenuPaneLEi @ 17 NONAME _ZN27CGlxMediaListCommandHandler8ExecuteLEi @ 18 NONAME @@ -62,20 +62,20 @@ _ZNK28CGlxMpxCommandCommandHandler23ConfirmationNoteSingleLEiR13MGlxMediaList @ 61 NONAME _ZNK28CGlxMpxCommandCommandHandler25ConfirmationNoteMultipleLEiR13MGlxMediaList @ 62 NONAME _ZNK28CGlxMpxCommandCommandHandler8OkToExitEv @ 63 NONAME - _ZTI18CGlxCommandHandler @ 64 NONAME ; ## - _ZTI27CGlxMediaListCommandHandler @ 65 NONAME ; ## - _ZTI28CGlxMpxCommandCommandHandler @ 66 NONAME ; ## - _ZTV18CGlxCommandHandler @ 67 NONAME ; ## - _ZTV27CGlxMediaListCommandHandler @ 68 NONAME ; ## - _ZTV28CGlxMpxCommandCommandHandler @ 69 NONAME ; ## - _ZThn48_N28CGlxMpxCommandCommandHandler12HandleMediaLEiP13MGlxMediaList @ 70 NONAME ; ## - _ZThn48_N28CGlxMpxCommandCommandHandler14HandleMessageLERK9CMPXMediaP13MGlxMediaList @ 71 NONAME ; ## - _ZThn48_N28CGlxMpxCommandCommandHandler16HandleItemAddedLEiiP13MGlxMediaList @ 72 NONAME ; ## - _ZThn48_N28CGlxMpxCommandCommandHandler18HandleItemRemovedLEiiP13MGlxMediaList @ 73 NONAME ; ## - _ZThn48_N28CGlxMpxCommandCommandHandler19HandleFocusChangedLEN12NGlxListDefs16TFocusChangeTypeEiiP13MGlxMediaList @ 74 NONAME ; ## - _ZThn48_N28CGlxMpxCommandCommandHandler19HandleItemModifiedLERK6RArrayIiEP13MGlxMediaList @ 75 NONAME ; ## - _ZThn48_N28CGlxMpxCommandCommandHandler19HandleItemSelectedLEiiP13MGlxMediaList @ 76 NONAME ; ## - _ZThn48_N28CGlxMpxCommandCommandHandler22HandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 77 NONAME ; ## - _ZThn48_N28CGlxMpxCommandCommandHandler26HandleAttributesAvailableLEiRK6RArrayI13TMPXAttributeEP13MGlxMediaList @ 78 NONAME ; ## - _ZThn52_N28CGlxMpxCommandCommandHandler16DialogDismissedLEi @ 79 NONAME ; ## + _ZTI18CGlxCommandHandler @ 64 NONAME + _ZTI27CGlxMediaListCommandHandler @ 65 NONAME + _ZTI28CGlxMpxCommandCommandHandler @ 66 NONAME + _ZTV18CGlxCommandHandler @ 67 NONAME + _ZTV27CGlxMediaListCommandHandler @ 68 NONAME + _ZTV28CGlxMpxCommandCommandHandler @ 69 NONAME + _ZThn48_N28CGlxMpxCommandCommandHandler12HandleMediaLEiP13MGlxMediaList @ 70 NONAME + _ZThn48_N28CGlxMpxCommandCommandHandler14HandleMessageLERK9CMPXMediaP13MGlxMediaList @ 71 NONAME + _ZThn48_N28CGlxMpxCommandCommandHandler16HandleItemAddedLEiiP13MGlxMediaList @ 72 NONAME + _ZThn48_N28CGlxMpxCommandCommandHandler18HandleItemRemovedLEiiP13MGlxMediaList @ 73 NONAME + _ZThn48_N28CGlxMpxCommandCommandHandler19HandleFocusChangedLEN12NGlxListDefs16TFocusChangeTypeEiiP13MGlxMediaList @ 74 NONAME + _ZThn48_N28CGlxMpxCommandCommandHandler19HandleItemModifiedLERK6RArrayIiEP13MGlxMediaList @ 75 NONAME + _ZThn48_N28CGlxMpxCommandCommandHandler19HandleItemSelectedLEiiP13MGlxMediaList @ 76 NONAME + _ZThn48_N28CGlxMpxCommandCommandHandler22HandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 77 NONAME + _ZThn48_N28CGlxMpxCommandCommandHandler26HandleAttributesAvailableLEiRK6RArrayI13TMPXAttributeEP13MGlxMediaList @ 78 NONAME + _ZThn52_N28CGlxMpxCommandCommandHandler16DialogDismissedLEi @ 79 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commandhandlerbase/inc/glxcommandhandler.h --- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/inc/glxcommandhandler.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/inc/glxcommandhandler.h Tue Apr 27 16:37:53 2010 +0300 @@ -51,8 +51,10 @@ * Modify a menu before it is displayed. * @param aResourceId The resource ID of the menu * @param aMenuPane The in-memory representation of the menu pane + * @param aIsBrowseMode ETrue if in grid view */ - virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) = 0; + virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode) = 0; /** * Called when the owning view is activated diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commandhandlerbase/inc/glxmedialistcommandhandler.h --- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/inc/glxmedialistcommandhandler.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/inc/glxmedialistcommandhandler.h Tue Apr 27 16:37:53 2010 +0300 @@ -161,7 +161,8 @@ IMPORT_C virtual TBool ExecuteL(TInt aCommand); /// See @ref MGlxCommandHandler::DynInitMenuPaneL */ - IMPORT_C virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + IMPORT_C virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode); /** * See @ref MGlxCommandHandler::Deactivate @@ -328,6 +329,17 @@ void GetRequiredAttributesL(RArray< TMPXAttribute >& aAttributes, TBool aFilterUsingSelection) const; + /** + * Check if the command handler is currently disabled in browse mode + * @param aCommandId command ID of the command. + * @param aMediaList Medialist instance to check the counts + * @param aIsContextItem ETrue if the current item is an context menu item. + */ + TBool CGlxMediaListCommandHandler::CheckDisabledForBrowseModeL( + TInt aCommandId, + MGlxMediaList& aMediaList, + TBool aIsContextItem); + private: /** Provider of media list */ diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmedialistcommandhandler.cpp --- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmedialistcommandhandler.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmedialistcommandhandler.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -155,7 +155,7 @@ // ----------------------------------------------------------------------------- // EXPORT_C void CGlxMediaListCommandHandler::DynInitMenuPaneL(TInt aResourceId, - CEikMenuPane* aMenuPane) + CEikMenuPane* aMenuPane, TBool aIsBrowseMode) { if ( aMenuPane ) { @@ -175,8 +175,31 @@ // Check if the menu command is know to this command handler if ( IsSupported( item.iCommandId ) ) - { - TBool isDisabled = IsDisabledL(item.iCommandId, MediaList()); + { + TBool isDisabled = EFalse; + //If we are in grid view check whether to disable the item + //with a light weight API, since the API IsDisabledL( ) + //takes time to execute randomly over the time, which is + //not predictable. This is not be required for list view + //since it has only 2-3 commands and there are no AIW + //menu. + if(aIsBrowseMode) + { + TBool isContextItem = EFalse; + //Check whether its a context menu item. + if(item.iFlags & EEikMenuItemSpecific) + { + isContextItem = ETrue; + } + + isDisabled = CheckDisabledForBrowseModeL(item.iCommandId, + MediaList(), isContextItem); + } + else + { + isDisabled = IsDisabledL(item.iCommandId, MediaList()); + } + // Check visibility of the menu item aMenuPane->SetItemDimmed( item.iCommandId, isDisabled); @@ -239,10 +262,12 @@ TBool aFilterUsingCommandId, TInt aCommandId) const { + CleanupClosePushL(aAttributes); if (!aFilterUsingCommandId || IsSupported(aCommandId)) { GetRequiredAttributesL(aAttributes, aFilterUsingSelection); } + CleanupStack::Pop(&aAttributes); } // ----------------------------------------------------------------------------- @@ -645,3 +670,61 @@ DoGetRequiredAttributesL(aAttributes, aFilterUsingSelection); } + +// ----------------------------------------------------------------------------- +// Check if the command should be disabled/enabled for grid view +// ----------------------------------------------------------------------------- +// +TBool CGlxMediaListCommandHandler::CheckDisabledForBrowseModeL(TInt aCommandId, + MGlxMediaList& aMediaList, TBool aIsContextItem) + + { + TInt mlCount = aMediaList.Count(); + TInt selectionCount = aMediaList.SelectionCount(); + + if(mlCount<=0) + { + //If no items are present then enable Help and Exit in options + if(aCommandId != EAknCmdHelp && + aCommandId != EAknCmdExit) + { + return ETrue; + } + } + //If count is >0 and if its context menu item then enable them + //always, Since all the items are static it would not affect + //the normal behaviour present earlier. + else if(aIsContextItem) + { + return EFalse; + } + //If selectionCount is 0 then enable only slideshow, markall + //help and exit as present currently. + else if((selectionCount == 0) && + (aCommandId != EAknCmdHelp && + aCommandId != EAknCmdExit && + aCommandId != EGlxCmdSlideshow && + aCommandId != EAknMarkAll && + aCommandId != EGlxCmdSlideshowPlay && + aCommandId != EGlxCmdSlideshowSettings)) + { + return ETrue; + } + //If selectionCount is same as media count then disable + //Markall and Details view. If only one item is present + //then only disable MarkAll. + else if((selectionCount == mlCount) && + (aCommandId == EAknMarkAll || + (aCommandId == EGlxCmdDetails && mlCount>1))) + { + return ETrue; + } + //If selectionCount > 1 then disable Details view. + else if((selectionCount > 1) && + (aCommandId == EGlxCmdDetails)) + { + return ETrue; + } + + return EFalse; + } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/bwins/glxcommoncommandhandlersu.def --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/bwins/glxcommoncommandhandlersu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/bwins/glxcommoncommandhandlersu.def Tue Apr 27 16:37:53 2010 +0300 @@ -1,66 +1,66 @@ EXPORTS - ?NewL@CGlxCommandHandlerHelp@@SAPAV1@VTGlxHelpContext@@@Z @ 1 NONAME ; class CGlxCommandHandlerHelp * CGlxCommandHandlerHelp::NewL(class TGlxHelpContext) - ?HandleItemAddedL@CGlxCommandHandlerNewMedia@@MAEXHHPAVMGlxMediaList@@@Z @ 2 NONAME ; void CGlxCommandHandlerNewMedia::HandleItemAddedL(int, int, class MGlxMediaList *) - ?ExecuteLD@CGlxCommandHandlerNewMedia@@QAEHAAVTGlxMediaId@@@Z @ 3 NONAME ; int CGlxCommandHandlerNewMedia::ExecuteLD(class TGlxMediaId &) - ??1CGlxCommandHandlerFilterImagesOrVideos@@UAE@XZ @ 4 NONAME ; CGlxCommandHandlerFilterImagesOrVideos::~CGlxCommandHandlerFilterImagesOrVideos(void) - ?OfferKeyEventL@CGlxSingleGraphicPopupMenuStyleListBox@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 5 NONAME ; enum TKeyResponse CGlxSingleGraphicPopupMenuStyleListBox::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) - ??0CGlxMediaListAdaptor@@QAE@PBVMGlxMediaList@@H@Z @ 6 NONAME ; CGlxMediaListAdaptor::CGlxMediaListAdaptor(class MGlxMediaList const *, int) - ?NewL@CGlxCommandHandlerUpload@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 7 NONAME ; class CGlxCommandHandlerUpload * CGlxCommandHandlerUpload::NewL(class MGlxMediaListProvider *, int) - ?NewL@CGlxCommandHandlerRename@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 8 NONAME ; class CGlxCommandHandlerRename * CGlxCommandHandlerRename::NewL(class MGlxMediaListProvider *, int) - ?NewL@CGlxCommandHandlerSend@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 9 NONAME ; class CGlxCommandHandlerSend * CGlxCommandHandlerSend::NewL(class MGlxMediaListProvider *, int) - ??1CGlxCommandHandlerUpload@@UAE@XZ @ 10 NONAME ; CGlxCommandHandlerUpload::~CGlxCommandHandlerUpload(void) - ??1CGlxCommandHandlerNewMedia@@UAE@XZ @ 11 NONAME ; CGlxCommandHandlerNewMedia::~CGlxCommandHandlerNewMedia(void) - ??1CGlxCommandHandlerSlideshow@@UAE@XZ @ 12 NONAME ; CGlxCommandHandlerSlideshow::~CGlxCommandHandlerSlideshow(void) - ?NewL@CGlxCommandHandlerAiwShowMap@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 13 NONAME ; class CGlxCommandHandlerAiwShowMap * CGlxCommandHandlerAiwShowMap::NewL(class MGlxMediaListProvider *, int) - ??1CGlxCommandHandlerSave@@UAE@XZ @ 14 NONAME ; CGlxCommandHandlerSave::~CGlxCommandHandlerSave(void) - ?NewL@CGlxCommandHandlerDelete@@SAPAV1@PAVMGlxMediaListProvider@@HH@Z @ 15 NONAME ; class CGlxCommandHandlerDelete * CGlxCommandHandlerDelete::NewL(class MGlxMediaListProvider *, int, int) - ??1CGlxCommandHandlerAddToContainer@@UAE@XZ @ 16 NONAME ; CGlxCommandHandlerAddToContainer::~CGlxCommandHandlerAddToContainer(void) - ??0CGlxMediaSelectionPopup@@QAE@XZ @ 17 NONAME ; CGlxMediaSelectionPopup::CGlxMediaSelectionPopup(void) - ?NewL@CGlxCommandHandlerRotate@@SAPAV1@PAVMGlxMediaListProvider@@PAVMGlxLayoutOwner@@H@Z @ 18 NONAME ; class CGlxCommandHandlerRotate * CGlxCommandHandlerRotate::NewL(class MGlxMediaListProvider *, class MGlxLayoutOwner *, int) - ?NewL@CGlxCommandHandlerNewMedia@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 19 NONAME ; class CGlxCommandHandlerNewMedia * CGlxCommandHandlerNewMedia::NewL(class MGlxMediaListProvider *) - ?ExecuteLD@CGlxMediaSelectionPopup@@QAEPAVCMPXCollectionPath@@AAV2@AAHHHPAVCMPXMedia@@@Z @ 20 NONAME ; class CMPXCollectionPath * CGlxMediaSelectionPopup::ExecuteLD(class CMPXCollectionPath &, int &, int, int, class CMPXMedia *) - ?NewL@CGlxCommandHandlerCopyAndMove@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 21 NONAME ; class CGlxCommandHandlerCopyAndMove * CGlxCommandHandlerCopyAndMove::NewL(class MGlxMediaListProvider *, int) - ?OkToExit@CGlxCommandHandlerNewMedia@@UBEHXZ @ 22 NONAME ; int CGlxCommandHandlerNewMedia::OkToExit(void) const - ??1CGlxCommandHandlerBack@@UAE@XZ @ 23 NONAME ; CGlxCommandHandlerBack::~CGlxCommandHandlerBack(void) - ?NewPreviousViewCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 24 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewPreviousViewCommandHandlerL(class MGlxMediaListProvider *) - ??1CGlxCommandHandlerCopyAndMove@@UAE@XZ @ 25 NONAME ; CGlxCommandHandlerCopyAndMove::~CGlxCommandHandlerCopyAndMove(void) - ??1CGlxCommandHandlerAiwEdit@@UAE@XZ @ 26 NONAME ; CGlxCommandHandlerAiwEdit::~CGlxCommandHandlerAiwEdit(void) - ?SetContainerId@CGlxCommandHandlerRemoveFrom@@QAEXVTGlxMediaId@@@Z @ 27 NONAME ; void CGlxCommandHandlerRemoveFrom::SetContainerId(class TGlxMediaId) - ?NewL@CGlxCommandHandlerVideoPlayback@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 28 NONAME ; class CGlxCommandHandlerVideoPlayback * CGlxCommandHandlerVideoPlayback::NewL(class MGlxMediaListProvider *) - ?MdcaCount@CGlxMediaListAdaptor@@UBEHXZ @ 29 NONAME ; int CGlxMediaListAdaptor::MdcaCount(void) const - ??0TGlxHelpContext@@QAE@XZ @ 30 NONAME ; TGlxHelpContext::TGlxHelpContext(void) - ??1CGlxCommandHandlerSortOrder@@UAE@XZ @ 31 NONAME ; CGlxCommandHandlerSortOrder::~CGlxCommandHandlerSortOrder(void) - ?NewL@CGlxCommandHandlerFilterImagesOrVideos@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 32 NONAME ; class CGlxCommandHandlerFilterImagesOrVideos * CGlxCommandHandlerFilterImagesOrVideos::NewL(class MGlxMediaListProvider *) - ??1CGlxCommandHandlerRemoveFrom@@UAE@XZ @ 33 NONAME ; CGlxCommandHandlerRemoveFrom::~CGlxCommandHandlerRemoveFrom(void) - ?NewL@CGlxCommandHandlerAiwShowMapHardKey@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 34 NONAME ; class CGlxCommandHandlerAiwShowMapHardKey * CGlxCommandHandlerAiwShowMapHardKey::NewL(class MGlxMediaListProvider *, int) - ?NewL@CGlxCommandHandlerHideUi@@SAPAV1@XZ @ 35 NONAME ; class CGlxCommandHandlerHideUi * CGlxCommandHandlerHideUi::NewL(void) - ?NewL@CGlxCommandHandlerAiwAssign@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 36 NONAME ; class CGlxCommandHandlerAiwAssign * CGlxCommandHandlerAiwAssign::NewL(class MGlxMediaListProvider *, int) - ??1CGlxCommandHandlerSend@@UAE@XZ @ 37 NONAME ; CGlxCommandHandlerSend::~CGlxCommandHandlerSend(void) - ?NewAddToAlbumSingleClickCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 38 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToAlbumSingleClickCommandHandlerL(class MGlxMediaListProvider *, int) - ?NewAddToTagCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 39 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL(class MGlxMediaListProvider *, int) - ?NewL@CGlxCommandHandlerOpen@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 40 NONAME ; class CGlxCommandHandlerOpen * CGlxCommandHandlerOpen::NewL(class MGlxMediaListProvider *) - ??1CGlxCommandHandlerDelete@@UAE@XZ @ 41 NONAME ; CGlxCommandHandlerDelete::~CGlxCommandHandlerDelete(void) - ??1CGlxCommandHandlerDetails@@UAE@XZ @ 42 NONAME ; CGlxCommandHandlerDetails::~CGlxCommandHandlerDetails(void) - ??1CGlxCommandHandlerDownload@@UAE@XZ @ 43 NONAME ; CGlxCommandHandlerDownload::~CGlxCommandHandlerDownload(void) - ?NewL@CGlxCommandHandlerSave@@SAPAV1@XZ @ 44 NONAME ; class CGlxCommandHandlerSave * CGlxCommandHandlerSave::NewL(void) - ??1CGlxCommandHandlerOpen@@UAE@XZ @ 45 NONAME ; CGlxCommandHandlerOpen::~CGlxCommandHandlerOpen(void) - ?NewL@CGlxCommandHandlerSlideshow@@SAPAV1@PAVMGlxMediaListProvider@@HH@Z @ 46 NONAME ; class CGlxCommandHandlerSlideshow * CGlxCommandHandlerSlideshow::NewL(class MGlxMediaListProvider *, int, int) - ?NewL@CGlxCommandHandlerAiwShareOnOvi@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 47 NONAME ; class CGlxCommandHandlerAiwShareOnOvi * CGlxCommandHandlerAiwShareOnOvi::NewL(class MGlxMediaListProvider *, int) - ?NewAddToTagSingleClickCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 48 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToTagSingleClickCommandHandlerL(class MGlxMediaListProvider *, int) - ?NewAddToAlbumCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 49 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL(class MGlxMediaListProvider *, int) + ?NewL@CGlxCommandHandlerAiwAssign@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 1 NONAME ; class CGlxCommandHandlerAiwAssign * CGlxCommandHandlerAiwAssign::NewL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ?NewL@CGlxCommandHandlerHelp@@SAPAV1@VTGlxHelpContext@@@Z @ 2 NONAME ; class CGlxCommandHandlerHelp * CGlxCommandHandlerHelp::NewL(class TGlxHelpContext) + ?NewAddToAlbumSingleClickCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 3 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToAlbumSingleClickCommandHandlerL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ?HandleItemAddedL@CGlxCommandHandlerNewMedia@@MAEXHHPAVMGlxMediaList@@@Z @ 4 NONAME ; void CGlxCommandHandlerNewMedia::HandleItemAddedL(int, int, class MGlxMediaList *) + ?ExecuteLD@CGlxCommandHandlerNewMedia@@QAEHAAVTGlxMediaId@@@Z @ 5 NONAME ; int CGlxCommandHandlerNewMedia::ExecuteLD(class TGlxMediaId &) + ??1CGlxCommandHandlerFilterImagesOrVideos@@UAE@XZ @ 6 NONAME ; CGlxCommandHandlerFilterImagesOrVideos::~CGlxCommandHandlerFilterImagesOrVideos(void) + ?OfferKeyEventL@CGlxSingleGraphicPopupMenuStyleListBox@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 7 NONAME ; enum TKeyResponse CGlxSingleGraphicPopupMenuStyleListBox::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?NewL@CGlxCommandHandlerNewMedia@@SAPAV1@PAVMGlxMediaListProvider@@ABVTDesC16@@@Z @ 8 NONAME ; class CGlxCommandHandlerNewMedia * CGlxCommandHandlerNewMedia::NewL(class MGlxMediaListProvider *, class TDesC16 const &) + ?NewL@CGlxCommandHandlerRemoveFrom@@SAPAV1@PAVMGlxMediaListProvider@@W4TMPXGeneralCategory@@ABVTDesC16@@@Z @ 9 NONAME ; class CGlxCommandHandlerRemoveFrom * CGlxCommandHandlerRemoveFrom::NewL(class MGlxMediaListProvider *, enum TMPXGeneralCategory, class TDesC16 const &) + ??0CGlxMediaListAdaptor@@QAE@PBVMGlxMediaList@@H@Z @ 10 NONAME ; CGlxMediaListAdaptor::CGlxMediaListAdaptor(class MGlxMediaList const *, int) + ?NewL@CGlxCommandHandlerUpload@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 11 NONAME ; class CGlxCommandHandlerUpload * CGlxCommandHandlerUpload::NewL(class MGlxMediaListProvider *, int) + ??1CGlxCommandHandlerUpload@@UAE@XZ @ 12 NONAME ; CGlxCommandHandlerUpload::~CGlxCommandHandlerUpload(void) + ??1CGlxCommandHandlerNewMedia@@UAE@XZ @ 13 NONAME ; CGlxCommandHandlerNewMedia::~CGlxCommandHandlerNewMedia(void) + ?NewL@CGlxCommandHandlerAiwPrintPreview@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 14 NONAME ; class CGlxCommandHandlerAiwPrintPreview * CGlxCommandHandlerAiwPrintPreview::NewL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ??1CGlxCommandHandlerSlideshow@@UAE@XZ @ 15 NONAME ; CGlxCommandHandlerSlideshow::~CGlxCommandHandlerSlideshow(void) + ??1CGlxCommandHandlerSave@@UAE@XZ @ 16 NONAME ; CGlxCommandHandlerSave::~CGlxCommandHandlerSave(void) + ?NewAddToFavCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 17 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToFavCommandHandlerL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ??1CGlxCommandHandlerAddToContainer@@UAE@XZ @ 18 NONAME ; CGlxCommandHandlerAddToContainer::~CGlxCommandHandlerAddToContainer(void) + ??0CGlxMediaSelectionPopup@@QAE@XZ @ 19 NONAME ; CGlxMediaSelectionPopup::CGlxMediaSelectionPopup(void) + ?NewL@CGlxCommandHandlerRotate@@SAPAV1@PAVMGlxMediaListProvider@@PAVMGlxLayoutOwner@@H@Z @ 20 NONAME ; class CGlxCommandHandlerRotate * CGlxCommandHandlerRotate::NewL(class MGlxMediaListProvider *, class MGlxLayoutOwner *, int) + ?NewAddToTagSingleClickCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 21 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToTagSingleClickCommandHandlerL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ?ExecuteLD@CGlxMediaSelectionPopup@@QAEPAVCMPXCollectionPath@@AAV2@AAHHHPAVCMPXMedia@@@Z @ 22 NONAME ; class CMPXCollectionPath * CGlxMediaSelectionPopup::ExecuteLD(class CMPXCollectionPath &, int &, int, int, class CMPXMedia *) + ?NewL@CGlxCommandHandlerSend@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 23 NONAME ; class CGlxCommandHandlerSend * CGlxCommandHandlerSend::NewL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ?OkToExit@CGlxCommandHandlerNewMedia@@UBEHXZ @ 24 NONAME ; int CGlxCommandHandlerNewMedia::OkToExit(void) const + ?NewL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@HHABVTDesC16@@@Z @ 25 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewL(class MGlxMediaListProvider *, int, int, class TDesC16 const &) + ??1CGlxCommandHandlerBack@@UAE@XZ @ 26 NONAME ; CGlxCommandHandlerBack::~CGlxCommandHandlerBack(void) + ?NewPreviousViewCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 27 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewPreviousViewCommandHandlerL(class MGlxMediaListProvider *) + ??1CGlxCommandHandlerCopyAndMove@@UAE@XZ @ 28 NONAME ; CGlxCommandHandlerCopyAndMove::~CGlxCommandHandlerCopyAndMove(void) + ??1CGlxCommandHandlerAiwEdit@@UAE@XZ @ 29 NONAME ; CGlxCommandHandlerAiwEdit::~CGlxCommandHandlerAiwEdit(void) + ?SetContainerId@CGlxCommandHandlerRemoveFrom@@QAEXVTGlxMediaId@@@Z @ 30 NONAME ; void CGlxCommandHandlerRemoveFrom::SetContainerId(class TGlxMediaId) + ?NewL@CGlxCommandHandlerVideoPlayback@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 31 NONAME ; class CGlxCommandHandlerVideoPlayback * CGlxCommandHandlerVideoPlayback::NewL(class MGlxMediaListProvider *) + ?MdcaCount@CGlxMediaListAdaptor@@UBEHXZ @ 32 NONAME ; int CGlxMediaListAdaptor::MdcaCount(void) const + ??0TGlxHelpContext@@QAE@XZ @ 33 NONAME ; TGlxHelpContext::TGlxHelpContext(void) + ??1CGlxCommandHandlerSortOrder@@UAE@XZ @ 34 NONAME ; CGlxCommandHandlerSortOrder::~CGlxCommandHandlerSortOrder(void) + ?NewL@CGlxCommandHandlerFilterImagesOrVideos@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 35 NONAME ; class CGlxCommandHandlerFilterImagesOrVideos * CGlxCommandHandlerFilterImagesOrVideos::NewL(class MGlxMediaListProvider *) + ??1CGlxCommandHandlerRemoveFrom@@UAE@XZ @ 36 NONAME ; CGlxCommandHandlerRemoveFrom::~CGlxCommandHandlerRemoveFrom(void) + ?NewL@CGlxCommandHandlerAiwShowMapHardKey@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 37 NONAME ; class CGlxCommandHandlerAiwShowMapHardKey * CGlxCommandHandlerAiwShowMapHardKey::NewL(class MGlxMediaListProvider *, int) + ?NewL@CGlxCommandHandlerHideUi@@SAPAV1@XZ @ 38 NONAME ; class CGlxCommandHandlerHideUi * CGlxCommandHandlerHideUi::NewL(void) + ??1CGlxCommandHandlerSend@@UAE@XZ @ 39 NONAME ; CGlxCommandHandlerSend::~CGlxCommandHandlerSend(void) + ?NewL@CGlxCommandHandlerAiwShowMap@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 40 NONAME ; class CGlxCommandHandlerAiwShowMap * CGlxCommandHandlerAiwShowMap::NewL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ?NewL@CGlxCommandHandlerOpen@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 41 NONAME ; class CGlxCommandHandlerOpen * CGlxCommandHandlerOpen::NewL(class MGlxMediaListProvider *) + ??1CGlxCommandHandlerDelete@@UAE@XZ @ 42 NONAME ; CGlxCommandHandlerDelete::~CGlxCommandHandlerDelete(void) + ??1CGlxCommandHandlerDetails@@UAE@XZ @ 43 NONAME ; CGlxCommandHandlerDetails::~CGlxCommandHandlerDetails(void) + ??1CGlxCommandHandlerDownload@@UAE@XZ @ 44 NONAME ; CGlxCommandHandlerDownload::~CGlxCommandHandlerDownload(void) + ?NewAddToTagCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 45 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ?NewL@CGlxCommandHandlerSave@@SAPAV1@XZ @ 46 NONAME ; class CGlxCommandHandlerSave * CGlxCommandHandlerSave::NewL(void) + ?NewL@CGlxCommandHandlerCopyAndMove@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 47 NONAME ; class CGlxCommandHandlerCopyAndMove * CGlxCommandHandlerCopyAndMove::NewL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ?NewL@CGlxCommandHandlerDelete@@SAPAV1@PAVMGlxMediaListProvider@@HHABVTDesC16@@@Z @ 48 NONAME ; class CGlxCommandHandlerDelete * CGlxCommandHandlerDelete::NewL(class MGlxMediaListProvider *, int, int, class TDesC16 const &) + ??1CGlxCommandHandlerOpen@@UAE@XZ @ 49 NONAME ; CGlxCommandHandlerOpen::~CGlxCommandHandlerOpen(void) ??1CGlxCommandHandlerRename@@UAE@XZ @ 50 NONAME ; CGlxCommandHandlerRename::~CGlxCommandHandlerRename(void) ??1CGlxCommandHandlerVideoPlayback@@UAE@XZ @ 51 NONAME ; CGlxCommandHandlerVideoPlayback::~CGlxCommandHandlerVideoPlayback(void) ?MdcaPoint@CGlxMediaListAdaptor@@UBE?AVTPtrC16@@H@Z @ 52 NONAME ; class TPtrC16 CGlxMediaListAdaptor::MdcaPoint(int) const - ?NewL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@HH@Z @ 53 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewL(class MGlxMediaListProvider *, int, int) + ?NewAddToAlbumCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 53 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL(class MGlxMediaListProvider *, int, class TDesC16 const &) ?NewL@CGlxCommandHandlerDownload@@SAPAV1@XZ @ 54 NONAME ; class CGlxCommandHandlerDownload * CGlxCommandHandlerDownload::NewL(void) - ??1CGlxCommandHandlerHelp@@UAE@XZ @ 55 NONAME ; CGlxCommandHandlerHelp::~CGlxCommandHandlerHelp(void) - ?BypassFiltersForExecute@CGlxCommandHandlerNewMedia@@UBEHXZ @ 56 NONAME ; int CGlxCommandHandlerNewMedia::BypassFiltersForExecute(void) const - ?NewL@CGlxCommandHandlerRemoveFrom@@SAPAV1@PAVMGlxMediaListProvider@@W4TMPXGeneralCategory@@@Z @ 57 NONAME ; class CGlxCommandHandlerRemoveFrom * CGlxCommandHandlerRemoveFrom::NewL(class MGlxMediaListProvider *, enum TMPXGeneralCategory) - ?NewL@CGlxCommandHandlerDetails@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 58 NONAME ; class CGlxCommandHandlerDetails * CGlxCommandHandlerDetails::NewL(class MGlxMediaListProvider *) - ?NewL@CGlxCommandHandlerAiwPrintPreview@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 59 NONAME ; class CGlxCommandHandlerAiwPrintPreview * CGlxCommandHandlerAiwPrintPreview::NewL(class MGlxMediaListProvider *, int) - ?NewL@CGlxCommandHandlerSortOrder@@SAPAV1@PAVMGlxMediaListProvider@@K@Z @ 60 NONAME ; class CGlxCommandHandlerSortOrder * CGlxCommandHandlerSortOrder::NewL(class MGlxMediaListProvider *, unsigned long) + ?NewL@CGlxCommandHandlerDetails@@SAPAV1@PAVMGlxMediaListProvider@@ABVTDesC16@@@Z @ 55 NONAME ; class CGlxCommandHandlerDetails * CGlxCommandHandlerDetails::NewL(class MGlxMediaListProvider *, class TDesC16 const &) + ??1CGlxCommandHandlerHelp@@UAE@XZ @ 56 NONAME ; CGlxCommandHandlerHelp::~CGlxCommandHandlerHelp(void) + ?BypassFiltersForExecute@CGlxCommandHandlerNewMedia@@UBEHXZ @ 57 NONAME ; int CGlxCommandHandlerNewMedia::BypassFiltersForExecute(void) const + ?NewL@CGlxCommandHandlerAiwShareOnOvi@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 58 NONAME ; class CGlxCommandHandlerAiwShareOnOvi * CGlxCommandHandlerAiwShareOnOvi::NewL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ?NewL@CGlxCommandHandlerSortOrder@@SAPAV1@PAVMGlxMediaListProvider@@K@Z @ 59 NONAME ; class CGlxCommandHandlerSortOrder * CGlxCommandHandlerSortOrder::NewL(class MGlxMediaListProvider *, unsigned long) + ?NewL@CGlxCommandHandlerSlideshow@@SAPAV1@PAVMGlxMediaListProvider@@HHABVTDesC16@@@Z @ 60 NONAME ; class CGlxCommandHandlerSlideshow * CGlxCommandHandlerSlideshow::NewL(class MGlxMediaListProvider *, int, int, class TDesC16 const &) ?NewBackCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@XZ @ 61 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewBackCommandHandlerL(void) ?NewL@CGlxCommandHandlerAiwEdit@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 62 NONAME ; class CGlxCommandHandlerAiwEdit * CGlxCommandHandlerAiwEdit::NewL(class MGlxMediaListProvider *, int) - ?NewContainerPreviousViewCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 63 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewContainerPreviousViewCommandHandlerL(class MGlxMediaListProvider *, int) - ?NewAddToFavCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 64 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToFavCommandHandlerL(class MGlxMediaListProvider *, int) + ?NewL@CGlxCommandHandlerRename@@SAPAV1@PAVMGlxMediaListProvider@@HABVTDesC16@@@Z @ 63 NONAME ; class CGlxCommandHandlerRename * CGlxCommandHandlerRename::NewL(class MGlxMediaListProvider *, int, class TDesC16 const &) + ?NewContainerPreviousViewCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 64 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewContainerPreviousViewCommandHandlerL(class MGlxMediaListProvider *, int) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/eabi/glxcommoncommandhandlersu.def --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/eabi/glxcommoncommandhandlersu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/eabi/glxcommoncommandhandlersu.def Tue Apr 27 16:37:53 2010 +0300 @@ -21,19 +21,19 @@ _ZN22CGlxCommandHandlerSaveD0Ev @ 20 NONAME _ZN22CGlxCommandHandlerSaveD1Ev @ 21 NONAME _ZN22CGlxCommandHandlerSaveD2Ev @ 22 NONAME - _ZN22CGlxCommandHandlerSend4NewLEP21MGlxMediaListProvideri @ 23 NONAME + _ZN22CGlxCommandHandlerSend4NewLEP21MGlxMediaListProvideriRK7TDesC16 @ 23 NONAME _ZN22CGlxCommandHandlerSendD0Ev @ 24 NONAME _ZN22CGlxCommandHandlerSendD1Ev @ 25 NONAME _ZN22CGlxCommandHandlerSendD2Ev @ 26 NONAME _ZN23CGlxMediaSelectionPopup9ExecuteLDER18CMPXCollectionPathRiiiP9CMPXMedia @ 27 NONAME _ZN23CGlxMediaSelectionPopupC1Ev @ 28 NONAME _ZN23CGlxMediaSelectionPopupC2Ev @ 29 NONAME - _ZN24CGlxCommandHandlerDelete4NewLEP21MGlxMediaListProviderii @ 30 NONAME + _ZN24CGlxCommandHandlerDelete4NewLEP21MGlxMediaListProvideriiRK7TDesC16 @ 30 NONAME _ZN24CGlxCommandHandlerDeleteD0Ev @ 31 NONAME _ZN24CGlxCommandHandlerDeleteD1Ev @ 32 NONAME _ZN24CGlxCommandHandlerDeleteD2Ev @ 33 NONAME _ZN24CGlxCommandHandlerHideUi4NewLEv @ 34 NONAME - _ZN24CGlxCommandHandlerRename4NewLEP21MGlxMediaListProvideri @ 35 NONAME + _ZN24CGlxCommandHandlerRename4NewLEP21MGlxMediaListProvideriRK7TDesC16 @ 35 NONAME _ZN24CGlxCommandHandlerRenameD0Ev @ 36 NONAME _ZN24CGlxCommandHandlerRenameD1Ev @ 37 NONAME _ZN24CGlxCommandHandlerRenameD2Ev @ 38 NONAME @@ -46,7 +46,7 @@ _ZN25CGlxCommandHandlerAiwEditD0Ev @ 45 NONAME _ZN25CGlxCommandHandlerAiwEditD1Ev @ 46 NONAME _ZN25CGlxCommandHandlerAiwEditD2Ev @ 47 NONAME - _ZN25CGlxCommandHandlerDetails4NewLEP21MGlxMediaListProvider @ 48 NONAME + _ZN25CGlxCommandHandlerDetails4NewLEP21MGlxMediaListProviderRK7TDesC16 @ 48 NONAME _ZN25CGlxCommandHandlerDetailsD0Ev @ 49 NONAME _ZN25CGlxCommandHandlerDetailsD1Ev @ 50 NONAME _ZN25CGlxCommandHandlerDetailsD2Ev @ 51 NONAME @@ -55,13 +55,13 @@ _ZN26CGlxCommandHandlerDownloadD1Ev @ 54 NONAME _ZN26CGlxCommandHandlerDownloadD2Ev @ 55 NONAME _ZN26CGlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 56 NONAME - _ZN26CGlxCommandHandlerNewMedia4NewLEP21MGlxMediaListProvider @ 57 NONAME + _ZN26CGlxCommandHandlerNewMedia4NewLEP21MGlxMediaListProviderRK7TDesC16 @ 57 NONAME _ZN26CGlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaId @ 58 NONAME _ZN26CGlxCommandHandlerNewMediaD0Ev @ 59 NONAME _ZN26CGlxCommandHandlerNewMediaD1Ev @ 60 NONAME _ZN26CGlxCommandHandlerNewMediaD2Ev @ 61 NONAME - _ZN27CGlxCommandHandlerAiwAssign4NewLEP21MGlxMediaListProvideri @ 62 NONAME - _ZN27CGlxCommandHandlerSlideshow4NewLEP21MGlxMediaListProviderii @ 63 NONAME + _ZN27CGlxCommandHandlerAiwAssign4NewLEP21MGlxMediaListProvideriRK7TDesC16 @ 62 NONAME + _ZN27CGlxCommandHandlerSlideshow4NewLEP21MGlxMediaListProvideriiRK7TDesC16 @ 63 NONAME _ZN27CGlxCommandHandlerSlideshowD0Ev @ 64 NONAME _ZN27CGlxCommandHandlerSlideshowD1Ev @ 65 NONAME _ZN27CGlxCommandHandlerSlideshowD2Ev @ 66 NONAME @@ -69,31 +69,31 @@ _ZN27CGlxCommandHandlerSortOrderD0Ev @ 68 NONAME _ZN27CGlxCommandHandlerSortOrderD1Ev @ 69 NONAME _ZN27CGlxCommandHandlerSortOrderD2Ev @ 70 NONAME - _ZN28CGlxCommandHandlerAiwShowMap4NewLEP21MGlxMediaListProvideri @ 71 NONAME + _ZN28CGlxCommandHandlerAiwShowMap4NewLEP21MGlxMediaListProvideriRK7TDesC16 @ 71 NONAME _ZN28CGlxCommandHandlerRemoveFrom14SetContainerIdE11TGlxMediaId @ 72 NONAME - _ZN28CGlxCommandHandlerRemoveFrom4NewLEP21MGlxMediaListProvider19TMPXGeneralCategory @ 73 NONAME + _ZN28CGlxCommandHandlerRemoveFrom4NewLEP21MGlxMediaListProvider19TMPXGeneralCategoryRK7TDesC16 @ 73 NONAME _ZN28CGlxCommandHandlerRemoveFromD0Ev @ 74 NONAME _ZN28CGlxCommandHandlerRemoveFromD1Ev @ 75 NONAME _ZN28CGlxCommandHandlerRemoveFromD2Ev @ 76 NONAME - _ZN29CGlxCommandHandlerCopyAndMove4NewLEP21MGlxMediaListProvideri @ 77 NONAME + _ZN29CGlxCommandHandlerCopyAndMove4NewLEP21MGlxMediaListProvideriRK7TDesC16 @ 77 NONAME _ZN29CGlxCommandHandlerCopyAndMoveD0Ev @ 78 NONAME _ZN29CGlxCommandHandlerCopyAndMoveD1Ev @ 79 NONAME _ZN29CGlxCommandHandlerCopyAndMoveD2Ev @ 80 NONAME - _ZN31CGlxCommandHandlerAiwShareOnOvi4NewLEP21MGlxMediaListProvideri @ 81 NONAME + _ZN31CGlxCommandHandlerAiwShareOnOvi4NewLEP21MGlxMediaListProvideriRK7TDesC16 @ 81 NONAME _ZN31CGlxCommandHandlerVideoPlayback4NewLEP21MGlxMediaListProvider @ 82 NONAME _ZN31CGlxCommandHandlerVideoPlaybackD0Ev @ 83 NONAME _ZN31CGlxCommandHandlerVideoPlaybackD1Ev @ 84 NONAME _ZN31CGlxCommandHandlerVideoPlaybackD2Ev @ 85 NONAME - _ZN32CGlxCommandHandlerAddToContainer26NewAddToFavCommandHandlerLEP21MGlxMediaListProvideri @ 86 NONAME - _ZN32CGlxCommandHandlerAddToContainer26NewAddToTagCommandHandlerLEP21MGlxMediaListProvideri @ 87 NONAME - _ZN32CGlxCommandHandlerAddToContainer28NewAddToAlbumCommandHandlerLEP21MGlxMediaListProvideri @ 88 NONAME - _ZN32CGlxCommandHandlerAddToContainer37NewAddToTagSingleClickCommandHandlerLEP21MGlxMediaListProvideri @ 89 NONAME - _ZN32CGlxCommandHandlerAddToContainer39NewAddToAlbumSingleClickCommandHandlerLEP21MGlxMediaListProvideri @ 90 NONAME - _ZN32CGlxCommandHandlerAddToContainer4NewLEP21MGlxMediaListProviderii @ 91 NONAME + _ZN32CGlxCommandHandlerAddToContainer26NewAddToFavCommandHandlerLEP21MGlxMediaListProvideriRK7TDesC16 @ 86 NONAME + _ZN32CGlxCommandHandlerAddToContainer26NewAddToTagCommandHandlerLEP21MGlxMediaListProvideriRK7TDesC16 @ 87 NONAME + _ZN32CGlxCommandHandlerAddToContainer28NewAddToAlbumCommandHandlerLEP21MGlxMediaListProvideriRK7TDesC16 @ 88 NONAME + _ZN32CGlxCommandHandlerAddToContainer37NewAddToTagSingleClickCommandHandlerLEP21MGlxMediaListProvideriRK7TDesC16 @ 89 NONAME + _ZN32CGlxCommandHandlerAddToContainer39NewAddToAlbumSingleClickCommandHandlerLEP21MGlxMediaListProvideriRK7TDesC16 @ 90 NONAME + _ZN32CGlxCommandHandlerAddToContainer4NewLEP21MGlxMediaListProvideriiRK7TDesC16 @ 91 NONAME _ZN32CGlxCommandHandlerAddToContainerD0Ev @ 92 NONAME _ZN32CGlxCommandHandlerAddToContainerD1Ev @ 93 NONAME _ZN32CGlxCommandHandlerAddToContainerD2Ev @ 94 NONAME - _ZN33CGlxCommandHandlerAiwPrintPreview4NewLEP21MGlxMediaListProvideri @ 95 NONAME + _ZN33CGlxCommandHandlerAiwPrintPreview4NewLEP21MGlxMediaListProvideriRK7TDesC16 @ 95 NONAME _ZN35CGlxCommandHandlerAiwShowMapHardKey4NewLEP21MGlxMediaListProvideri @ 96 NONAME _ZN38CGlxCommandHandlerFilterImagesOrVideos4NewLEP21MGlxMediaListProvider @ 97 NONAME _ZN38CGlxCommandHandlerFilterImagesOrVideosD0Ev @ 98 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h Tue Apr 27 16:37:53 2010 +0300 @@ -40,46 +40,63 @@ /** * Create add to album command handler * @param aMediaListProvider object that provides the media list. + * @param aFileName resource file */ - IMPORT_C static CGlxCommandHandlerAddToContainer* NewAddToAlbumCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem); + IMPORT_C static CGlxCommandHandlerAddToContainer + * NewAddToAlbumCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, + TBool aHasToolbarItem, const TDesC& aFileName); /** * Create add to album command handler for singleclick * @param aMediaListProvider object that provides the media list. + * @param aFileName resource file */ - IMPORT_C static CGlxCommandHandlerAddToContainer* NewAddToAlbumSingleClickCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem); + IMPORT_C static CGlxCommandHandlerAddToContainer + * NewAddToAlbumSingleClickCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, + TBool aHasToolbarItem, const TDesC& aFileName); /** - * Create add (to) tags command handler - * @param aMediaListProvider object that provides the media list. - */ - IMPORT_C static CGlxCommandHandlerAddToContainer* NewAddToTagCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem); + * Create add (to) tags command handler + * @param aMediaListProvider object that provides the media list. + * @param aFileName resource file + */ + IMPORT_C static CGlxCommandHandlerAddToContainer + * NewAddToTagCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, + TBool aHasToolbarItem, const TDesC& aFileName); /** - * Create add (to) tags command handler for singleclick - * @param aMediaListProvider object that provides the media list. - */ - IMPORT_C static CGlxCommandHandlerAddToContainer* NewAddToTagSingleClickCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem); + * Create add (to) tags command handler for singleclick + * @param aMediaListProvider object that provides the media list. + * @param aFileName resource file + */ + IMPORT_C static CGlxCommandHandlerAddToContainer + * NewAddToTagSingleClickCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, + TBool aHasToolbarItem, const TDesC& aFileName); /** - * Create add (to) Favourites command handler - * @param aMediaListProvider object that provides the media list. - */ - IMPORT_C static CGlxCommandHandlerAddToContainer* NewAddToFavCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem); + * Create add (to) Favourites command handler + * @param aMediaListProvider object that provides the media list. + * @param aFileName resource file + */ + IMPORT_C static CGlxCommandHandlerAddToContainer + * NewAddToFavCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, + TBool aHasToolbarItem, const TDesC& aFileName); /** - * Two-phase constructor: - * Prefer NewAddToAlbumCommandHandlerL or NewAddToTagsCommandHandlerL - * @param aMediaListProvider object that provides the media list. - * @param aCommand The command to handle. - */ - IMPORT_C static CGlxCommandHandlerAddToContainer* NewL(MGlxMediaListProvider* aMediaListProvider, - TInt aCommandId, TBool aHasToolbarItem ); + * Two-phase constructor: + * Prefer NewAddToAlbumCommandHandlerL or NewAddToTagsCommandHandlerL + * @param aMediaListProvider object that provides the media list. + * @param aCommand The command to handle. + * @param aFileName resource file + */ + IMPORT_C static CGlxCommandHandlerAddToContainer* NewL( + MGlxMediaListProvider* aMediaListProvider, TInt aCommandId, + TBool aHasToolbarItem, const TDesC& aFileName); /** Destructor */ IMPORT_C ~CGlxCommandHandlerAddToContainer(); @@ -114,9 +131,9 @@ /** * Second phase constructor * @param aCommand The command to handle. + * @param aFileName resource file */ - void ConstructL(TInt aCommandId); - + void ConstructL(TInt aCommandId, const TDesC& aFileName); /** * First phase constructor diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwassign.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwassign.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwassign.h Tue Apr 27 16:37:53 2010 +0300 @@ -41,17 +41,19 @@ { public: /** - * Two-phase constructor - * @param aMediaListProvider object that provides the media list - * @param aMenuResource The menu resource that the AIW command will be - * implented in - * @return Fully constructed command handler - * @warning ConstructL of base class is called. If ConstructL is - * implemented in this class, then care must be taken to call - * CGlxCommandHandlerAiwBase::ConstructL - */ + * Two-phase constructor + * @param aMediaListProvider object that provides the media list + * @param aMenuResource The menu resource that the AIW command will be + * implented in + * @param aFileName resource file + * @return Fully constructed command handler + * @warning ConstructL of base class is called. If ConstructL is + * implemented in this class, then care must be taken to call + * CGlxCommandHandlerAiwBase::ConstructL + */ IMPORT_C static CGlxCommandHandlerAiwAssign* NewL( - MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource); + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName); ~CGlxCommandHandlerAiwAssign(); @@ -77,8 +79,10 @@ */ CGlxCommandHandlerAiwAssign(MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource); - - void ConstructL(); + /** + * @param aFileName resource file + */ + void ConstructL(const TDesC& aFileName); private: // Data Members diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwbase.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwbase.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwbase.h Tue Apr 27 16:37:53 2010 +0300 @@ -74,8 +74,10 @@ CGlxCommandHandlerAiwBase(MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource); - /** Second phase constructor */ - void ConstructL(); + /** Second phase constructor + * @param aFileName resource file + */ + void ConstructL(const TDesC& aFileName); /** * This appends a Uri and/or a mimetype parameter to the InParams list (see Aiw Service Handler) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwedit.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwedit.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwedit.h Tue Apr 27 16:37:53 2010 +0300 @@ -80,7 +80,8 @@ void DoActivateL(TInt aViewId); TBool DoExecuteL( TInt aCommandId , MGlxMediaList& aList); - void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode); private: // Data Members @@ -95,7 +96,9 @@ // Not own CGlxImageViewerManager* iImageViewerInstance; - CFeatureDiscovery* iFeatManager; + //If in fullscreen mode + TBool iIsFullScreenMode; + }; #endif // C_GLXCOMMANDHANDLERAIWEDIT_H diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwprintpreview.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwprintpreview.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwprintpreview.h Tue Apr 27 16:37:53 2010 +0300 @@ -40,17 +40,19 @@ { public: /** - * Two-phase constructor - * @param aMediaListProvider object that provides the media list - * @param aMenuResource The menu resource that the AIW command will be - * implented in - * @return Fully constructed command handler - * @warning ConstructL of base class is called. If ConstructL is - * implemented in this class, then care must be taken to call - * CGlxCommandHandlerAiwBase::ConstructL - */ + * Two-phase constructor + * @param aMediaListProvider object that provides the media list + * @param aMenuResource The menu resource that the AIW command will be + * implented in + * @param aFileName resource file + * @return Fully constructed command handler + * @warning ConstructL of base class is called. If ConstructL is + * implemented in this class, then care must be taken to call + * CGlxCommandHandlerAiwBase::ConstructL + */ IMPORT_C static CGlxCommandHandlerAiwPrintPreview* NewL( - MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource); + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName); void PreDynInitMenuPaneL(TInt aResourceId); protected: // From CGlxMediaListCommandHandler diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwshareonovi.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwshareonovi.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwshareonovi.h Tue Apr 27 16:37:53 2010 +0300 @@ -37,17 +37,19 @@ { public: /** - * Two-phase constructor - * @param aMediaListProvider object that provides the media list - * @param aMenuResource The menu resource that the AIW command will be - * implented in - * @return Fully constructed command handler - * @warning ConstructL of base class is called. If ConstructL is - * implemented in this class, then care must be taken to call - * CGlxCommandHandlerAiwBase::ConstructL - */ - IMPORT_C static CGlxCommandHandlerAiwShareOnOvi* NewL( - MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource); + * Two-phase constructor + * @param aMediaListProvider object that provides the media list + * @param aMenuResource The menu resource that the AIW command will be + * implented in + * @param aFileName resource file + * @return Fully constructed command handler + * @warning ConstructL of base class is called. If ConstructL is + * implemented in this class, then care must be taken to call + * CGlxCommandHandlerAiwBase::ConstructL + */ + IMPORT_C static CGlxCommandHandlerAiwShareOnOvi* NewL( + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName); protected: // From CGlxMediaListCommandHandler /** diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwshowmap.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwshowmap.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwshowmap.h Tue Apr 27 16:37:53 2010 +0300 @@ -42,17 +42,19 @@ { public: /** - * Two-phase constructor - * @param aMediaListProvider object that provides the media list - * @param aMenuResource The menu resource that the AIW command will be - * implented in - * @return Fully constructed command handler - * @warning ConstructL of base class is called. If ConstructL is - * implemented in this class, then care must be taken to call - * CGlxCommandHandlerAiwBase::ConstructL - */ + * Two-phase constructor + * @param aMediaListProvider object that provides the media list + * @param aMenuResource The menu resource that the AIW command will be + * implented in + * @param aFileName resource file + * @return Fully constructed command handler + * @warning ConstructL of base class is called. If ConstructL is + * implemented in this class, then care must be taken to call + * CGlxCommandHandlerAiwBase::ConstructL + */ IMPORT_C static CGlxCommandHandlerAiwShowMap* NewL( - MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource); + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName); /** * Perform any actions needed before the options menu is displayed. diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerback.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerback.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerback.h Tue Apr 27 16:37:53 2010 +0300 @@ -119,8 +119,10 @@ * Modify a menu before it is displayed. * @param aResourceId The resource ID of the menu * @param aMenuPane The in-memory representation of the menu pane + * @param aIsBrowseMode ETrue if in grid view */ - void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode); /** * Called when the owning view is activated diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlercopyandmove.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlercopyandmove.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlercopyandmove.h Tue Apr 27 16:37:53 2010 +0300 @@ -40,9 +40,11 @@ public: /** - * Two-phase constructor: - */ - IMPORT_C static CGlxCommandHandlerCopyAndMove* NewL(MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource); + * Two-phase constructor: + */ + IMPORT_C static CGlxCommandHandlerCopyAndMove* NewL( + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName); /** Destructor */ IMPORT_C ~CGlxCommandHandlerCopyAndMove(); @@ -57,8 +59,10 @@ void DoDynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); private: - /** Second phase constructor */ - void ConstructL(); + /** Second phase constructor + * @param aResourceFile resource file + */ + void ConstructL(const TDesC& aFileName); /** First phase constructor */ CGlxCommandHandlerCopyAndMove(MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdelete.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdelete.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdelete.h Tue Apr 27 16:37:53 2010 +0300 @@ -40,18 +40,20 @@ { public: /** - * Two-phase constructor - * @param aMediaListProvider object that provides the media list - * @param aIsContainerList If ETrue, shows "delete container" - * confirmation notes and does not allow - * deleting system items - * If EFalse, shows "delete item" - * confirmation notes and does not check - * for system items - */ + * Two-phase constructor + * @param aMediaListProvider object that provides the media list + * @param aIsContainerList If ETrue, shows "delete container" + * confirmation notes and does not allow + * deleting system items + * If EFalse, shows "delete item" + * confirmation notes and does not check + * for system items + * @param aFileName resource file + */ IMPORT_C static CGlxCommandHandlerDelete* NewL( - MGlxMediaListProvider* aMediaListProvider, TBool aIsContainerList, TBool aHasToolbarItem); - + MGlxMediaListProvider* aMediaListProvider, TBool aIsContainerList, + TBool aHasToolbarItem, const TDesC& aFileName); + /** Destructor */ IMPORT_C ~CGlxCommandHandlerDelete(); @@ -79,7 +81,7 @@ private: /** Second phase constructor */ - void ConstructL(TBool aIsContainerList); + void ConstructL(TBool aIsContainerList, const TDesC& aFileName); /** Constructor */ CGlxCommandHandlerDelete(MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdetails.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdetails.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdetails.h Tue Apr 27 16:37:53 2010 +0300 @@ -35,32 +35,34 @@ : public CGlxMediaListCommandHandler { public: - /** - * Create command handler for launcing Metadata view or Tag manager - * use above method for creating command handler - * - * @param aCommandId Command id for command handler - * @param aMediaListProvider media list owner - */ - IMPORT_C static CGlxCommandHandlerDetails* NewL( - MGlxMediaListProvider* aMediaListProvider ); - - /** Destructor */ - IMPORT_C ~CGlxCommandHandlerDetails(); + /** + * Create command handler for launcing Metadata view or Tag manager + * use above method for creating command handler + * + * @param aCommandId Command id for command handler + * @param aMediaListProvider media list owner + * @param aFileName resource file + */ + IMPORT_C static CGlxCommandHandlerDetails* NewL( + MGlxMediaListProvider* aMediaListProvider, const TDesC& aFileName); + + /** Destructor */ + IMPORT_C ~CGlxCommandHandlerDetails(); private: - - /** Second phase constructor - * - * @param aCommandId Command id for command handler - */ - void ConstructL(); - - /** - * Constructor - * @param aMediaListProvider The owner of the media list to use - */ - CGlxCommandHandlerDetails( MGlxMediaListProvider* aMediaListProvider ); + + /** Second phase constructor + * + * @param aCommandId Command id for command handler + * @param aFileName resource file + */ + void ConstructL(const TDesC& aFileName); + + /** + * Constructor + * @param aMediaListProvider The owner of the media list to use + */ + CGlxCommandHandlerDetails(MGlxMediaListProvider* aMediaListProvider); private: // From CGlxMediaListCommandHandler diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdownload.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdownload.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdownload.h Tue Apr 27 16:37:53 2010 +0300 @@ -81,9 +81,11 @@ * Null implementation * @param aResourceId The resource ID of the menu * @param aMenuPane The in-memory representation of the menu pane + * @param aIsBrowseMode ETrue if in grid view * see @ref MGlxCommandHandler::DynInitMenuPaneL */ - void DynInitMenuPaneL(TInt /*aResourceId*/, CEikMenuPane* /*aMenuPane*/) {}; + void DynInitMenuPaneL(TInt /*aResourceId*/, CEikMenuPane* /*aMenuPane*/, + TBool /*aIsBrowseMode*/) {}; /** * Called when the owning view is activated diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerfilterimagesorvideos.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerfilterimagesorvideos.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerfilterimagesorvideos.h Tue Apr 27 16:37:53 2010 +0300 @@ -70,7 +70,8 @@ private: // From CGlxMediaListCommandHandler /// @ref CGlxMediaListCommandHandler - void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode ); /// @ref CGlxMediaListCommandHandler void DoActivateL( TInt aViewId ); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerhelp.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerhelp.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerhelp.h Tue Apr 27 16:37:53 2010 +0300 @@ -96,7 +96,8 @@ TBool ExecuteL(TInt aCommandId); /** see @ref MGlxCommandHandler::DynInitMenuPaneL */ - void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode); /** see @ref MGlxCommandHandler::OfferKeyEventL */ TKeyResponse OfferKeyEventL(const TKeyEvent& /*aKeyEvent*/, diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerhideui.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerhideui.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerhideui.h Tue Apr 27 16:37:53 2010 +0300 @@ -51,7 +51,8 @@ public: // From CGlxCommandHandler virtual TBool ExecuteL(TInt aCommand); - virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode); virtual void DoActivateL(TInt aViewId); virtual void Deactivate(); virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlernewmedia.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlernewmedia.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlernewmedia.h Tue Apr 27 16:37:53 2010 +0300 @@ -39,10 +39,12 @@ { public: /** - * Two-phase constructor: - * @param aMediaListProvider object that provides the media list. - */ - IMPORT_C static CGlxCommandHandlerNewMedia* NewL(MGlxMediaListProvider* aMediaListProvider); + * Two-phase constructor: + * @param aMediaListProvider object that provides the media list. + * @param aFileName resource file + */ + IMPORT_C static CGlxCommandHandlerNewMedia* NewL( + MGlxMediaListProvider* aMediaListProvider, const TDesC& aFileName); /** Destructor */ IMPORT_C ~CGlxCommandHandlerNewMedia(); @@ -78,7 +80,7 @@ private: /** Second phase constructor */ - void ConstructL(); + void ConstructL(const TDesC& aFileName); /** * First phase constructor diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerremovefrom.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerremovefrom.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerremovefrom.h Tue Apr 27 16:37:53 2010 +0300 @@ -40,15 +40,17 @@ { public: /** - * Two-phase constructor - * @param aMediaListProvider object that provides the media list - * @param aContainerType specifies the container type. (Used to determine - * the correct confirmation note.) Only confirmation notes for EMPXAlbum - * and EMPXTag are supported. A confirmation note will not be displayed for - * unsupported types. - */ + * Two-phase constructor + * @param aMediaListProvider object that provides the media list + * @param aContainerType specifies the container type. (Used to determine + * the correct confirmation note.) Only confirmation notes for EMPXAlbum + * and EMPXTag are supported. A confirmation note will not be displayed for + * unsupported types. + * @param aFileName resource file + */ IMPORT_C static CGlxCommandHandlerRemoveFrom* NewL( - MGlxMediaListProvider* aMediaListProvider, TMPXGeneralCategory aContainerType); + MGlxMediaListProvider* aMediaListProvider, + TMPXGeneralCategory aContainerType, const TDesC& aFileName); /** Destructor */ IMPORT_C ~CGlxCommandHandlerRemoveFrom(); @@ -79,7 +81,7 @@ private: /** Second phase constructor */ - void ConstructL(); + void ConstructL(const TDesC& aFileName); /** Constructor */ CGlxCommandHandlerRemoveFrom(MGlxMediaListProvider* aMediaListProvider, TMPXGeneralCategory aContainerType); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerrename.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerrename.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerrename.h Tue Apr 27 16:37:53 2010 +0300 @@ -41,12 +41,14 @@ { public: /** - * Two-phase constructor - * @param aMediaListProvider object that provides the media list - * @param aHasToolbarItem Whether Command Should be toolbar item (ETrue - if toolbar item) - */ + * Two-phase constructor + * @param aMediaListProvider object that provides the media list + * @param aHasToolbarItem Whether Command Should be toolbar item (ETrue - if toolbar item) + * @param aFileName resource file + */ IMPORT_C static CGlxCommandHandlerRename* NewL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem ); + MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem, + const TDesC& aFileName); /** Destructor */ IMPORT_C ~CGlxCommandHandlerRename(); @@ -75,7 +77,7 @@ private: /** Second phase constructor */ - void ConstructL(); + void ConstructL(const TDesC& aFileName); /** * Constructor diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersave.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersave.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersave.h Tue Apr 27 16:37:53 2010 +0300 @@ -55,7 +55,8 @@ * @param aResourceId The resource ID of the menu * @param aMenuPane The in-memory representation of the menu pane */ - void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode); /** * Called when the owning view is activated diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersend.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersend.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersend.h Tue Apr 27 16:37:53 2010 +0300 @@ -51,13 +51,15 @@ { public: // Constructors and destructor /** - * Two-phased constructor. - * @param aMediaListProvider pointer to media list owner - * @param aHasToolbarItem Whether Command Should be toolbar item (ETrue - if toolbar item) - * @return pointer to CGlxCommandHandlerSend object - */ - IMPORT_C static CGlxCommandHandlerSend* NewL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem ); + * Two-phased constructor. + * @param aMediaListProvider pointer to media list owner + * @param aHasToolbarItem Whether Command Should be toolbar item (ETrue - if toolbar item) + * @param aFileName resource file + * @return pointer to CGlxCommandHandlerSend object + */ + IMPORT_C static CGlxCommandHandlerSend* NewL( + MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem, + const TDesC& aFileName); /** * Destructor. @@ -73,9 +75,9 @@ private: /** - * Symbian 2nd phase constructor - */ - void ConstructL(); + * Symbian 2nd phase constructor + */ + void ConstructL(const TDesC& aFileName); /** * C++ default constructor. @@ -157,11 +159,10 @@ TInt aOldIndex, MGlxMediaList* aList); /** - * not implemented * @ref MGlxMediaListObserver::HandleItemSelectedL */ - void HandleItemSelectedL(TInt /*aIndex*/, TBool /*aSelected*/, - MGlxMediaList* /*aList*/){}; + void HandleItemSelectedL(TInt aIndex, TBool aSelected, + MGlxMediaList* aList); /** * not implemented @@ -190,9 +191,10 @@ void SendSelectedItemsL(); /** - * Load the resource file - */ - void LoadRscFileL(); + * Load the resource file + * @param aFileName resource file + */ + void LoadRscFileL(const TDesC& aFileName); /** * Return the static capabilities for sending a media item diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerslideshow.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerslideshow.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerslideshow.h Tue Apr 27 16:37:53 2010 +0300 @@ -44,16 +44,18 @@ public MGlxMediaListObserver { public: - /** - * Two-phase constructor - * @param aMediaListProvider object that provides the media list - * @param aStepBack EFalse if the command handler should not change - * the path's level. E.g. this may depend on whether the view's media - * list contains media items or if it is a "list of lists" - * @param aHasToolbarItem Whether Command Should be toolbar item (ETrue - if toolbar item) - */ + /** + * Two-phase constructor + * @param aMediaListProvider object that provides the media list + * @param aStepBack EFalse if the command handler should not change + * the path's level. E.g. this may depend on whether the view's media + * list contains media items or if it is a "list of lists" + * @param aHasToolbarItem Whether Command Should be toolbar item (ETrue - if toolbar item) + * @param aFileName resource file + */ IMPORT_C static CGlxCommandHandlerSlideshow* NewL( - MGlxMediaListProvider* aMediaListProvider, TBool aStepBack, TBool aHasToolbarItem ); + MGlxMediaListProvider* aMediaListProvider, TBool aStepBack, + TBool aHasToolbarItem, const TDesC& aFileName); /** Destructor */ IMPORT_C ~CGlxCommandHandlerSlideshow(); @@ -88,7 +90,7 @@ private: /** Second phase constructor */ - void ConstructL(); + void ConstructL(const TDesC& aFileName); /** Constructor */ CGlxCommandHandlerSlideshow(MGlxMediaListProvider* aMediaListProvider, diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -56,82 +56,89 @@ // Return add to album command handler // --------------------------------------------------------------------------- // -EXPORT_C CGlxCommandHandlerAddToContainer* - CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem) - { - TRACER("CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL"); - return CGlxCommandHandlerAddToContainer::NewL (aMediaListProvider, - EGlxCmdAddToAlbum, aHasToolbarItem); - } +EXPORT_C CGlxCommandHandlerAddToContainer* +CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem, + const TDesC& aFileName) + { + TRACER("CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL"); + return CGlxCommandHandlerAddToContainer::NewL(aMediaListProvider, + EGlxCmdAddToAlbum, aHasToolbarItem, aFileName); + } // --------------------------------------------------------------------------- // Return add to album command handler for singleclick options menu // --------------------------------------------------------------------------- // -EXPORT_C CGlxCommandHandlerAddToContainer* - CGlxCommandHandlerAddToContainer::NewAddToAlbumSingleClickCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem) - { - return CGlxCommandHandlerAddToContainer::NewL (aMediaListProvider, - EGlxCmdSingleClickAddToAlbum, aHasToolbarItem); - } +EXPORT_C CGlxCommandHandlerAddToContainer* +CGlxCommandHandlerAddToContainer::NewAddToAlbumSingleClickCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem, + const TDesC& aFileName) + { + return CGlxCommandHandlerAddToContainer::NewL(aMediaListProvider, + EGlxCmdSingleClickAddToAlbum, aHasToolbarItem, aFileName); + } // --------------------------------------------------------------------------- // Return add (to) tags command handler // --------------------------------------------------------------------------- // -EXPORT_C CGlxCommandHandlerAddToContainer* - CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem) - { - TRACER("CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL"); - return CGlxCommandHandlerAddToContainer::NewL(aMediaListProvider, - EGlxCmdAddTag, aHasToolbarItem); - } +EXPORT_C CGlxCommandHandlerAddToContainer* +CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem, + const TDesC& aFileName) + { + TRACER("CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL"); + return CGlxCommandHandlerAddToContainer::NewL(aMediaListProvider, + EGlxCmdAddTag, aHasToolbarItem, aFileName); + } // --------------------------------------------------------------------------- // Return add (to) tags command handler for singleclick option menu // --------------------------------------------------------------------------- // -EXPORT_C CGlxCommandHandlerAddToContainer* - CGlxCommandHandlerAddToContainer::NewAddToTagSingleClickCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem) - { - return CGlxCommandHandlerAddToContainer::NewL(aMediaListProvider, - EGlxCmdSingleClickAddTag, aHasToolbarItem); - } +EXPORT_C CGlxCommandHandlerAddToContainer* +CGlxCommandHandlerAddToContainer::NewAddToTagSingleClickCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem, + const TDesC& aFileName) + { + return CGlxCommandHandlerAddToContainer::NewL(aMediaListProvider, + EGlxCmdSingleClickAddTag, aHasToolbarItem, aFileName); + } // --------------------------------------------------------------------------- // Return add (to) Favourites command handler // --------------------------------------------------------------------------- // -EXPORT_C CGlxCommandHandlerAddToContainer* - CGlxCommandHandlerAddToContainer::NewAddToFavCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem) - { - TRACER("CGlxCommandHandlerAddToContainer::NewAddToFavCommandHandlerL"); - return CGlxCommandHandlerAddToContainer::NewL(aMediaListProvider, - EGlxCmdAddToFavourites, aHasToolbarItem); - } +EXPORT_C CGlxCommandHandlerAddToContainer* +CGlxCommandHandlerAddToContainer::NewAddToFavCommandHandlerL( + MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem, + const TDesC& aFileName) + { + TRACER("CGlxCommandHandlerAddToContainer::NewAddToFavCommandHandlerL"); + return CGlxCommandHandlerAddToContainer::NewL(aMediaListProvider, + EGlxCmdAddToFavourites, aHasToolbarItem, aFileName); + } // --------------------------------------------------------------------------- // Two-phased constructor. // --------------------------------------------------------------------------- // EXPORT_C CGlxCommandHandlerAddToContainer* CGlxCommandHandlerAddToContainer::NewL( - MGlxMediaListProvider* aMediaListProvider, TInt aCommandId, TBool aHasToolbarItem) - { - TRACER("CGlxCommandHandlerAddToContainer::NewL"); - CGlxCommandHandlerAddToContainer* self = - new ( ELeave ) CGlxCommandHandlerAddToContainer( aMediaListProvider, aHasToolbarItem ); - CleanupStack::PushL( self ); - self->ConstructL( aCommandId ); - CleanupStack::Pop( self ); - return self; - } + MGlxMediaListProvider* aMediaListProvider, TInt aCommandId, + TBool aHasToolbarItem, const TDesC& aFileName) + { + TRACER("CGlxCommandHandlerAddToContainer::NewL"); + CGlxCommandHandlerAddToContainer* self = + new (ELeave) CGlxCommandHandlerAddToContainer(aMediaListProvider, + aHasToolbarItem); + CleanupStack::PushL(self); + self->ConstructL(aCommandId, aFileName); + CleanupStack::Pop(self); + return self; + } // --------------------------------------------------------------------------- // Constructor @@ -148,28 +155,24 @@ // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void CGlxCommandHandlerAddToContainer::ConstructL(TInt aCommandId) - { - TRACER("CGlxCommandHandlerAddToContainer::ConstructL"); - // Load resource - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile; - resourceFile.Append(parse.FullName()); - CGlxResourceUtilities::GetResourceFilenameL(resourceFile); - iResourceOffset = CCoeEnv::Static()->AddResourceFileL(resourceFile); +void CGlxCommandHandlerAddToContainer::ConstructL(TInt aCommandId, + const TDesC& aFileName) + { + TRACER("CGlxCommandHandlerAddToContainer::ConstructL"); + // Load resource + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(aFileName); // Reset the Flag inorder to allow for a new selection pop-up to be created. - iIsProcessOngoing = EFalse; - // Add supported command - TCommandInfo info(aCommandId); - - // Filter out static items - user must have selected at least one item to - // enable the command handler - const TInt KGlxCommandHandlerMinSelectionAllowSingle = 1; - info.iMinSelectionLength = KGlxCommandHandlerMinSelectionAllowSingle; - - AddCommandL(info); - iCommandId = aCommandId; + iIsProcessOngoing = EFalse; + // Add supported command + TCommandInfo info(aCommandId); + + // Filter out static items - user must have selected at least one item to + // enable the command handler + const TInt KGlxCommandHandlerMinSelectionAllowSingle = 1; + info.iMinSelectionLength = KGlxCommandHandlerMinSelectionAllowSingle; + + AddCommandL(info); + iCommandId = aCommandId; } // --------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwassign.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwassign.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwassign.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -33,6 +33,7 @@ #include #include "glxaiwservicehandler.h" #include +#include // for CGlxImageViewerManager const TInt KGlxAiwAssignCommandSpace = 0x00000100; @@ -41,16 +42,18 @@ // ----------------------------------------------------------------------------- // EXPORT_C CGlxCommandHandlerAiwAssign* CGlxCommandHandlerAiwAssign::NewL( - MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource) - { - TRACER("CGlxCommandHandlerAiwAssign* CGlxCommandHandlerAiwAssign::NewL"); - CGlxCommandHandlerAiwAssign* self = new ( ELeave ) - CGlxCommandHandlerAiwAssign(aMediaListProvider, aMenuResource); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName) + { + TRACER("CGlxCommandHandlerAiwAssign* CGlxCommandHandlerAiwAssign::NewL"); + CGlxCommandHandlerAiwAssign* self = + new (ELeave) CGlxCommandHandlerAiwAssign(aMediaListProvider, + aMenuResource); + CleanupStack::PushL(self); + self->ConstructL(aFileName); + CleanupStack::Pop(self); + return self; + } // ----------------------------------------------------------------------------- // Constructor @@ -68,13 +71,13 @@ delete iFeatManager; } -void CGlxCommandHandlerAiwAssign::ConstructL() - { - //Calling base class implementation - CGlxCommandHandlerAiwBase::ConstructL(); - - iFeatManager = CFeatureDiscovery::NewL(); - } +void CGlxCommandHandlerAiwAssign::ConstructL(const TDesC& aFileName) + { + //Calling base class implementation + CGlxCommandHandlerAiwBase::ConstructL(aFileName); + + iFeatManager = CFeatureDiscovery::NewL(); + } // ----------------------------------------------------------------------------- // CGlxCommandHandlerAiwAssign::DoGetRequiredAttributesL @@ -150,6 +153,7 @@ { TRACER("void CGlxCommandHandlerAiwAssign::AiwDoDynInitMenuPaneL"); TBool fullscreenViewingMode = EFalse; + TBool privateFile = EFalse; CGlxNavigationalState* aNavigationalState = CGlxNavigationalState::InstanceL(); CMPXCollectionPath* naviState = aNavigationalState->StateLC(); @@ -178,6 +182,17 @@ CleanupStack::PopAndDestroy( naviState ); aNavigationalState->Close(); + if (fullscreenViewingMode) + { + CGlxImageViewerManager* viewerInst = + CGlxImageViewerManager::InstanceL(); + if (viewerInst && viewerInst->IsPrivate()) + { + privateFile = ETrue; + } + viewerInst->DeleteInstance(); + } + HBufC* currentTitle = StringLoader::LoadLC( R_QTN_LGAL_OPTIONS_USE_ITEMS ); // get commandId for the current menupane item title TInt cmdId = AiwMenuCmdIdL( *currentTitle,aMenuPane ) ; @@ -188,7 +203,8 @@ { MGlxMediaList& mediaList = MediaList(); - if (mediaList.SelectionCount() == 1 || fullscreenViewingMode ) + if (mediaList.SelectionCount() == 1 || (fullscreenViewingMode + && !privateFile)) { TGlxSelectionIterator iterator; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwbase.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwbase.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwbase.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -53,33 +53,26 @@ // ConstructL // ----------------------------------------------------------------------------- // -void CGlxCommandHandlerAiwBase::ConstructL() - { +void CGlxCommandHandlerAiwBase::ConstructL(const TDesC& aFileName) + { - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile; - resourceFile.Append(parse.FullName()); - CGlxResourceUtilities::GetResourceFilenameL(resourceFile); + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(aFileName); - iResourceOffset = CCoeEnv::Static()->AddResourceFileL(resourceFile); + iAiwServiceHandler = CGlxAiwServiceHandler::InstanceL(); + + iAiwServiceHandler->AttachMenuL(iMenuResource, AiwInterestResource()); - iAiwServiceHandler = CGlxAiwServiceHandler::InstanceL(); - - iAiwServiceHandler->AttachMenuL( iMenuResource, AiwInterestResource() ); + // Add supported command + TCommandInfo info(CommandId()); + // Filter out static items + info.iMinSelectionLength = 1; + info.iMaxSelectionLength = MaxSelectedItems(); + info.iStopAnimationForExecution = ETrue; + info.iCategoryFilter = EMPXCommand; + info.iCategoryRule = TCommandInfo::EForbidAll; + AddCommandL(info); - // Add supported command - TCommandInfo info(CommandId()); - // Filter out static items - info.iMinSelectionLength = 1; - info.iMaxSelectionLength = MaxSelectedItems(); - info.iStopAnimationForExecution = ETrue; - info.iCategoryFilter = EMPXCommand; - info.iCategoryRule = TCommandInfo::EForbidAll; - AddCommandL(info); - - - } + } // ----------------------------------------------------------------------------- // Destructor diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwedit.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwedit.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwedit.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -60,7 +60,6 @@ // EXPORT_C CGlxCommandHandlerAiwEdit::~CGlxCommandHandlerAiwEdit() { - delete iFeatManager; delete iServiceHandler; if (NULL != iImageViewerInstance) @@ -75,12 +74,20 @@ // void CGlxCommandHandlerAiwEdit::ConstructL() { - TRAP_IGNORE( - { - iServiceHandler = CAiwServiceHandler::NewL(); - iServiceHandler->AttachL( R_GLX_AIW_EDIT_INTEREST ); - iEditSupported = ETrue; - }); + CFeatureDiscovery* featManager = CFeatureDiscovery::NewL(); + CleanupStack::PushL(featManager); + + if(featManager->IsFeatureSupportedL(KFeatureIdFfImageEditor) + && featManager->IsFeatureSupportedL(KFeatureIdFfVideoEditor)) + { + TRAP_IGNORE( + { + iServiceHandler = CAiwServiceHandler::NewL(); + iServiceHandler->AttachL( R_GLX_AIW_EDIT_INTEREST ); + iEditSupported = ETrue; + }); + } + CleanupStack::PopAndDestroy(featManager); if (iCommandSingleClick) { @@ -93,8 +100,9 @@ AddCommandL(info); } - iImageViewerInstance = CGlxImageViewerManager::InstanceL(); - iFeatManager = CFeatureDiscovery::NewL(); + iImageViewerInstance = CGlxImageViewerManager::InstanceL(); + + iIsFullScreenMode = IsInFullScreenViewingModeL(); } // ----------------------------------------------------------------------------- @@ -123,22 +131,19 @@ // ----------------------------------------------------------------------------- // void CGlxCommandHandlerAiwEdit::DynInitMenuPaneL(TInt /*aResourceId*/, - CEikMenuPane* aMenuPane) + CEikMenuPane* aMenuPane, TBool /*aIsBrowseMode*/) { - MGlxMediaList& mediaList = MediaList(); - TInt pos; if (aMenuPane) { + MGlxMediaList& mediaList = MediaList(); + TInt pos; //If stylus menu is present, hide it for multiple selection if (iCommandSingleClick && aMenuPane->MenuItemExists( EGlxCmdAiwSingleClickEdit, pos) && (((!mediaList.Count()) || (mediaList.SelectionCount() > 1)) - || (!iFeatManager->IsFeatureSupportedL( - KFeatureIdFfImageEditor) - && !iFeatManager->IsFeatureSupportedL( - KFeatureIdFfVideoEditor)))) + || !iEditSupported)) { aMenuPane->SetItemDimmed(EGlxCmdAiwSingleClickEdit, ETrue); } @@ -149,11 +154,8 @@ // selection is not equal to 1, we should hide Edit menu item if ((iImageViewerInstance->IsPrivate() || (mediaList.SelectionCount() != 1 - && !IsInFullScreenViewingModeL())) - || (!iFeatManager->IsFeatureSupportedL( - KFeatureIdFfImageEditor) - && !iFeatManager->IsFeatureSupportedL( - KFeatureIdFfVideoEditor))) + && !iIsFullScreenMode)) + || !iEditSupported) { aMenuPane->SetItemDimmed(EGlxCmdAiwEdit, ETrue); } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwprintpreview.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwprintpreview.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwprintpreview.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -37,17 +37,19 @@ // NewL // ----------------------------------------------------------------------------- // -EXPORT_C CGlxCommandHandlerAiwPrintPreview* - CGlxCommandHandlerAiwPrintPreview::NewL( - MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource) - { - CGlxCommandHandlerAiwPrintPreview* self = new ( ELeave ) - CGlxCommandHandlerAiwPrintPreview(aMediaListProvider, aMenuResource); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } +EXPORT_C CGlxCommandHandlerAiwPrintPreview* +CGlxCommandHandlerAiwPrintPreview::NewL( + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName) + { + CGlxCommandHandlerAiwPrintPreview* self = + new (ELeave) CGlxCommandHandlerAiwPrintPreview(aMediaListProvider, + aMenuResource); + CleanupStack::PushL(self); + self->ConstructL(aFileName); + CleanupStack::Pop(self); + return self; + } // ----------------------------------------------------------------------------- // CGlxCommandHandlerAiwPrintPreview::DoGetRequiredAttributesL diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwshareonovi.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwshareonovi.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwshareonovi.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -34,15 +34,17 @@ // ----------------------------------------------------------------------------- // EXPORT_C CGlxCommandHandlerAiwShareOnOvi* CGlxCommandHandlerAiwShareOnOvi::NewL( - MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource) - { - CGlxCommandHandlerAiwShareOnOvi* self = new ( ELeave ) - CGlxCommandHandlerAiwShareOnOvi(aMediaListProvider, aMenuResource); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName) + { + CGlxCommandHandlerAiwShareOnOvi* self = + new (ELeave) CGlxCommandHandlerAiwShareOnOvi(aMediaListProvider, + aMenuResource); + CleanupStack::PushL(self); + self->ConstructL(aFileName); + CleanupStack::Pop(self); + return self; + } // ----------------------------------------------------------------------------- // CGlxCommandHandlerAiwShareOnOvi::DoGetRequiredAttributesL diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwshowmap.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwshowmap.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwshowmap.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -47,16 +47,18 @@ // ----------------------------------------------------------------------------- // EXPORT_C CGlxCommandHandlerAiwShowMap* CGlxCommandHandlerAiwShowMap::NewL( - MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource ) - { - TRACER("CGlxCommandHandlerAiwShowMap::NewL"); - CGlxCommandHandlerAiwShowMap* self = new ( ELeave ) - CGlxCommandHandlerAiwShowMap( aMediaListProvider, aMenuResource ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName) + { + TRACER("CGlxCommandHandlerAiwShowMap::NewL"); + CGlxCommandHandlerAiwShowMap* self = + new (ELeave) CGlxCommandHandlerAiwShowMap(aMediaListProvider, + aMenuResource); + CleanupStack::PushL(self); + self->ConstructL(aFileName); + CleanupStack::Pop(self); + return self; + } // ----------------------------------------------------------------------------- // Destructor diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwshowonmaphardkey.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwshowonmaphardkey.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwshowonmaphardkey.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -110,50 +110,10 @@ TBool CGlxCommandHandlerAiwShowMapHardKey::DoExecuteL (TInt /*aCommandId*/, MGlxMediaList& aList) { TRACER("CGlxCommandHandlerAiwShowMapHardKey::DoExecuteL"); - TBool handled = EFalse; - TCoordinate coordinate; - TInt focusIndex = aList.FocusIndex(); - const TGlxMedia& item = aList.Item(focusIndex); - - if(item.GetCoordinate(coordinate)) - { - CPosLandmark* lmk = CPosLandmark::NewLC(); - TLocality locality; - HBufC8* lmBuf; - - //set location - locality.SetCoordinate( coordinate.Latitude(), coordinate.Longitude(), - coordinate.Altitude() ); - - lmk->SetPositionL(locality); - - //set in parameters - iInList->Reset(); - lmBuf =PosLandmarkSerialization::PackL( *lmk ); - CleanupStack::PushL( lmBuf ); - TAiwGenericParam param( EGenericParamLandmark, TAiwVariant( *lmBuf ) ); - iInList->AppendL( param ); - TMnAiwCommonOptionsParam options; - options.iRunChained = EFalse; - TPckg optionsPack( options ); - TAiwGenericParam optParam( EGenericParamMnCommonOptions, TAiwVariant( optionsPack ) ); - iInList->AppendL( optParam ); - - iAiwServiceHandler->ExecuteServiceCmdL( KAiwCmdMnShowMap, *iInList, *iOutList, 0); - - CleanupStack::PopAndDestroy( lmBuf); - CleanupStack::PopAndDestroy( lmk); - handled = ETrue; - } - else - { - // if location info not present then display note to put on camera settings - HBufC* popupText = StringLoader::LoadLC( - R_GLX_POPUP_NO_LOCATION_INFO); - GlxGeneralUiUtilities::ShowInfoNoteL( popupText->Des(), EFalse ); - CleanupStack::PopAndDestroy( popupText ); - } - return handled; + + // Show on Map Hard key is not there in 9.2. + // if need arises this can be readded from synergy: v7 of this file and older. + return EFalse; } // ---------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -284,7 +284,8 @@ // ----------------------------------------------------------------------------- // void CGlxCommandHandlerBack::DynInitMenuPaneL(TInt /*aResourceId*/, - CEikMenuPane* /*aMenuPane*/) + CEikMenuPane* /*aMenuPane*/, + TBool /*aIsBrowseMode*/) { // Do Nothing } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlercopyandmove.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlercopyandmove.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlercopyandmove.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -45,14 +45,18 @@ // Two-phased constructor. // --------------------------------------------------------------------------- // -EXPORT_C CGlxCommandHandlerCopyAndMove* CGlxCommandHandlerCopyAndMove::NewL(MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource) - { - CGlxCommandHandlerCopyAndMove* self = new (ELeave) CGlxCommandHandlerCopyAndMove(aMediaListProvider, aMenuResource); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } +EXPORT_C CGlxCommandHandlerCopyAndMove* CGlxCommandHandlerCopyAndMove::NewL( + MGlxMediaListProvider* aMediaListProvider, TInt aMenuResource, + const TDesC& aFileName) + { + CGlxCommandHandlerCopyAndMove* self = + new (ELeave) CGlxCommandHandlerCopyAndMove(aMediaListProvider, + aMenuResource); + CleanupStack::PushL(self); + self->ConstructL(aFileName); + CleanupStack::Pop(self); + return self; + } // --------------------------------------------------------------------------- // Destructor. @@ -147,51 +151,46 @@ // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void CGlxCommandHandlerCopyAndMove::ConstructL() - { - // Load resource file - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile; - resourceFile.Append(parse.FullName()); - CGlxResourceUtilities::GetResourceFilenameL(resourceFile); +void CGlxCommandHandlerCopyAndMove::ConstructL(const TDesC& aFileName) + { + // Load resource file + + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(aFileName); - iResourceOffset = CCoeEnv::Static()->AddResourceFileL(resourceFile); + // Add supported command + TCommandInfo copyInfo(EGlxCmdCopy); + copyInfo.iMinSelectionLength = 1; + copyInfo.iMaxSelectionLength = KMaxTInt; + // Filter out static items + AddCommandL(copyInfo); + + TCommandInfo moveInfo(EGlxCmdMove); + moveInfo.iMinSelectionLength = 1; + moveInfo.iMaxSelectionLength = KMaxTInt; + // Filter out static items + AddCommandL(moveInfo); - // Add supported command - TCommandInfo copyInfo(EGlxCmdCopy); - copyInfo.iMinSelectionLength = 1; - copyInfo.iMaxSelectionLength = KMaxTInt; - // Filter out static items - AddCommandL(copyInfo); - - TCommandInfo moveInfo(EGlxCmdMove); - moveInfo.iMinSelectionLength = 1; - moveInfo.iMaxSelectionLength = KMaxTInt; - // Filter out static items - AddCommandL(moveInfo); - - TCommandInfo copyAndMoveSubmenuInfo(EGlxCmdCopyMoveSubmenu); - copyAndMoveSubmenuInfo.iMinSelectionLength = 1; - copyAndMoveSubmenuInfo.iMaxSelectionLength = KMaxTInt; - // Show in Grid View - copyAndMoveSubmenuInfo.iViewingState = TCommandInfo::EViewingStateBrowse; - // Filter out static items - // (The whole sub menu should be filtered out if a static item is selected) - AddCommandL(copyAndMoveSubmenuInfo); - - TCommandInfo browseInfo(EGlxCmdStateBrowse); - browseInfo.iMinSelectionLength = 0; - browseInfo.iMaxSelectionLength = KMaxTInt; - // Filter out static items - AddCommandL(browseInfo); - - TCommandInfo viewInfo(EGlxCmdStateView); - viewInfo.iMinSelectionLength = 0; - viewInfo.iMaxSelectionLength = KMaxTInt; - // Filter out static items - AddCommandL(viewInfo); - } + TCommandInfo copyAndMoveSubmenuInfo(EGlxCmdCopyMoveSubmenu); + copyAndMoveSubmenuInfo.iMinSelectionLength = 1; + copyAndMoveSubmenuInfo.iMaxSelectionLength = KMaxTInt; + // Show in Grid View + copyAndMoveSubmenuInfo.iViewingState = TCommandInfo::EViewingStateBrowse; + // Filter out static items + // (The whole sub menu should be filtered out if a static item is selected) + AddCommandL(copyAndMoveSubmenuInfo); + + TCommandInfo browseInfo(EGlxCmdStateBrowse); + browseInfo.iMinSelectionLength = 0; + browseInfo.iMaxSelectionLength = KMaxTInt; + // Filter out static items + AddCommandL(browseInfo); + + TCommandInfo viewInfo(EGlxCmdStateView); + viewInfo.iMinSelectionLength = 0; + viewInfo.iMaxSelectionLength = KMaxTInt; + // Filter out static items + AddCommandL(viewInfo); + } // --------------------------------------------------------------------------- // C++ default constructor can NOT contain any code, that diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdelete.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdelete.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdelete.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -45,15 +45,17 @@ // --------------------------------------------------------------------------- // EXPORT_C CGlxCommandHandlerDelete* CGlxCommandHandlerDelete::NewL( - MGlxMediaListProvider* aMediaListProvider, TBool aContainerList, TBool aHasToolbarItem) - { - /// @todo Minor: Rowland Cook 06/06/07 no use of glx logging - CGlxCommandHandlerDelete* self = new (ELeave) CGlxCommandHandlerDelete(aMediaListProvider, aHasToolbarItem); - CleanupStack::PushL( self ); - self->ConstructL(aContainerList); - CleanupStack::Pop( self ); - return self; - } + MGlxMediaListProvider* aMediaListProvider, TBool aContainerList, + TBool aHasToolbarItem, const TDesC& aFileName) + { + /// @todo Minor: Rowland Cook 06/06/07 no use of glx logging + CGlxCommandHandlerDelete* self = new (ELeave) CGlxCommandHandlerDelete( + aMediaListProvider, aHasToolbarItem); + CleanupStack::PushL(self); + self->ConstructL(aContainerList, aFileName); + CleanupStack::Pop(self); + return self; + } // --------------------------------------------------------------------------- // C++ default constructor can NOT contain any code, that @@ -66,34 +68,32 @@ // Don't do anything. } + + // --------------------------------------------------------------------------- // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void CGlxCommandHandlerDelete::ConstructL(TBool aIsContainerList) - { - iIsContainerList = aIsContainerList; - iUiUtility = CGlxUiUtility::UtilityL(); - - // Load resource file - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile; - resourceFile.Append(parse.FullName()); - CGlxResourceUtilities::GetResourceFilenameL(resourceFile); - iResourceOffset = CCoeEnv::Static()->AddResourceFileL(resourceFile); +void CGlxCommandHandlerDelete::ConstructL(TBool aIsContainerList, + const TDesC& aFileName) + { + iIsContainerList = aIsContainerList; + iUiUtility = CGlxUiUtility::UtilityL(); + + // Load resource file + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(aFileName); - // Add supported command - TCommandInfo info( EGlxCmdDelete ); - // Filter out static items - info.iMinSelectionLength = 1; - info.iDisallowSystemItems = aIsContainerList; - AddCommandL(info); - - TCommandInfo singleclkinfo( EGlxCmdSingleClickDelete ); - singleclkinfo.iMinSelectionLength = 1; - singleclkinfo.iDisallowSystemItems = aIsContainerList; - AddCommandL(singleclkinfo); + // Add supported command + TCommandInfo info(EGlxCmdDelete); + // Filter out static items + info.iMinSelectionLength = 1; + info.iDisallowSystemItems = aIsContainerList; + AddCommandL(info); + + TCommandInfo singleclkinfo(EGlxCmdSingleClickDelete); + singleclkinfo.iMinSelectionLength = 1; + singleclkinfo.iDisallowSystemItems = aIsContainerList; + AddCommandL(singleclkinfo); } // --------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdetails.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdetails.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdetails.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -58,13 +58,14 @@ // Two-phased constructor. // --------------------------------------------------------------------------- // -EXPORT_C CGlxCommandHandlerDetails* - CGlxCommandHandlerDetails::NewL( - MGlxMediaListProvider* aMediaListProvider ) +EXPORT_C CGlxCommandHandlerDetails* +CGlxCommandHandlerDetails::NewL(MGlxMediaListProvider* aMediaListProvider, + const TDesC& aFileName) { - CGlxCommandHandlerDetails* self = new (ELeave) CGlxCommandHandlerDetails(aMediaListProvider); + CGlxCommandHandlerDetails* self = new (ELeave) CGlxCommandHandlerDetails( + aMediaListProvider); CleanupStack::PushL(self); - self->ConstructL(); + self->ConstructL(aFileName); CleanupStack::Pop(self); return self; } @@ -80,50 +81,45 @@ //Do nothing } + + // --------------------------------------------------------------------------- // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void CGlxCommandHandlerDetails::ConstructL() +void CGlxCommandHandlerDetails::ConstructL(const TDesC& aFileName) { - // Load resource file - GLX_FUNC("GLX_Property::ConstructL"); - - // register property command in command handler - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile; - resourceFile.Append(parse.FullName()); + // Load resource file + GLX_FUNC("GLX_Property::ConstructL"); - CGlxResourceUtilities::GetResourceFilenameL(resourceFile); - iResourceOffset = CCoeEnv::Static()->AddResourceFileL(resourceFile); - + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(aFileName); + // register property command in command handler - TCommandInfo infoProp(EGlxCmdDetails); - // Filter out static items and only allows one item to select - infoProp.iMinSelectionLength = 1; - infoProp.iMaxSelectionLength = 1; - //Allow DRM - infoProp.iDisallowDRM = EFalse; - //Allow system items - infoProp.iDisallowSystemItems= EFalse; - //Allow animation - infoProp.iStopAnimationForExecution = EFalse; - //no category filter - infoProp.iCategoryFilter = EMPXNoCategory; - AddCommandL(infoProp); - - TCommandInfo infoSubMenu(EGlxCmdDetailsOption); - infoSubMenu.iViewingState = TCommandInfo::EViewingStateBrowse; - - // register for the reset view command so that we can - // dismiss the dialog if it is being shown when we are activated - // from SpaceUI - TCommandInfo resetViewCmd( EGlxCmdResetView ); - AddCommandL( resetViewCmd ); - - // get pointer to HUI utility - iUiUtility = CGlxUiUtility::UtilityL(); + TCommandInfo infoProp(EGlxCmdDetails); + // Filter out static items and only allows one item to select + infoProp.iMinSelectionLength = 1; + infoProp.iMaxSelectionLength = 1; + //Allow DRM + infoProp.iDisallowDRM = EFalse; + //Allow system items + infoProp.iDisallowSystemItems = EFalse; + //Allow animation + infoProp.iStopAnimationForExecution = EFalse; + //no category filter + infoProp.iCategoryFilter = EMPXNoCategory; + AddCommandL(infoProp); + + TCommandInfo infoSubMenu(EGlxCmdDetailsOption); + infoSubMenu.iViewingState = TCommandInfo::EViewingStateBrowse; + + // register for the reset view command so that we can + // dismiss the dialog if it is being shown when we are activated + // from SpaceUI + TCommandInfo resetViewCmd(EGlxCmdResetView); + AddCommandL(resetViewCmd); + + // get pointer to HUI utility + iUiUtility = CGlxUiUtility::UtilityL(); } // --------------------------------------------------------------------------- @@ -177,6 +173,8 @@ // context off the list CleanupStack::PopAndDestroy( &contextRemover ); + iAvkonAppUi->ProcessCommandL(EGlxCmdDialogLaunched); + if ( err == KErrNone ) { TInt focusIndex = aList.FocusIndex(); @@ -225,6 +223,9 @@ } } CleanupStack::PopAndDestroy( attrContext ); + + iAvkonAppUi->ProcessCommandL(EGlxCmdResetView); + consume = ETrue; break; }// contextRemover goes out of scope and removes the context from media list diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerfilterimagesorvideos.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerfilterimagesorvideos.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerfilterimagesorvideos.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -111,7 +111,7 @@ // DynInitMenuPaneL // ----------------------------------------------------------------------------- void CGlxCommandHandlerFilterImagesOrVideos::DynInitMenuPaneL( - TInt /*aResourceId*/, CEikMenuPane* aMenuPane ) + TInt /*aResourceId*/, CEikMenuPane* aMenuPane, TBool /*aIsBrowseMode*/ ) { if( iInFullScreen ) { diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerhelp.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerhelp.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerhelp.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -135,7 +135,8 @@ // --------------------------------------------------------------------------- // void CGlxCommandHandlerHelp::DynInitMenuPaneL(TInt /*aResourceId*/, - CEikMenuPane* /*aMenuPane*/) + CEikMenuPane* /*aMenuPane*/, + TBool /*aIsBrowseMode*/) { // No implementation } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerhideui.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerhideui.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerhideui.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -110,7 +110,8 @@ // DynInitMenuPaneL // --------------------------------------------------------------------------- // -void CGlxCommandHandlerHideUi::DynInitMenuPaneL(TInt /*aResourceId*/, CEikMenuPane* aMenuPane) +void CGlxCommandHandlerHideUi::DynInitMenuPaneL(TInt /*aResourceId*/, CEikMenuPane* aMenuPane, + TBool /*aIsBrowseMode*/) { if ( !iCommandAvailable && aMenuPane ) { diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -56,19 +56,22 @@ _LIT(KOpenBracket, "("); _LIT(KCloseBracket, ")"); _LIT(KFileNameFormatString, "(%+02u)"); + // --------------------------------------------------------------------------- // Two-phased constructor. // --------------------------------------------------------------------------- // -EXPORT_C CGlxCommandHandlerNewMedia* CGlxCommandHandlerNewMedia::NewL(MGlxMediaListProvider* aMediaListProvider) - { - TRACER("CGlxCommandHandlerNewMedia* CGlxCommandHandlerNewMedia::NewL"); - CGlxCommandHandlerNewMedia* self = new (ELeave) CGlxCommandHandlerNewMedia(aMediaListProvider); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } +EXPORT_C CGlxCommandHandlerNewMedia* CGlxCommandHandlerNewMedia::NewL( + MGlxMediaListProvider* aMediaListProvider, const TDesC& aFileName) + { + TRACER("CGlxCommandHandlerNewMedia* CGlxCommandHandlerNewMedia::NewL"); + CGlxCommandHandlerNewMedia* self = new (ELeave) CGlxCommandHandlerNewMedia( + aMediaListProvider); + CleanupStack::PushL(self); + self->ConstructL(aFileName); + CleanupStack::Pop(self); + return self; + } // --------------------------------------------------------------------------- // C++ default constructor can NOT contain any code, that @@ -118,23 +121,18 @@ // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void CGlxCommandHandlerNewMedia::ConstructL() - { - TRACER("CGlxCommandHandlerNewMedia::ConstructL()"); - iFileNameAlreadyExists = EFalse ; - // Load resource file - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile; - resourceFile.Append(parse.FullName()); - CGlxResourceUtilities::GetResourceFilenameL(resourceFile); - iResourceOffset = CCoeEnv::Static()->AddResourceFileL(resourceFile); +void CGlxCommandHandlerNewMedia::ConstructL(const TDesC& aFileName) + { + TRACER("CGlxCommandHandlerNewMedia::ConstructL()"); + iFileNameAlreadyExists = EFalse; - iAsyncFocuser = new (ELeave) CGlxAsyncFocuser(this); - // Add supported command - TCommandInfo info(EGlxCmdAddMedia); - // Filter out static items - AddCommandL(info); + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(aFileName); + + iAsyncFocuser = new (ELeave) CGlxAsyncFocuser(this); + // Add supported command + TCommandInfo info(EGlxCmdAddMedia); + // Filter out static items + AddCommandL(info); } // --------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -41,14 +41,17 @@ // --------------------------------------------------------------------------- // EXPORT_C CGlxCommandHandlerRemoveFrom* CGlxCommandHandlerRemoveFrom::NewL( - MGlxMediaListProvider* aMediaListProvider, TMPXGeneralCategory aContainerType) - { - CGlxCommandHandlerRemoveFrom* self = new (ELeave) CGlxCommandHandlerRemoveFrom(aMediaListProvider, aContainerType); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } + MGlxMediaListProvider* aMediaListProvider, + TMPXGeneralCategory aContainerType, const TDesC& aFileName) + { + CGlxCommandHandlerRemoveFrom* self = + new (ELeave) CGlxCommandHandlerRemoveFrom(aMediaListProvider, + aContainerType); + CleanupStack::PushL(self); + self->ConstructL(aFileName); + CleanupStack::Pop(self); + return self; + } // --------------------------------------------------------------------------- // C++ default constructor can NOT contain any code, that @@ -65,27 +68,21 @@ // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void CGlxCommandHandlerRemoveFrom::ConstructL() - { - // Load resource file - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile; - resourceFile.Append(parse.FullName()); - CGlxResourceUtilities::GetResourceFilenameL(resourceFile); - iResourceOffset = CCoeEnv::Static()->AddResourceFileL(resourceFile); +void CGlxCommandHandlerRemoveFrom::ConstructL(const TDesC& aFileName) + { + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(aFileName); - // Add supported command - TCommandInfo info(EGlxCmdRemoveFrom); - // Filter out static items - info.iMinSelectionLength = 1; - info.iMaxSelectionLength = KMaxTInt; - AddCommandL(info); - - TCommandInfo singleclickinfo(EGlxCmdSingleClickRemoveFrom); - singleclickinfo.iMinSelectionLength = 1; - singleclickinfo.iMaxSelectionLength = KMaxTInt; - AddCommandL(singleclickinfo); + // Add supported command + TCommandInfo info(EGlxCmdRemoveFrom); + // Filter out static items + info.iMinSelectionLength = 1; + info.iMaxSelectionLength = KMaxTInt; + AddCommandL(info); + + TCommandInfo singleclickinfo(EGlxCmdSingleClickRemoveFrom); + singleclickinfo.iMinSelectionLength = 1; + singleclickinfo.iMaxSelectionLength = KMaxTInt; + AddCommandL(singleclickinfo); } // --------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrename.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrename.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrename.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -51,15 +51,16 @@ // --------------------------------------------------------------------------- // EXPORT_C CGlxCommandHandlerRename* CGlxCommandHandlerRename::NewL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem ) - { - CGlxCommandHandlerRename* self = new ( ELeave ) CGlxCommandHandlerRename - ( aMediaListProvider, aHasToolbarItem ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } + MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem, + const TDesC& aFileName) + { + CGlxCommandHandlerRename* self = new (ELeave) CGlxCommandHandlerRename( + aMediaListProvider, aHasToolbarItem); + CleanupStack::PushL(self); + self->ConstructL(aFileName); + CleanupStack::Pop(self); + return self; + } // --------------------------------------------------------------------------- // C++ default constructor can NOT contain any code, that @@ -73,38 +74,33 @@ // Do nothing } + // --------------------------------------------------------------------------- // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void CGlxCommandHandlerRename::ConstructL() - { - iRenameText = HBufC::NewL( KNameMaxLength ); +void CGlxCommandHandlerRename::ConstructL(const TDesC& aFileName) + { + iRenameText = HBufC::NewL(KNameMaxLength); - // Load resource file - TParse parse; - parse.Set( KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL ); - TFileName resourceFile; - resourceFile.Append( parse.FullName() ); - CGlxResourceUtilities::GetResourceFilenameL( resourceFile ); - iResourceOffset = CCoeEnv::Static()->AddResourceFileL( resourceFile ); + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(aFileName); - // Add supported command - TCommandInfo info( EGlxCmdRename ); - // This setup disables the command if a static item is focused, - // if the view is empty or if more than one item is selected. - info.iMinSelectionLength = 1; - info.iMaxSelectionLength = 1; - // Filter out system items - info.iDisallowSystemItems = ETrue; - // Allow animated GIFs to be renamed - info.iStopAnimationForExecution = ETrue; - - AddCommandL( info ); + // Add supported command + TCommandInfo info(EGlxCmdRename); + // This setup disables the command if a static item is focused, + // if the view is empty or if more than one item is selected. + info.iMinSelectionLength = 1; + info.iMaxSelectionLength = 1; + // Filter out system items + info.iDisallowSystemItems = ETrue; + // Allow animated GIFs to be renamed + info.iStopAnimationForExecution = ETrue; - iErrorCallback = new (ELeave) CAsyncCallBack( TCallBack( HandleErrorL, this ), - CActive::EPriorityStandard ); - } + AddCommandL(info); + + iErrorCallback = new (ELeave) CAsyncCallBack(TCallBack(HandleErrorL, this), + CActive::EPriorityStandard); + } // --------------------------------------------------------------------------- // Destructor diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersave.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersave.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersave.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -23,6 +23,9 @@ #include #include #include +#include +#include +#include // --------------------------------------------------------------------------- // Two-phased constructor. @@ -86,21 +89,35 @@ if ( imageHandle.SubSessionHandle() != KNullHandle ) { TDataType nullType; - CDocumentHandler* handler = CDocumentHandler::NewLC(NULL); + CDocumentHandler* handler = CDocumentHandler::NewLC(NULL); __ASSERT_ALWAYS(handler, Panic(EGlxPanicNullPointer)); - TRAP_IGNORE(handler->CopyL(imageHandle, KNullDesC, nullType, NULL)); + TRAPD(err, handler->CopyL(imageHandle, KNullDesC, nullType, NULL)); CleanupStack::PopAndDestroy(handler); + if (err == KErrNone) + { + HBufC* noteText = StringLoader::LoadL( + R_GLX_COMPLETION_FILE_SAVED_TO); + if (noteText) + { + CleanupStack::PushL(noteText); + GlxGeneralUiUtilities::ShowConfirmationNoteL( + *noteText, ETrue); + CleanupStack::PopAndDestroy(noteText); + } + } } } return ETrue; } return EFalse; } + // --------------------------------------------------------------------------- // DynInitMenuPaneL // --------------------------------------------------------------------------- // -void CGlxCommandHandlerSave::DynInitMenuPaneL(TInt /*aResourceId*/, CEikMenuPane* aMenuPane) +void CGlxCommandHandlerSave::DynInitMenuPaneL(TInt /*aResourceId*/, CEikMenuPane* aMenuPane, + TBool /*aIsBrowseMode*/) { TRACER("CGlxCommandHandlerSave::DynInitMenuPaneL"); if ( aMenuPane ) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -24,7 +24,7 @@ // EXTERNAL INCLUDES #include // for CnvUtfConverter #include // for CSendui -#include // for CSendui resources +#include // for CSendui resources #include // for CSendui plugin type constants #include // for CMessageData #include // for CCoeEnv @@ -63,13 +63,14 @@ // Two-phased constructor. // ---------------------------------------------------------------------------- EXPORT_C CGlxCommandHandlerSend* CGlxCommandHandlerSend::NewL( - MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem) + MGlxMediaListProvider* aMediaListProvider, TBool aHasToolbarItem, + const TDesC& aFileName) { GLX_FUNC("CGlxCommandHandlerSend::NewL"); - CGlxCommandHandlerSend* self = - new (ELeave) CGlxCommandHandlerSend(aMediaListProvider, aHasToolbarItem); + CGlxCommandHandlerSend* self = new (ELeave) CGlxCommandHandlerSend( + aMediaListProvider, aHasToolbarItem); CleanupStack::PushL(self); - self->ConstructL(); + self->ConstructL(aFileName); CleanupStack::Pop(self); return self; } @@ -84,28 +85,30 @@ // nothing to do } + + // ---------------------------------------------------------------------------- // Symbian 2nd phase constructor can leave. // ---------------------------------------------------------------------------- -void CGlxCommandHandlerSend::ConstructL() +void CGlxCommandHandlerSend::ConstructL(const TDesC& aFileName) { GLX_FUNC("CGlxCommandHandlerSend::ConstructL"); - + iUiUtility = CGlxUiUtility::UtilityL(); iSendUi = CSendUi::NewL(); - - LoadRscFileL(); - + + LoadRscFileL(aFileName); + // add the Send command - TCommandInfo info(EGlxCmdSend); - info.iMinSelectionLength = 1; - info.iMaxSelectionLength = KMaxTInt; - AddCommandL(info); - - TCommandInfo singleclickinfo(EGlxCmdSingleClickSend); - singleclickinfo.iMinSelectionLength = 1; - singleclickinfo.iMaxSelectionLength = KMaxTInt; - AddCommandL(singleclickinfo); + TCommandInfo info(EGlxCmdSend); + info.iMinSelectionLength = 1; + info.iMaxSelectionLength = KMaxTInt; + AddCommandL(info); + + TCommandInfo singleclickinfo(EGlxCmdSingleClickSend); + singleclickinfo.iMinSelectionLength = 1; + singleclickinfo.iMaxSelectionLength = KMaxTInt; + AddCommandL(singleclickinfo); } @@ -363,20 +366,15 @@ + // ---------------------------------------------------------------------------- // LoadRscFileL // ---------------------------------------------------------------------------- -void CGlxCommandHandlerSend::LoadRscFileL() +void CGlxCommandHandlerSend::LoadRscFileL(const TDesC& aFileName) { GLX_FUNC("CGlxCommandHandlerSend::LoadRscFileL"); - - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile; - resourceFile.Append(parse.FullName()); - CGlxResourceUtilities::GetResourceFilenameL(resourceFile); - CCoeEnv* env = CCoeEnv::Static(); - iResourceOffset = env->AddResourceFileL(resourceFile); + CCoeEnv* env = CCoeEnv::Static(); + iResourceOffset = env->AddResourceFileL(aFileName); } @@ -423,4 +421,24 @@ return ETrue; } + +// ---------------------------------------------------------------------------- +// HandleItemSelectedL +// ---------------------------------------------------------------------------- +// +void CGlxCommandHandlerSend::HandleItemSelectedL(TInt /*aIndex*/, + TBool /*aSelected*/, MGlxMediaList* aList) + { + GLX_FUNC("CGlxCommandHandlerSend::HandleItemSelectedL"); + if (aList->SelectionCount() > 0 && iUiUtility->GetGridToolBar()) + { + iUiUtility->GetGridToolBar()->SetItemDimmed(EGlxCmdSend, EFalse, + ETrue); + } + else + { + iUiUtility->GetGridToolBar()->SetItemDimmed(EGlxCmdSend, ETrue, ETrue); + } + } + // End of file diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerslideshow.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerslideshow.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerslideshow.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -56,16 +56,18 @@ // --------------------------------------------------------------------------- // EXPORT_C CGlxCommandHandlerSlideshow* CGlxCommandHandlerSlideshow::NewL( - MGlxMediaListProvider* aMediaListProvider, TBool aStepBack, TBool aHasToolbarItem ) - { - TRACER( "CGlxCommandHandlerSlideshow::NewL" ); - CGlxCommandHandlerSlideshow* self = new ( ELeave ) - CGlxCommandHandlerSlideshow(aMediaListProvider, aStepBack, aHasToolbarItem); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } + MGlxMediaListProvider* aMediaListProvider, TBool aStepBack, + TBool aHasToolbarItem, const TDesC& aFileName) + { + TRACER( "CGlxCommandHandlerSlideshow::NewL" ); + CGlxCommandHandlerSlideshow* self = + new (ELeave) CGlxCommandHandlerSlideshow(aMediaListProvider, + aStepBack, aHasToolbarItem); + CleanupStack::PushL(self); + self->ConstructL(aFileName); + CleanupStack::Pop(self); + return self; + } // --------------------------------------------------------------------------- // C++ default constructor can NOT contain any code, that @@ -79,66 +81,61 @@ // Do nothing } + // --------------------------------------------------------------------------- // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void CGlxCommandHandlerSlideshow::ConstructL() - { - TRACER( "CGlxCommandHandlerSlideshow::ConstructL" ); - - // Get a handle - iUiUtility = CGlxUiUtility::UtilityL(); +void CGlxCommandHandlerSlideshow::ConstructL(const TDesC& aFileName) + { + TRACER( "CGlxCommandHandlerSlideshow::ConstructL" ); - // Load resource file - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile; - resourceFile.Append(parse.FullName()); - CGlxResourceUtilities::GetResourceFilenameL(resourceFile); - iResourceOffset = CCoeEnv::Static()->AddResourceFileL( resourceFile ); + // Get a handle + iUiUtility = CGlxUiUtility::UtilityL(); + + iResourceOffset = CCoeEnv::Static()->AddResourceFileL(aFileName); + + iShowInToolbar = ETrue; - iShowInToolbar = ETrue; - - // Add supported commands with filter fields - // Play slideshow forwards - TCommandInfo info( EGlxCmdSlideshowPlay ); - // Disable for static items and dont enable empty slideshow - info.iMinSelectionLength = 1; - // Enable only for albums that have more than one item - info.iMinSlideshowPlayableContainedItemCount = 1; - // Disable for animated GIFs - info.iDisallowAnimatedGIFs = ETrue; - // Disable DRM protected content - info.iDisallowDRM = ETrue; - // Note: cannot just require all to be images as user can also start - // slideshow for a whole album from list view and in that case - // selection contains a container + // Add supported commands with filter fields + // Play slideshow forwards + TCommandInfo info(EGlxCmdSlideshowPlay); + // Disable for static items and dont enable empty slideshow + info.iMinSelectionLength = 1; + // Enable only for albums that have more than one item + info.iMinSlideshowPlayableContainedItemCount = 1; + // Disable for animated GIFs + info.iDisallowAnimatedGIFs = ETrue; + // Disable DRM protected content + info.iDisallowDRM = ETrue; + // Note: cannot just require all to be images as user can also start + // slideshow for a whole album from list view and in that case + // selection contains a container // Disable all videos TMPXGeneralCategory categoryFilter = EMPXVideo; // Disable the command for videos TCommandInfo::TCategoryRule categoryRule = TCommandInfo::EForbidAll; info.iCategoryFilter = categoryFilter; info.iCategoryRule = categoryRule; - AddCommandL( info ); - - // new info to get the default filters - TCommandInfo info_show_always( EGlxCmdSlideshowSettings ); - // Disable for empty views and views with only static items - info_show_always.iMinSelectionLength = 1; - // slideshow settings - AddCommandL( info_show_always ); + AddCommandL(info); + + // new info to get the default filters + TCommandInfo info_show_always(EGlxCmdSlideshowSettings); + // Disable for empty views and views with only static items + info_show_always.iMinSelectionLength = 1; + // slideshow settings + AddCommandL(info_show_always); - // Menu - info_show_always.iCommandId = EGlxCmdSlideshow; - AddCommandL( info_show_always ); + // Menu + info_show_always.iCommandId = EGlxCmdSlideshow; + AddCommandL(info_show_always); - // Dummy command to get UPnP state - TCommandInfo infoUpnpState( EGlxCmdShowViaUpnpStateChanged ); - AddCommandL( infoUpnpState ); + // Dummy command to get UPnP state + TCommandInfo infoUpnpState(EGlxCmdShowViaUpnpStateChanged); + AddCommandL(infoUpnpState); - // Buffer - iBufFlat = CBufFlat::NewL( KShwDefaultBufferSize ); + // Buffer + iBufFlat = CBufFlat::NewL(KShwDefaultBufferSize); } // --------------------------------------------------------------------------- @@ -278,6 +275,8 @@ // Activating and deactivating the HUI within the Settings // Dialog class will cause a Cone 8 panic. + iAvkonAppUi->ProcessCommandL(EGlxCmdDialogLaunched); + // hide HUI display CGlxUiUtility::HideAlfDisplayL(); { diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxmediaselectionpopup.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxmediaselectionpopup.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxmediaselectionpopup.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -413,9 +413,10 @@ if (iMediaList->Item(iListBox->CurrentItemIndex()).IsStatic()) { - - CGlxCommandHandlerNewMedia* commandHandlerNewMedia = - CGlxCommandHandlerNewMedia::NewL(this); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append(CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); + CGlxCommandHandlerNewMedia* commandHandlerNewMedia = + CGlxCommandHandlerNewMedia::NewL(this,uiutilitiesrscfile); TGlxMediaId newMediaId; TInt error = commandHandlerNewMedia->ExecuteLD(newMediaId); if (error == KErrNone) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/commandhandlers/inc/glxcommandhandlers.hrh --- a/photosgallery/viewframework/commandhandlers/inc/glxcommandhandlers.hrh Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/inc/glxcommandhandlers.hrh Tue Apr 27 16:37:53 2010 +0300 @@ -98,6 +98,7 @@ EGlxCmdAiwSingleClickEdit, EGlxCmdSingleClickRemoveFrom, EGlxCmdRenameCompleted, + EGlxCmdDialogLaunched, EGlxCmdAiwBase = 0x6000 }; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/dataprovider/inc/glxdetailsboundcommand.hrh --- a/photosgallery/viewframework/dataprovider/inc/glxdetailsboundcommand.hrh Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/dataprovider/inc/glxdetailsboundcommand.hrh Tue Apr 27 16:37:53 2010 +0300 @@ -45,8 +45,8 @@ ELocationItem, ESizeItem, EResolutionItem, - EDurationItem, - ElicenseItem + ElicenseItem, + EDurationItem }; enum TImageVwrDetailsFields diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/dataprovider/src/glxdetailsboundcommand.cpp --- a/photosgallery/viewframework/dataprovider/src/glxdetailsboundcommand.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/dataprovider/src/glxdetailsboundcommand.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -39,6 +39,7 @@ #include #include "glxuiutility.h" #include +#include // for CGlxResourceUtilities /** Error Id EMPY-7MKDHP **/ #include "mglxmetadatadialogobserver.h" //for call back to dailog @@ -220,6 +221,7 @@ return self; } + // ---------------------------------------------------------------------------- // CGlxTagsBoundCommand::ConstructL // ---------------------------------------------------------------------------- @@ -227,8 +229,12 @@ void CGlxTagsBoundCommand::ConstructL() { TRACER("CGlxTagsBoundCommand::ConstructL"); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); //create command handler - iAddToTag = CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddTag, EFalse); + iAddToTag = CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddTag, + EFalse, uiutilitiesrscfile); } // ---------------------------------------------------------------------------- @@ -748,6 +754,7 @@ return self; } + // ---------------------------------------------------------------------------- // CGlxAlbumsBoundCommand::ConstructL // ---------------------------------------------------------------------------- @@ -755,8 +762,12 @@ void CGlxAlbumsBoundCommand::ConstructL() { TRACER("CGlxAlbumsBoundCommand::ConstructL"); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); //create command handler - iAddToAlbum= CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddToAlbum, EFalse ); + iAddToAlbum = CGlxCommandHandlerAddToContainer::NewL(this, + EGlxCmdAddToAlbum, EFalse, uiutilitiesrscfile); } // ---------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/dataprovider/src/glxthumbnailvarianttype.cpp --- a/photosgallery/viewframework/dataprovider/src/glxthumbnailvarianttype.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/dataprovider/src/glxthumbnailvarianttype.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -176,11 +176,20 @@ TRAP( err, mTextureId = iUiUtility->GlxTextureManager().CreateIconTextureL( icon.bitmapId, resFile, defaultSize ).Id() ); } + else if( drm && isValid == EGlxDrmRightsInvalid ) + { + //show default image for DRM expired images + GLX_LOG_INFO( "GlxThumbnailVariantType::CreateIconTextureL" + "::EGlxDrmRightsInvalid" ); + TRAP( err, mTextureId = iUiUtility->GlxTextureManager().CreateIconTextureL( + EMbmGlxiconsQgn_prop_image_notcreated, resFile, defaultSize ).Id() ); + } else if ( (KErrNone == thumbnailError) || (KErrArgument == thumbnailError) || (KErrDiskFull == thumbnailError) || (KErrNoMemory == thumbnailError) - || ( drm && isValid == EGlxDrmRightsInvalid ) - || thumbnailError == KErrCANoRights ) + || (KErrCANoRights == thumbnailError) ) { + GLX_LOG_INFO1( "GlxThumbnailVariantType::thumbnailError=%d" , + thumbnailError ); //Try and see if we can scale and show the grid tnm else show the default TBool isGridTnmShown = EFalse; if(HasRelevantThumbnail(aMedia,defaultSize)) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/bwins/glxmedialistsu.def --- a/photosgallery/viewframework/medialists/bwins/glxmedialistsu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/bwins/glxmedialistsu.def Tue Apr 27 16:37:53 2010 +0300 @@ -10,97 +10,97 @@ ??0TGlxWindowIterator@@QAE@ABV0@@Z @ 9 NONAME ; TGlxWindowIterator::TGlxWindowIterator(class TGlxWindowIterator const &) ?NewL@CGlxDefaultAttributeContext@@SAPAV1@XZ @ 10 NONAME ; class CGlxDefaultAttributeContext * CGlxDefaultAttributeContext::NewL(void) ?SetRangeOffsets@TGlxFromFocusOutwardIterator@@QAEXHH@Z @ 11 NONAME ; void TGlxFromFocusOutwardIterator::SetRangeOffsets(int, int) - ?GetSize@TGlxMedia@@QBEHAAH@Z @ 12 NONAME ; int TGlxMedia::GetSize(int &) const - ??ETGlxWindowIterator@@QAEHH@Z @ 13 NONAME ; int TGlxWindowIterator::operator++(int) - ?__DbgTestInvariant@CGlxListWindow@@QBEXXZ @ 14 NONAME ; void CGlxListWindow::__DbgTestInvariant(void) const - ?NewL@CGlxUStringConverter@@SAPAV1@XZ @ 15 NONAME ; class CGlxUStringConverter * CGlxUStringConverter::NewL(void) - ?InstanceL@MGlxCache@@SAPAV1@XZ @ 16 NONAME ; class MGlxCache * MGlxCache::InstanceL(void) - ?Reset@CGlxMedia@@QAEXXZ @ 17 NONAME ; void CGlxMedia::Reset(void) - ?AddObjects@CGlxListWindow@@QAEXHHHH@Z @ 18 NONAME ; void CGlxListWindow::AddObjects(int, int, int, int) - ??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 19 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *) - ?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 20 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int) - ??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 21 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void) - ?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 22 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &) - ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 23 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const - ??1TGlxSelectionIterator@@QAE@XZ @ 24 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void) - ?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 25 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int) - ??0TGlxSelectionIterator@@QAE@XZ @ 26 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void) - ??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 27 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void) - ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 28 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const - ??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 29 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void) - ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 30 NONAME ; int TGlxMedia::GetFrameCount(int &) const - ??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 31 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void) - ?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 32 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int) - ?SetFocusIndex@CGlxListWindow@@QAEXH@Z @ 33 NONAME ; void CGlxListWindow::SetFocusIndex(int) - ??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 34 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void) - ??1CGlxDefaultThumbnailContext@@UAE@XZ @ 35 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void) - ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 36 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &) - ??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 37 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &) - ?ConstructL@CGlxListWindow@@QAEXXZ @ 38 NONAME ; void CGlxListWindow::ConstructL(void) - ?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 39 NONAME ; void TGlxSequentialIterator::SetRange(int) - ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 40 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const - ?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 41 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int) - ?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 42 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int) - ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 43 NONAME ; void CGlxMedia::HandleModified(class RArray const &) - ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 44 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const - ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 45 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const - ?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 46 NONAME ; void TGlxSelectionIterator::SetRange(int) - ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 47 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const - ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 48 NONAME ; int TGlxMedia::GetDate(class TTime &) const - ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 49 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const - ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 50 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) - ?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 51 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int) - ?IsStatic@TGlxMedia@@QBEHXZ @ 52 NONAME ; int TGlxMedia::IsStatic(void) const - ??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 53 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &) - ?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 54 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int) - ??1CGlxDefaultAttributeContext@@UAE@XZ @ 55 NONAME ; CGlxDefaultAttributeContext::~CGlxDefaultAttributeContext(void) - ?ThumbnailAttribute@TGlxMedia@@QBEPBVCGlxThumbnailAttribute@@AAVTMPXAttribute@@@Z @ 56 NONAME ; class CGlxThumbnailAttribute const * TGlxMedia::ThumbnailAttribute(class TMPXAttribute &) const - ??1TGlxFirstThenLastIterator@@QAE@XZ @ 57 NONAME ; TGlxFirstThenLastIterator::~TGlxFirstThenLastIterator(void) - ?Title@TGlxMedia@@QBEABVTDesC16@@XZ @ 58 NONAME ; class TDesC16 const & TGlxMedia::Title(void) const - ??ETGlxSelectionIterator@@UAEHH@Z @ 59 NONAME ; int TGlxSelectionIterator::operator++(int) - ?AddAttributeL@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 60 NONAME ; void CGlxAttributeContext::AddAttributeL(class TMPXAttribute const &) - ?SetRangeOffsets@CGlxDefaultThumbnailContext@@QAEXHH@Z @ 61 NONAME ; void CGlxDefaultThumbnailContext::SetRangeOffsets(int, int) - ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 62 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const - ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 63 NONAME ; int TGlxMedia::GetDuration(float &) const - ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 64 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) - ?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 65 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId const &, class CMPXMedia *) - ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 66 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) - ?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 67 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int) - ?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 68 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const - ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 69 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const - ??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 70 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *) - ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 71 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const - ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 72 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const - ?AddObjects@CGlxListWindow@@QAEXHH@Z @ 73 NONAME ; void CGlxListWindow::AddObjects(int, int) - ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 74 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ??ETGlxWindowIterator@@QAEHH@Z @ 12 NONAME ; int TGlxWindowIterator::operator++(int) + ?__DbgTestInvariant@CGlxListWindow@@QBEXXZ @ 13 NONAME ; void CGlxListWindow::__DbgTestInvariant(void) const + ?NewL@CGlxUStringConverter@@SAPAV1@XZ @ 14 NONAME ; class CGlxUStringConverter * CGlxUStringConverter::NewL(void) + ?InstanceL@MGlxCache@@SAPAV1@XZ @ 15 NONAME ; class MGlxCache * MGlxCache::InstanceL(void) + ?Reset@CGlxMedia@@QAEXXZ @ 16 NONAME ; void CGlxMedia::Reset(void) + ?AddObjects@CGlxListWindow@@QAEXHHHH@Z @ 17 NONAME ; void CGlxListWindow::AddObjects(int, int, int, int) + ??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 18 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *) + ?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 19 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int) + ??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 20 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void) + ?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 21 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &) + ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 22 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const + ??1TGlxSelectionIterator@@QAE@XZ @ 23 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void) + ?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 24 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int) + ??0TGlxSelectionIterator@@QAE@XZ @ 25 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void) + ??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 26 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void) + ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 27 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const + ??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 28 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void) + ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 29 NONAME ; int TGlxMedia::GetFrameCount(int &) const + ??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 30 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void) + ?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 31 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int) + ?SetFocusIndex@CGlxListWindow@@QAEXH@Z @ 32 NONAME ; void CGlxListWindow::SetFocusIndex(int) + ??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 33 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void) + ??1CGlxDefaultThumbnailContext@@UAE@XZ @ 34 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void) + ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 35 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &) + ??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 36 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &) + ?ConstructL@CGlxListWindow@@QAEXXZ @ 37 NONAME ; void CGlxListWindow::ConstructL(void) + ?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 38 NONAME ; void TGlxSequentialIterator::SetRange(int) + ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 39 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const + ?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 40 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int) + ?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 41 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int) + ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 42 NONAME ; void CGlxMedia::HandleModified(class RArray const &) + ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 43 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const + ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 44 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const + ?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 45 NONAME ; void TGlxSelectionIterator::SetRange(int) + ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 46 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 47 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 48 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const + ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 49 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) + ?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 50 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int) + ?IsStatic@TGlxMedia@@QBEHXZ @ 51 NONAME ; int TGlxMedia::IsStatic(void) const + ??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 52 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &) + ?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 53 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int) + ??1CGlxDefaultAttributeContext@@UAE@XZ @ 54 NONAME ; CGlxDefaultAttributeContext::~CGlxDefaultAttributeContext(void) + ?ThumbnailAttribute@TGlxMedia@@QBEPBVCGlxThumbnailAttribute@@AAVTMPXAttribute@@@Z @ 55 NONAME ; class CGlxThumbnailAttribute const * TGlxMedia::ThumbnailAttribute(class TMPXAttribute &) const + ??1TGlxFirstThenLastIterator@@QAE@XZ @ 56 NONAME ; TGlxFirstThenLastIterator::~TGlxFirstThenLastIterator(void) + ?Title@TGlxMedia@@QBEABVTDesC16@@XZ @ 57 NONAME ; class TDesC16 const & TGlxMedia::Title(void) const + ??ETGlxSelectionIterator@@UAEHH@Z @ 58 NONAME ; int TGlxSelectionIterator::operator++(int) + ?AddAttributeL@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 59 NONAME ; void CGlxAttributeContext::AddAttributeL(class TMPXAttribute const &) + ?SetRangeOffsets@CGlxDefaultThumbnailContext@@QAEXHH@Z @ 60 NONAME ; void CGlxDefaultThumbnailContext::SetRangeOffsets(int, int) + ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 61 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const + ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 62 NONAME ; int TGlxMedia::GetDuration(float &) const + ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 63 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) + ?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 64 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId const &, class CMPXMedia *) + ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 65 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) + ?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 66 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int) + ?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 67 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const + ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 68 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const + ??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 69 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *) + ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 70 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const + ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 71 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const + ?AddObjects@CGlxListWindow@@QAEXHH@Z @ 72 NONAME ; void CGlxListWindow::AddObjects(int, int) + ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 73 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ??0TGlxSequentialIterator@@QAE@XZ @ 74 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void) ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 75 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) - ??0TGlxSequentialIterator@@QAE@XZ @ 76 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void) - ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 77 NONAME ; int CGlxAttributeContext::AttributeCount(void) - ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 78 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const - ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 79 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const - ?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 80 NONAME ; void CGlxListWindow::SetFocusIndex(int, int) - ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 81 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) - ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 82 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 83 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 84 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) - ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 85 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const - ??1CGlxMedia@@UAE@XZ @ 86 NONAME ; CGlxMedia::~CGlxMedia(void) - ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 87 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const - ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 88 NONAME ; int TGlxMedia::IsDrmProtected(void) const - ??1CGlxThumbnailContext@@UAE@XZ @ 89 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void) - ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 90 NONAME ; int TGlxMedia::GetDrmProtected(int &) const - ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 91 NONAME ; int TGlxMedia::GetSystemItem(int &) const - ?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 92 NONAME ; void CGlxListWindow::RemoveObjects(int, int) - ?Close@TGlxFetchContextRemover@@QAEXXZ @ 93 NONAME ; void TGlxFetchContextRemover::Close(void) - ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 94 NONAME ; class CBase const * CGlxListWindow::At(int) const + ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 76 NONAME ; int CGlxAttributeContext::AttributeCount(void) + ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 77 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const + ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 78 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const + ?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 79 NONAME ; void CGlxListWindow::SetFocusIndex(int, int) + ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 80 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) + ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 81 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 82 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 83 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) + ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 84 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const + ??1CGlxMedia@@UAE@XZ @ 85 NONAME ; CGlxMedia::~CGlxMedia(void) + ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 86 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const + ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 87 NONAME ; int TGlxMedia::IsDrmProtected(void) const + ??1CGlxThumbnailContext@@UAE@XZ @ 88 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void) + ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 89 NONAME ; int TGlxMedia::GetDrmProtected(int &) const + ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 90 NONAME ; int TGlxMedia::GetSystemItem(int &) const + ?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 91 NONAME ; void CGlxListWindow::RemoveObjects(int, int) + ?Close@TGlxFetchContextRemover@@QAEXXZ @ 92 NONAME ; void TGlxFetchContextRemover::Close(void) + ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 93 NONAME ; class CBase const * CGlxListWindow::At(int) const + ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 94 NONAME ; class CBase * CGlxListWindow::At(int) ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 95 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) - ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 96 NONAME ; class CBase * CGlxListWindow::At(int) - ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 97 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void) - ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 98 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &) - ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 99 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void) - ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 100 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) - ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 101 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void) - ?Cleanup@CGlxListWindow@@QAEXXZ @ 102 NONAME ; void CGlxListWindow::Cleanup(void) + ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 96 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void) + ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 97 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &) + ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 98 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void) + ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 99 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) + ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void) + ?Cleanup@CGlxListWindow@@QAEXXZ @ 101 NONAME ; void CGlxListWindow::Cleanup(void) + ?GetSize@TGlxMedia@@QBEHAAI@Z @ 102 NONAME ; int TGlxMedia::GetSize(unsigned int &) const ??1TGlxExclusionIterator@@QAE@XZ @ 103 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void) ??1TGlxFetchContextRemover@@QAE@XZ @ 104 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void) ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 105 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/eabi/glxmedialistsu.def --- a/photosgallery/viewframework/medialists/eabi/glxmedialistsu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/eabi/glxmedialistsu.def Tue Apr 27 16:37:53 2010 +0300 @@ -146,7 +146,7 @@ _ZNK9TGlxMedia5TitleEv @ 145 NONAME _ZNK9TGlxMedia7CommentEv @ 146 NONAME _ZNK9TGlxMedia7GetDateER5TTime @ 147 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 148 NONAME + _ZNK9TGlxMedia7GetSizeERj @ 148 NONAME _ZNK9TGlxMedia8CategoryEv @ 149 NONAME _ZNK9TGlxMedia8IsStaticEv @ 150 NONAME _ZNK9TGlxMedia8MimeTypeEv @ 151 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/inc/glxmedia.h --- a/photosgallery/viewframework/medialists/inc/glxmedia.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/inc/glxmedia.h Tue Apr 27 16:37:53 2010 +0300 @@ -128,7 +128,7 @@ * @return EFalse if unable to get size - aSize is unchanged. * ETrue if size successfully put in aSize. */ - IMPORT_C TBool GetSize(TInt& aSize) const; + IMPORT_C TBool GetSize(TUint& aSize) const; /** * Get the duration associated with the media. diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/src/glxattributecontext.cpp --- a/photosgallery/viewframework/medialists/src/glxattributecontext.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxattributecontext.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -236,12 +236,14 @@ return; } + CleanupClosePushL(aAttributes); // Just list all attributes specified for this context TInt count = iAttributes.Count(); for (TInt i = 0; i < count; i++) { aAttributes.AppendL(iAttributes[i]); } + CleanupStack::Pop(&aAttributes); } // ----------------------------------------------------------------------------- @@ -343,7 +345,7 @@ const TMPXAttribute& aAttribute) const { TRACER("CGlxAttributeContext::AddItemAttributeL"); - + CleanupClosePushL(aAttributes); TIdentityRelation match(&TMPXAttribute::Match); TInt index = aAttributes.Find(aAttribute, match); @@ -351,6 +353,7 @@ { aAttributes.AppendL(aAttribute); } + CleanupStack::Pop(&aAttributes); } // ----------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/src/glxcache.cpp --- a/photosgallery/viewframework/medialists/src/glxcache.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxcache.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -249,6 +249,7 @@ RArray& aNewAttributes) { TRACER("CGlxCache::CopyNewAndModifiedL"); + CleanupClosePushL(aNewAttributes); /// @todo This is all temporary until global chunk based CMPXMedia is available TInt count = aSource.Count(); @@ -317,7 +318,7 @@ } else if (attrib == KMPXMediaGeneralSize) { - aTarget.SetTObjectValueL(attrib, aSource.ValueTObjectL(attrib)); + aTarget.SetTObjectValueL(attrib, aSource.ValueTObjectL(attrib)); } else if (attrib == KMPXMediaColDetailSpaceId) { @@ -381,6 +382,7 @@ } } } + CleanupStack::Pop(&aNewAttributes); } // ----------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/src/glxcachemanager.cpp --- a/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -856,7 +856,7 @@ } if(err == KErrNone) { - iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, sz); + iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, (TUint)sz); } else { @@ -872,7 +872,7 @@ { TEntry entry; fs.Entry(fileName,entry); - TInt sz = (TUint)entry.iSize; + TUint sz = entry.iSize; iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, sz); } else diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/src/glxmedia.cpp --- a/photosgallery/viewframework/medialists/src/glxmedia.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxmedia.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -153,7 +153,7 @@ // ----------------------------------------------------------------------------- // Gets the (file) size // ----------------------------------------------------------------------------- -EXPORT_C TBool TGlxMedia::GetSize(TInt& aSize) const +EXPORT_C TBool TGlxMedia::GetSize(TUint& aSize) const { TRACER("TGlxMedia::GetSize"); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/src/glxnavigablelist.cpp --- a/photosgallery/viewframework/medialists/src/glxnavigablelist.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxnavigablelist.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -561,6 +561,7 @@ { TRACER( "CGlxNavigableList::SelectionL"); + CleanupClosePushL(aItemIds); aItemIds.Reset(); // Reserve full required space to avoid reallocations during loop @@ -571,6 +572,7 @@ { aItemIds.AppendL( iItemList->Item( iSelectedItemIndices[ i ] ).Id() ); } + CleanupStack::Pop(&aItemIds); } // ----------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/src/glxustringconverter.cpp --- a/photosgallery/viewframework/medialists/src/glxustringconverter.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxustringconverter.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -35,6 +35,7 @@ const TInt KBytesInKB = 1024; const TInt KBytesInMB = 1024 * 1024; +const TInt KBytesInGB = 1024 * 1024 * 1024; _LIT( KBlankText, " " ); @@ -216,10 +217,15 @@ void CGlxUStringConverter::GetFormattedItemSizeL(const CGlxMedia& aMedia, HBufC*& aString) const { TRACER("CGlxUStringConverter::GetFormattedItemSizeL"); - TInt size(0); + TUint size(0); if(aMedia.GetValueTObject( size, KMPXMediaGeneralSize )) { - if(size >= KBytesInMB) + if(size >= KBytesInGB) + { + TInt gbSize = size / KBytesInGB ; // Size in GB + aString = StringLoader::LoadL(R_QTN_SIZE_GB, gbSize); + } + else if(size >= KBytesInMB) { TInt mbSize = size / KBytesInMB ; // Size in MB aString = StringLoader::LoadL(R_QTN_SIZE_MB, mbSize); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/BWINS/t_cglxcacheu.def --- a/photosgallery/viewframework/medialists/tsrc/BWINS/t_cglxcacheu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/BWINS/t_cglxcacheu.def Tue Apr 27 16:37:53 2010 +0300 @@ -2,37 +2,37 @@ ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 1 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 2 NONAME ; int TGlxMedia::GetDuration(float &) const ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 3 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) - ?GetSize@TGlxMedia@@QBEHAAH@Z @ 4 NONAME ; int TGlxMedia::GetSize(int &) const - ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 5 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) - ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 6 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const - ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 7 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const - ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 8 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const - ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 9 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const - ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 10 NONAME ; class MEUnitTest * CreateTestSuiteL(void) - ?Reset@CGlxMedia@@QAEXXZ @ 11 NONAME ; void CGlxMedia::Reset(void) - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 12 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) - ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 13 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const - ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 14 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const - ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 15 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) - ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 16 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 17 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 18 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const - ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 19 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const - ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 20 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) - ??1CGlxMedia@@UAE@XZ @ 21 NONAME ; CGlxMedia::~CGlxMedia(void) - ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 22 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const - ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 23 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const - ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 24 NONAME ; int TGlxMedia::GetFrameCount(int &) const - ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 25 NONAME ; int TGlxMedia::IsDrmProtected(void) const - ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 26 NONAME ; int TGlxMedia::GetSystemItem(int &) const - ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 27 NONAME ; int TGlxMedia::GetDrmProtected(int &) const - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 28 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) - ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 29 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const - ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 30 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const - ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 31 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const - ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 32 NONAME ; void CGlxMedia::HandleModified(class RArray const &) - ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 33 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const - ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 34 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 4 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) + ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 5 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const + ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 6 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const + ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 7 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const + ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 8 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 9 NONAME ; class MEUnitTest * CreateTestSuiteL(void) + ?Reset@CGlxMedia@@QAEXXZ @ 10 NONAME ; void CGlxMedia::Reset(void) + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 11 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) + ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 12 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const + ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 13 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const + ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 14 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) + ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 15 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 16 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 17 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const + ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 18 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const + ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 19 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) + ??1CGlxMedia@@UAE@XZ @ 20 NONAME ; CGlxMedia::~CGlxMedia(void) + ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 21 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const + ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 22 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const + ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 23 NONAME ; int TGlxMedia::GetFrameCount(int &) const + ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 24 NONAME ; int TGlxMedia::IsDrmProtected(void) const + ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 25 NONAME ; int TGlxMedia::GetSystemItem(int &) const + ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 26 NONAME ; int TGlxMedia::GetDrmProtected(int &) const + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 27 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) + ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 28 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const + ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 29 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const + ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 30 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const + ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 31 NONAME ; void CGlxMedia::HandleModified(class RArray const &) + ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 32 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 33 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?GetSize@TGlxMedia@@QBEHAAI@Z @ 34 NONAME ; int TGlxMedia::GetSize(unsigned int &) const ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 35 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 36 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) ?IsStatic@TGlxMedia@@QBEHXZ @ 37 NONAME ; int TGlxMedia::IsStatic(void) const diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/BWINS/t_cglxgarbagecollectoru.def --- a/photosgallery/viewframework/medialists/tsrc/BWINS/t_cglxgarbagecollectoru.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/BWINS/t_cglxgarbagecollectoru.def Tue Apr 27 16:37:53 2010 +0300 @@ -2,43 +2,43 @@ ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 1 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 2 NONAME ; int TGlxMedia::GetDuration(float &) const ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 3 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) - ?GetSize@TGlxMedia@@QBEHAAH@Z @ 4 NONAME ; int TGlxMedia::GetSize(int &) const - ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 5 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) - ??0CIdle@@IAE@H@Z @ 6 NONAME ; CIdle::CIdle(int) - ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 7 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const - ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 8 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const - ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 9 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const - ?NewL@CIdle@@SAPAV1@H@Z @ 10 NONAME ; class CIdle * CIdle::NewL(int) - ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 11 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const - ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 12 NONAME ; class MEUnitTest * CreateTestSuiteL(void) - ?Reset@CGlxMedia@@QAEXXZ @ 13 NONAME ; void CGlxMedia::Reset(void) - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 14 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) - ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 15 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const - ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 16 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const - ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 17 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) - ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 18 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 19 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 20 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const - ?RunL@CIdle@@MAEXXZ @ 21 NONAME ; void CIdle::RunL(void) - ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 22 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) - ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 23 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const - ??1CIdle@@UAE@XZ @ 24 NONAME ; CIdle::~CIdle(void) - ??1CGlxMedia@@UAE@XZ @ 25 NONAME ; CGlxMedia::~CGlxMedia(void) - ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 26 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const - ?Start@CIdle@@QAEXVTCallBack@@@Z @ 27 NONAME ; void CIdle::Start(class TCallBack) - ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 28 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const - ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 29 NONAME ; int TGlxMedia::GetFrameCount(int &) const - ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 30 NONAME ; int TGlxMedia::IsDrmProtected(void) const - ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 31 NONAME ; int TGlxMedia::GetSystemItem(int &) const - ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 32 NONAME ; int TGlxMedia::GetDrmProtected(int &) const - ?New@CIdle@@SAPAV1@H@Z @ 33 NONAME ; class CIdle * CIdle::New(int) - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 34 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) - ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 35 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const - ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 36 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const - ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 37 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const - ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 38 NONAME ; void CGlxMedia::HandleModified(class RArray const &) - ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 39 NONAME ; int TGlxMedia::GetDate(class TTime &) const - ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 40 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 4 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) + ??0CIdle@@IAE@H@Z @ 5 NONAME ; CIdle::CIdle(int) + ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 6 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const + ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 7 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const + ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 8 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const + ?NewL@CIdle@@SAPAV1@H@Z @ 9 NONAME ; class CIdle * CIdle::NewL(int) + ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 10 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 11 NONAME ; class MEUnitTest * CreateTestSuiteL(void) + ?Reset@CGlxMedia@@QAEXXZ @ 12 NONAME ; void CGlxMedia::Reset(void) + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 13 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) + ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 14 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const + ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 15 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const + ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 16 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) + ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 17 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 18 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 19 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const + ?RunL@CIdle@@MAEXXZ @ 20 NONAME ; void CIdle::RunL(void) + ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 21 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) + ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 22 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const + ??1CIdle@@UAE@XZ @ 23 NONAME ; CIdle::~CIdle(void) + ??1CGlxMedia@@UAE@XZ @ 24 NONAME ; CGlxMedia::~CGlxMedia(void) + ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 25 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const + ?Start@CIdle@@QAEXVTCallBack@@@Z @ 26 NONAME ; void CIdle::Start(class TCallBack) + ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 27 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const + ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 28 NONAME ; int TGlxMedia::GetFrameCount(int &) const + ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 29 NONAME ; int TGlxMedia::IsDrmProtected(void) const + ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 30 NONAME ; int TGlxMedia::GetSystemItem(int &) const + ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 31 NONAME ; int TGlxMedia::GetDrmProtected(int &) const + ?New@CIdle@@SAPAV1@H@Z @ 32 NONAME ; class CIdle * CIdle::New(int) + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 33 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) + ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 34 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const + ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 35 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const + ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 36 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const + ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 37 NONAME ; void CGlxMedia::HandleModified(class RArray const &) + ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 38 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 39 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?GetSize@TGlxMedia@@QBEHAAI@Z @ 40 NONAME ; int TGlxMedia::GetSize(unsigned int &) const ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 41 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 42 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) ?IsStatic@TGlxMedia@@QBEHXZ @ 43 NONAME ; int TGlxMedia::IsStatic(void) const diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/BWINS/t_cglxmediau.def --- a/photosgallery/viewframework/medialists/tsrc/BWINS/t_cglxmediau.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/BWINS/t_cglxmediau.def Tue Apr 27 16:37:53 2010 +0300 @@ -1,33 +1,33 @@ EXPORTS ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 1 NONAME ; int TGlxMedia::GetDuration(float &) const ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 2 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) - ?GetSize@TGlxMedia@@QBEHAAH@Z @ 3 NONAME ; int TGlxMedia::GetSize(int &) const - ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 4 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) - ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 5 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const - ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 6 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const - ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 7 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const - ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 8 NONAME ; class MEUnitTest * CreateTestSuiteL(void) - ?Reset@CGlxMedia@@QAEXXZ @ 9 NONAME ; void CGlxMedia::Reset(void) - ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 10 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const - ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 11 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) - ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 12 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 13 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 14 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const - ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 15 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const - ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 16 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) - ??1CGlxMedia@@UAE@XZ @ 17 NONAME ; CGlxMedia::~CGlxMedia(void) - ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 18 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const - ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 19 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const - ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 20 NONAME ; int TGlxMedia::GetFrameCount(int &) const - ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 21 NONAME ; int TGlxMedia::IsDrmProtected(void) const - ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 22 NONAME ; int TGlxMedia::GetSystemItem(int &) const - ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 23 NONAME ; int TGlxMedia::GetDrmProtected(int &) const - ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 24 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const - ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 25 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const - ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 26 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const - ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 27 NONAME ; void CGlxMedia::HandleModified(class RArray const &) - ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 28 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const - ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 29 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 3 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) + ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 4 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const + ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 5 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const + ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 6 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 7 NONAME ; class MEUnitTest * CreateTestSuiteL(void) + ?Reset@CGlxMedia@@QAEXXZ @ 8 NONAME ; void CGlxMedia::Reset(void) + ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 9 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const + ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 10 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) + ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 11 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 12 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 13 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const + ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 14 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const + ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 15 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) + ??1CGlxMedia@@UAE@XZ @ 16 NONAME ; CGlxMedia::~CGlxMedia(void) + ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 17 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const + ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 18 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const + ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 19 NONAME ; int TGlxMedia::GetFrameCount(int &) const + ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 20 NONAME ; int TGlxMedia::IsDrmProtected(void) const + ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 21 NONAME ; int TGlxMedia::GetSystemItem(int &) const + ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 22 NONAME ; int TGlxMedia::GetDrmProtected(int &) const + ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 23 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const + ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 24 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const + ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 25 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const + ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 26 NONAME ; void CGlxMedia::HandleModified(class RArray const &) + ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 27 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 28 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?GetSize@TGlxMedia@@QBEHAAI@Z @ 29 NONAME ; int TGlxMedia::GetSize(unsigned int &) const ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 30 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 31 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) ?IsStatic@TGlxMedia@@QBEHXZ @ 32 NONAME ; int TGlxMedia::IsStatic(void) const diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxattributecontextu.def --- a/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxattributecontextu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxattributecontextu.def Tue Apr 27 16:37:53 2010 +0300 @@ -10,8 +10,8 @@ ?SetDisabledIfMoreThanRangeSelected@TGlxSelectionIterator@@QAEXH@Z @ 9 NONAME ; void TGlxSelectionIterator::SetDisabledIfMoreThanRangeSelected(int) ??0TGlxWindowIterator@@QAE@ABV0@@Z @ 10 NONAME ; TGlxWindowIterator::TGlxWindowIterator(class TGlxWindowIterator const &) ?NewL@CGlxDefaultAttributeContext@@SAPAV1@XZ @ 11 NONAME ; class CGlxDefaultAttributeContext * CGlxDefaultAttributeContext::NewL(void) - ?SetRangeOffsets@TGlxFromFocusOutwardIterator@@QAEXHH@Z @ 12 NONAME ; void TGlxFromFocusOutwardIterator::SetRangeOffsets(int, int) - ?GetSize@TGlxMedia@@QBEHAAH@Z @ 13 NONAME ; int TGlxMedia::GetSize(int &) const + ?ItemRightsValidityCheckL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 12 NONAME ; int CGlxDRMUtility::ItemRightsValidityCheckL(class TDesC16 const &, int) + ?SetRangeOffsets@TGlxFromFocusOutwardIterator@@QAEXHH@Z @ 13 NONAME ; void TGlxFromFocusOutwardIterator::SetRangeOffsets(int, int) ??ETGlxWindowIterator@@QAEHH@Z @ 14 NONAME ; int TGlxWindowIterator::operator++(int) ?__DbgTestInvariant@CGlxListWindow@@QBEXXZ @ 15 NONAME ; void CGlxListWindow::__DbgTestInvariant(void) const ?InstanceL@MGlxCache@@SAPAV1@XZ @ 16 NONAME ; class MGlxCache * MGlxCache::InstanceL(void) @@ -75,9 +75,9 @@ ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 74 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const ?AddObjects@CGlxListWindow@@QAEXHH@Z @ 75 NONAME ; void CGlxListWindow::AddObjects(int, int) ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 76 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 77 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) - ??0TGlxSequentialIterator@@QAE@XZ @ 78 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void) - ?Close@CGlxDRMUtility@@QAEXXZ @ 79 NONAME ; void CGlxDRMUtility::Close(void) + ??0TGlxSequentialIterator@@QAE@XZ @ 77 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void) + ?Close@CGlxDRMUtility@@QAEXXZ @ 78 NONAME ; void CGlxDRMUtility::Close(void) + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 79 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 80 NONAME ; int CGlxAttributeContext::AttributeCount(void) ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 81 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 82 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const @@ -96,28 +96,28 @@ ?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 95 NONAME ; void CGlxListWindow::RemoveObjects(int, int) ?Close@TGlxFetchContextRemover@@QAEXXZ @ 96 NONAME ; void TGlxFetchContextRemover::Close(void) ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 97 NONAME ; class CBase const * CGlxListWindow::At(int) const - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 98 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) - ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 99 NONAME ; class CBase * CGlxListWindow::At(int) + ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 98 NONAME ; class CBase * CGlxListWindow::At(int) + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 99 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void) ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 101 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &) ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 102 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void) ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 103 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 104 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void) ?Cleanup@CGlxListWindow@@QAEXXZ @ 105 NONAME ; void CGlxListWindow::Cleanup(void) - ??1TGlxExclusionIterator@@QAE@XZ @ 106 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void) - ??1TGlxFetchContextRemover@@QAE@XZ @ 107 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void) - ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 108 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int) - ??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 109 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId const &, class TGlxMediaId) - ?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 110 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const - ?MatchById@TGlxMedia@@SAHABV1@0@Z @ 111 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &) - ?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 112 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int) - ?MimeType@TGlxMedia@@QBEABVTDesC16@@XZ @ 113 NONAME ; class TDesC16 const & TGlxMedia::MimeType(void) const - ?Uri@TGlxMedia@@QBEABVTDesC16@@XZ @ 114 NONAME ; class TDesC16 const & TGlxMedia::Uri(void) const - ??0TGlxFirstThenLastIterator@@QAE@XZ @ 115 NONAME ; TGlxFirstThenLastIterator::TGlxFirstThenLastIterator(void) - ??1CGlxAttributeContext@@UAE@XZ @ 116 NONAME ; CGlxAttributeContext::~CGlxAttributeContext(void) - ?SetRangeOffsets@CGlxDefaultAttributeContext@@QAEXHH@Z @ 117 NONAME ; void CGlxDefaultAttributeContext::SetRangeOffsets(int, int) - ?ValueCObject@CGlxMedia@@QBEPBVCBase@@ABVTMPXAttribute@@@Z @ 118 NONAME ; class CBase const * CGlxMedia::ValueCObject(class TMPXAttribute const &) const - ?CheckOpenRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 119 NONAME ; int CGlxDRMUtility::CheckOpenRightsL(class TDesC16 const &, int) + ?GetSize@TGlxMedia@@QBEHAAI@Z @ 106 NONAME ; int TGlxMedia::GetSize(unsigned int &) const + ??1TGlxExclusionIterator@@QAE@XZ @ 107 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void) + ??1TGlxFetchContextRemover@@QAE@XZ @ 108 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void) + ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 109 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int) + ??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 110 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId const &, class TGlxMediaId) + ?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 111 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const + ?MatchById@TGlxMedia@@SAHABV1@0@Z @ 112 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &) + ?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 113 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int) + ?MimeType@TGlxMedia@@QBEABVTDesC16@@XZ @ 114 NONAME ; class TDesC16 const & TGlxMedia::MimeType(void) const + ?Uri@TGlxMedia@@QBEABVTDesC16@@XZ @ 115 NONAME ; class TDesC16 const & TGlxMedia::Uri(void) const + ??0TGlxFirstThenLastIterator@@QAE@XZ @ 116 NONAME ; TGlxFirstThenLastIterator::TGlxFirstThenLastIterator(void) + ??1CGlxAttributeContext@@UAE@XZ @ 117 NONAME ; CGlxAttributeContext::~CGlxAttributeContext(void) + ?SetRangeOffsets@CGlxDefaultAttributeContext@@QAEXHH@Z @ 118 NONAME ; void CGlxDefaultAttributeContext::SetRangeOffsets(int, int) + ?ValueCObject@CGlxMedia@@QBEPBVCBase@@ABVTMPXAttribute@@@Z @ 119 NONAME ; class CBase const * CGlxMedia::ValueCObject(class TMPXAttribute const &) const ?GetCoordinate@TGlxMedia@@QBEHAAVTCoordinate@@@Z @ 120 NONAME ; int TGlxMedia::GetCoordinate(class TCoordinate &) const ?NewL@CGlxDefaultThumbnailContext@@SAPAV1@XZ @ 121 NONAME ; class CGlxDefaultThumbnailContext * CGlxDefaultThumbnailContext::NewL(void) ?IsSlideShowPlayableContent@TGlxMedia@@QBEHXZ @ 122 NONAME ; int TGlxMedia::IsSlideShowPlayableContent(void) const diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxitemlistu.def --- a/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxitemlistu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxitemlistu.def Tue Apr 27 16:37:53 2010 +0300 @@ -1,36 +1,36 @@ EXPORTS ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 1 NONAME ; int TGlxMedia::GetDuration(float &) const ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 2 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) - ?GetSize@TGlxMedia@@QBEHAAH@Z @ 3 NONAME ; int TGlxMedia::GetSize(int &) const - ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 4 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) - ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 5 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const - ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 6 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const - ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 7 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const - ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 8 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const - ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 9 NONAME ; class MEUnitTest * CreateTestSuiteL(void) - ?Reset@CGlxMedia@@QAEXXZ @ 10 NONAME ; void CGlxMedia::Reset(void) - ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 11 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const - ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 12 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) - ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 13 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 14 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 15 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const - ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 16 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const - ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 17 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) - ??1CGlxMedia@@UAE@XZ @ 18 NONAME ; CGlxMedia::~CGlxMedia(void) - ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 19 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const - ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 20 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const - ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 21 NONAME ; int TGlxMedia::GetFrameCount(int &) const - ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 22 NONAME ; int TGlxMedia::IsDrmProtected(void) const - ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 23 NONAME ; int TGlxMedia::GetSystemItem(int &) const - ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 24 NONAME ; int TGlxMedia::GetDrmProtected(int &) const - ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 25 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &) - ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 26 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const - ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 27 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) - ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 28 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const - ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 29 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const - ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 30 NONAME ; void CGlxMedia::HandleModified(class RArray const &) - ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 31 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const - ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 32 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 3 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) + ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 4 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const + ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 5 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const + ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 6 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const + ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 7 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 8 NONAME ; class MEUnitTest * CreateTestSuiteL(void) + ?Reset@CGlxMedia@@QAEXXZ @ 9 NONAME ; void CGlxMedia::Reset(void) + ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 10 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const + ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 11 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) + ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 12 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 13 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 14 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const + ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 15 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const + ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 16 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) + ??1CGlxMedia@@UAE@XZ @ 17 NONAME ; CGlxMedia::~CGlxMedia(void) + ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 18 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const + ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 19 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const + ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 20 NONAME ; int TGlxMedia::GetFrameCount(int &) const + ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 21 NONAME ; int TGlxMedia::IsDrmProtected(void) const + ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 22 NONAME ; int TGlxMedia::GetSystemItem(int &) const + ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 23 NONAME ; int TGlxMedia::GetDrmProtected(int &) const + ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 24 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &) + ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 25 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const + ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 26 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) + ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 27 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const + ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 28 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const + ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 29 NONAME ; void CGlxMedia::HandleModified(class RArray const &) + ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 30 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 31 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?GetSize@TGlxMedia@@QBEHAAI@Z @ 32 NONAME ; int TGlxMedia::GetSize(unsigned int &) const ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 33 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 34 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) ?IsStatic@TGlxMedia@@QBEHXZ @ 35 NONAME ; int TGlxMedia::IsStatic(void) const diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxnavigablelistu.def --- a/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxnavigablelistu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxnavigablelistu.def Tue Apr 27 16:37:53 2010 +0300 @@ -2,37 +2,37 @@ ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 1 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 2 NONAME ; int TGlxMedia::GetDuration(float &) const ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 3 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) - ?GetSize@TGlxMedia@@QBEHAAH@Z @ 4 NONAME ; int TGlxMedia::GetSize(int &) const - ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 5 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) - ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 6 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const - ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 7 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const - ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 8 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const - ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 9 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const - ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 10 NONAME ; class MEUnitTest * CreateTestSuiteL(void) - ?Reset@CGlxMedia@@QAEXXZ @ 11 NONAME ; void CGlxMedia::Reset(void) - ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 12 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const - ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 13 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const - ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 14 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) - ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 15 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 16 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 17 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const - ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 18 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const - ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 19 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) - ??1CGlxMedia@@UAE@XZ @ 20 NONAME ; CGlxMedia::~CGlxMedia(void) - ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 21 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const - ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 22 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const - ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 23 NONAME ; int TGlxMedia::GetFrameCount(int &) const - ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 24 NONAME ; int TGlxMedia::IsDrmProtected(void) const - ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 25 NONAME ; int TGlxMedia::GetSystemItem(int &) const - ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 26 NONAME ; int TGlxMedia::GetDrmProtected(int &) const - ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 27 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &) - ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 28 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const - ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 29 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) - ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 30 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const - ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 31 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const - ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 32 NONAME ; void CGlxMedia::HandleModified(class RArray const &) - ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 33 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const - ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 34 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 4 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) + ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 5 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const + ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 6 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const + ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 7 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const + ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 8 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 9 NONAME ; class MEUnitTest * CreateTestSuiteL(void) + ?Reset@CGlxMedia@@QAEXXZ @ 10 NONAME ; void CGlxMedia::Reset(void) + ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 11 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const + ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 12 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const + ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 13 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) + ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 14 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 15 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 16 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const + ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 17 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const + ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 18 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) + ??1CGlxMedia@@UAE@XZ @ 19 NONAME ; CGlxMedia::~CGlxMedia(void) + ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 20 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const + ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 21 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const + ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 22 NONAME ; int TGlxMedia::GetFrameCount(int &) const + ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 23 NONAME ; int TGlxMedia::IsDrmProtected(void) const + ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 24 NONAME ; int TGlxMedia::GetSystemItem(int &) const + ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 25 NONAME ; int TGlxMedia::GetDrmProtected(int &) const + ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 26 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &) + ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 27 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const + ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 28 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) + ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 29 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const + ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 30 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const + ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 31 NONAME ; void CGlxMedia::HandleModified(class RArray const &) + ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 32 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 33 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?GetSize@TGlxMedia@@QBEHAAI@Z @ 34 NONAME ; int TGlxMedia::GetSize(unsigned int &) const ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 35 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 36 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) ?IsStatic@TGlxMedia@@QBEHXZ @ 37 NONAME ; int TGlxMedia::IsStatic(void) const diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxstaticitemlistu.def --- a/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxstaticitemlistu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxstaticitemlistu.def Tue Apr 27 16:37:53 2010 +0300 @@ -2,36 +2,36 @@ ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 1 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 2 NONAME ; int TGlxMedia::GetDuration(float &) const ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 3 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) - ?GetSize@TGlxMedia@@QBEHAAH@Z @ 4 NONAME ; int TGlxMedia::GetSize(int &) const - ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 5 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) - ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 6 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const - ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 7 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const - ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 8 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const - ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 9 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const - ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 10 NONAME ; class MEUnitTest * CreateTestSuiteL(void) - ?Reset@CGlxMedia@@QAEXXZ @ 11 NONAME ; void CGlxMedia::Reset(void) - ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 12 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const - ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 13 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) - ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 14 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 15 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 16 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const - ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 17 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const - ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 18 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) - ??1CGlxMedia@@UAE@XZ @ 19 NONAME ; CGlxMedia::~CGlxMedia(void) - ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 20 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const - ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 21 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const - ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 22 NONAME ; int TGlxMedia::GetFrameCount(int &) const - ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 23 NONAME ; int TGlxMedia::IsDrmProtected(void) const - ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 24 NONAME ; int TGlxMedia::GetSystemItem(int &) const - ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 25 NONAME ; int TGlxMedia::GetDrmProtected(int &) const - ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 26 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &) - ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 27 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const - ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 28 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) - ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 29 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const - ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 30 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const - ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 31 NONAME ; void CGlxMedia::HandleModified(class RArray const &) - ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 32 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const - ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 33 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 4 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) + ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 5 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const + ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 6 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const + ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 7 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const + ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 8 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 9 NONAME ; class MEUnitTest * CreateTestSuiteL(void) + ?Reset@CGlxMedia@@QAEXXZ @ 10 NONAME ; void CGlxMedia::Reset(void) + ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 11 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const + ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 12 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) + ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 13 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 14 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 15 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const + ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 16 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const + ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 17 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) + ??1CGlxMedia@@UAE@XZ @ 18 NONAME ; CGlxMedia::~CGlxMedia(void) + ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 19 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const + ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 20 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const + ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 21 NONAME ; int TGlxMedia::GetFrameCount(int &) const + ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 22 NONAME ; int TGlxMedia::IsDrmProtected(void) const + ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 23 NONAME ; int TGlxMedia::GetSystemItem(int &) const + ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 24 NONAME ; int TGlxMedia::GetDrmProtected(int &) const + ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 25 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &) + ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 26 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const + ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 27 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) + ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 28 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const + ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 29 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const + ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 30 NONAME ; void CGlxMedia::HandleModified(class RArray const &) + ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 31 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 32 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?GetSize@TGlxMedia@@QBEHAAI@Z @ 33 NONAME ; int TGlxMedia::GetSize(unsigned int &) const ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 34 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 35 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) ?IsStatic@TGlxMedia@@QBEHXZ @ 36 NONAME ; int TGlxMedia::IsStatic(void) const diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/BWINS/ut_glxerrormanageru.def --- a/photosgallery/viewframework/medialists/tsrc/BWINS/ut_glxerrormanageru.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/BWINS/ut_glxerrormanageru.def Tue Apr 27 16:37:53 2010 +0300 @@ -10,8 +10,8 @@ ?SetDisabledIfMoreThanRangeSelected@TGlxSelectionIterator@@QAEXH@Z @ 9 NONAME ; void TGlxSelectionIterator::SetDisabledIfMoreThanRangeSelected(int) ??0TGlxWindowIterator@@QAE@ABV0@@Z @ 10 NONAME ; TGlxWindowIterator::TGlxWindowIterator(class TGlxWindowIterator const &) ?NewL@CGlxDefaultAttributeContext@@SAPAV1@XZ @ 11 NONAME ; class CGlxDefaultAttributeContext * CGlxDefaultAttributeContext::NewL(void) - ?SetRangeOffsets@TGlxFromFocusOutwardIterator@@QAEXHH@Z @ 12 NONAME ; void TGlxFromFocusOutwardIterator::SetRangeOffsets(int, int) - ?GetSize@TGlxMedia@@QBEHAAH@Z @ 13 NONAME ; int TGlxMedia::GetSize(int &) const + ?ItemRightsValidityCheckL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 12 NONAME ; int CGlxDRMUtility::ItemRightsValidityCheckL(class TDesC16 const &, int) + ?SetRangeOffsets@TGlxFromFocusOutwardIterator@@QAEXHH@Z @ 13 NONAME ; void TGlxFromFocusOutwardIterator::SetRangeOffsets(int, int) ??ETGlxWindowIterator@@QAEHH@Z @ 14 NONAME ; int TGlxWindowIterator::operator++(int) ?__DbgTestInvariant@CGlxListWindow@@QBEXXZ @ 15 NONAME ; void CGlxListWindow::__DbgTestInvariant(void) const ?InstanceL@MGlxCache@@SAPAV1@XZ @ 16 NONAME ; class MGlxCache * MGlxCache::InstanceL(void) @@ -75,9 +75,9 @@ ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 74 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const ?AddObjects@CGlxListWindow@@QAEXHH@Z @ 75 NONAME ; void CGlxListWindow::AddObjects(int, int) ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 76 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 77 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) - ??0TGlxSequentialIterator@@QAE@XZ @ 78 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void) - ?Close@CGlxDRMUtility@@QAEXXZ @ 79 NONAME ; void CGlxDRMUtility::Close(void) + ??0TGlxSequentialIterator@@QAE@XZ @ 77 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void) + ?Close@CGlxDRMUtility@@QAEXXZ @ 78 NONAME ; void CGlxDRMUtility::Close(void) + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 79 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 80 NONAME ; int CGlxAttributeContext::AttributeCount(void) ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 81 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 82 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const @@ -96,28 +96,28 @@ ?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 95 NONAME ; void CGlxListWindow::RemoveObjects(int, int) ?Close@TGlxFetchContextRemover@@QAEXXZ @ 96 NONAME ; void TGlxFetchContextRemover::Close(void) ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 97 NONAME ; class CBase const * CGlxListWindow::At(int) const - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 98 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) - ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 99 NONAME ; class CBase * CGlxListWindow::At(int) + ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 98 NONAME ; class CBase * CGlxListWindow::At(int) + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 99 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void) ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 101 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &) ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 102 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void) ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 103 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 104 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void) ?Cleanup@CGlxListWindow@@QAEXXZ @ 105 NONAME ; void CGlxListWindow::Cleanup(void) - ??1TGlxExclusionIterator@@QAE@XZ @ 106 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void) - ??1TGlxFetchContextRemover@@QAE@XZ @ 107 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void) - ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 108 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int) - ??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 109 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId const &, class TGlxMediaId) - ?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 110 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const - ?MatchById@TGlxMedia@@SAHABV1@0@Z @ 111 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &) - ?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 112 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int) - ?MimeType@TGlxMedia@@QBEABVTDesC16@@XZ @ 113 NONAME ; class TDesC16 const & TGlxMedia::MimeType(void) const - ?Uri@TGlxMedia@@QBEABVTDesC16@@XZ @ 114 NONAME ; class TDesC16 const & TGlxMedia::Uri(void) const - ??0TGlxFirstThenLastIterator@@QAE@XZ @ 115 NONAME ; TGlxFirstThenLastIterator::TGlxFirstThenLastIterator(void) - ??1CGlxAttributeContext@@UAE@XZ @ 116 NONAME ; CGlxAttributeContext::~CGlxAttributeContext(void) - ?SetRangeOffsets@CGlxDefaultAttributeContext@@QAEXHH@Z @ 117 NONAME ; void CGlxDefaultAttributeContext::SetRangeOffsets(int, int) - ?ValueCObject@CGlxMedia@@QBEPBVCBase@@ABVTMPXAttribute@@@Z @ 118 NONAME ; class CBase const * CGlxMedia::ValueCObject(class TMPXAttribute const &) const - ?CheckOpenRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 119 NONAME ; int CGlxDRMUtility::CheckOpenRightsL(class TDesC16 const &, int) + ?GetSize@TGlxMedia@@QBEHAAI@Z @ 106 NONAME ; int TGlxMedia::GetSize(unsigned int &) const + ??1TGlxExclusionIterator@@QAE@XZ @ 107 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void) + ??1TGlxFetchContextRemover@@QAE@XZ @ 108 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void) + ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 109 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int) + ??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 110 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId const &, class TGlxMediaId) + ?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 111 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const + ?MatchById@TGlxMedia@@SAHABV1@0@Z @ 112 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &) + ?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 113 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int) + ?MimeType@TGlxMedia@@QBEABVTDesC16@@XZ @ 114 NONAME ; class TDesC16 const & TGlxMedia::MimeType(void) const + ?Uri@TGlxMedia@@QBEABVTDesC16@@XZ @ 115 NONAME ; class TDesC16 const & TGlxMedia::Uri(void) const + ??0TGlxFirstThenLastIterator@@QAE@XZ @ 116 NONAME ; TGlxFirstThenLastIterator::TGlxFirstThenLastIterator(void) + ??1CGlxAttributeContext@@UAE@XZ @ 117 NONAME ; CGlxAttributeContext::~CGlxAttributeContext(void) + ?SetRangeOffsets@CGlxDefaultAttributeContext@@QAEXHH@Z @ 118 NONAME ; void CGlxDefaultAttributeContext::SetRangeOffsets(int, int) + ?ValueCObject@CGlxMedia@@QBEPBVCBase@@ABVTMPXAttribute@@@Z @ 119 NONAME ; class CBase const * CGlxMedia::ValueCObject(class TMPXAttribute const &) const ?GetCoordinate@TGlxMedia@@QBEHAAVTCoordinate@@@Z @ 120 NONAME ; int TGlxMedia::GetCoordinate(class TCoordinate &) const ?NewL@CGlxDefaultThumbnailContext@@SAPAV1@XZ @ 121 NONAME ; class CGlxDefaultThumbnailContext * CGlxDefaultThumbnailContext::NewL(void) ?IsSlideShowPlayableContent@TGlxMedia@@QBEHXZ @ 122 NONAME ; int TGlxMedia::IsSlideShowPlayableContent(void) const diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/eabi/t_cglxcacheu.def --- a/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxcacheu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxcacheu.def Tue Apr 27 16:37:53 2010 +0300 @@ -38,7 +38,7 @@ _ZNK9TGlxMedia5TitleEv @ 37 NONAME _ZNK9TGlxMedia7CommentEv @ 38 NONAME _ZNK9TGlxMedia7GetDateER5TTime @ 39 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 40 NONAME + _ZNK9TGlxMedia7GetSizeERj @ 40 NONAME _ZNK9TGlxMedia8CategoryEv @ 41 NONAME _ZNK9TGlxMedia8IsStaticEv @ 42 NONAME _ZNK9TGlxMedia8MimeTypeEv @ 43 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/eabi/t_cglxgarbagecollectoru.def --- a/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxgarbagecollectoru.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxgarbagecollectoru.def Tue Apr 27 16:37:53 2010 +0300 @@ -48,7 +48,7 @@ _ZNK9TGlxMedia5TitleEv @ 47 NONAME _ZNK9TGlxMedia7CommentEv @ 48 NONAME _ZNK9TGlxMedia7GetDateER5TTime @ 49 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 50 NONAME + _ZNK9TGlxMedia7GetSizeERj @ 50 NONAME _ZNK9TGlxMedia8CategoryEv @ 51 NONAME _ZNK9TGlxMedia8IsStaticEv @ 52 NONAME _ZNK9TGlxMedia8MimeTypeEv @ 53 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/eabi/t_cglxmediau.def --- a/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxmediau.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxmediau.def Tue Apr 27 16:37:53 2010 +0300 @@ -36,7 +36,7 @@ _ZNK9TGlxMedia5TitleEv @ 35 NONAME _ZNK9TGlxMedia7CommentEv @ 36 NONAME _ZNK9TGlxMedia7GetDateER5TTime @ 37 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 38 NONAME + _ZNK9TGlxMedia7GetSizeERj @ 38 NONAME _ZNK9TGlxMedia8CategoryEv @ 39 NONAME _ZNK9TGlxMedia8IsStaticEv @ 40 NONAME _ZNK9TGlxMedia8MimeTypeEv @ 41 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxattributecontextu.def --- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxattributecontextu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxattributecontextu.def Tue Apr 27 16:37:53 2010 +0300 @@ -145,7 +145,7 @@ _ZNK9TGlxMedia5TitleEv @ 144 NONAME _ZNK9TGlxMedia7CommentEv @ 145 NONAME _ZNK9TGlxMedia7GetDateER5TTime @ 146 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 147 NONAME + _ZNK9TGlxMedia7GetSizeERj @ 147 NONAME _ZNK9TGlxMedia8CategoryEv @ 148 NONAME _ZNK9TGlxMedia8IsStaticEv @ 149 NONAME _ZNK9TGlxMedia8MimeTypeEv @ 150 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxitemlistu.def --- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxitemlistu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxitemlistu.def Tue Apr 27 16:37:53 2010 +0300 @@ -38,7 +38,7 @@ _ZNK9TGlxMedia5TitleEv @ 37 NONAME _ZNK9TGlxMedia7CommentEv @ 38 NONAME _ZNK9TGlxMedia7GetDateER5TTime @ 39 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 40 NONAME + _ZNK9TGlxMedia7GetSizeERj @ 40 NONAME _ZNK9TGlxMedia8CategoryEv @ 41 NONAME _ZNK9TGlxMedia8IsStaticEv @ 42 NONAME _ZNK9TGlxMedia8MimeTypeEv @ 43 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxnavigablelistu.def --- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxnavigablelistu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxnavigablelistu.def Tue Apr 27 16:37:53 2010 +0300 @@ -38,7 +38,7 @@ _ZNK9TGlxMedia5TitleEv @ 37 NONAME _ZNK9TGlxMedia7CommentEv @ 38 NONAME _ZNK9TGlxMedia7GetDateER5TTime @ 39 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 40 NONAME + _ZNK9TGlxMedia7GetSizeERj @ 40 NONAME _ZNK9TGlxMedia8CategoryEv @ 41 NONAME _ZNK9TGlxMedia8IsStaticEv @ 42 NONAME _ZNK9TGlxMedia8MimeTypeEv @ 43 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxstaticitemlistu.def --- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxstaticitemlistu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxstaticitemlistu.def Tue Apr 27 16:37:53 2010 +0300 @@ -38,7 +38,7 @@ _ZNK9TGlxMedia5TitleEv @ 37 NONAME _ZNK9TGlxMedia7CommentEv @ 38 NONAME _ZNK9TGlxMedia7GetDateER5TTime @ 39 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 40 NONAME + _ZNK9TGlxMedia7GetSizeERj @ 40 NONAME _ZNK9TGlxMedia8CategoryEv @ 41 NONAME _ZNK9TGlxMedia8IsStaticEv @ 42 NONAME _ZNK9TGlxMedia8MimeTypeEv @ 43 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/eabi/ut_glxerrormanageru.def --- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_glxerrormanageru.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_glxerrormanageru.def Tue Apr 27 16:37:53 2010 +0300 @@ -145,7 +145,7 @@ _ZNK9TGlxMedia5TitleEv @ 144 NONAME _ZNK9TGlxMedia7CommentEv @ 145 NONAME _ZNK9TGlxMedia7GetDateER5TTime @ 146 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 147 NONAME + _ZNK9TGlxMedia7GetSizeERj @ 147 NONAME _ZNK9TGlxMedia8CategoryEv @ 148 NONAME _ZNK9TGlxMedia8IsStaticEv @ 149 NONAME _ZNK9TGlxMedia8MimeTypeEv @ 150 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/medialists/tsrc/t_cglxgarbagecollector/t_cglxgarbagecollector.cpp --- a/photosgallery/viewframework/medialists/tsrc/t_cglxgarbagecollector/t_cglxgarbagecollector.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/medialists/tsrc/t_cglxgarbagecollector/t_cglxgarbagecollector.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -2260,11 +2260,13 @@ TInt /*aIndex*/, RArray& aAttributes) { + CleanupClosePushL(aAttributes); TInt attributeCount = iAttributes.Count(); for (TInt i = 0; i < attributeCount; ++i) { aAttributes.AppendL(iAttributes[i]); } + CleanupStack::Pop(&aAttributes); } void T_CGlxGarbageCollector::CGlxMediaUserTest::RemoveReference(TInt aIndex) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/fullscreenviewplugin/data/glxfullscreenviewdata.rss --- a/photosgallery/viewframework/plugins/fullscreenviewplugin/data/glxfullscreenviewdata.rss Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/fullscreenviewplugin/data/glxfullscreenviewdata.rss Tue Apr 27 16:37:53 2010 +0300 @@ -129,12 +129,8 @@ { items= { - MENU_ITEM { command = EGlxStopShowing; - txt=qtn_lgal_options_stop_show; }, MENU_ITEM { command = EGlxCmdPlay; txt = qtn_lgal_options_play; }, - MENU_ITEM { command = EGlxCmdHideUI; - txt = qtn_lgal_options_hide_toolbar; }, MENU_ITEM { command = EGlxCmdSend; txt = qtn_options_send_via; }, MENU_ITEM { command = EGlxCmdAiwShareOnOvi; @@ -155,19 +151,9 @@ MENU_ITEM { command = EGlxCmdAiwAssign; txt = qtn_lgal_options_use_items; cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdAiwShowMap; - txt = qtn_lgal_option_show_on_map; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdDrmMoreInfoOnline; - txt=qtn_drm_options_more_info; }, -// MENU_ITEM { command=EGlxCmdRotate; -// txt=qtn_lgal_options_rotate; -// cascade = r_rotate_sub_menu; }, MENU_ITEM { command = EGlxCmdAiwPrint; txt = qtn_lgal_options_print_menu; cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command=EGlxShowViaUpnp; - txt=qtn_lgal_options_show_ext; }, MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, MENU_ITEM { command = EAknCmdExit; @@ -181,12 +167,8 @@ { items= { - MENU_ITEM { command = EGlxStopShowing; - txt=qtn_lgal_options_stop_show; }, MENU_ITEM { command = EGlxCmdPlay; txt = qtn_lgal_options_play; }, - MENU_ITEM { command = EGlxCmdHideUI; - txt = qtn_lgal_options_hide_toolbar; }, MENU_ITEM { command = EGlxCmdSend; txt = qtn_options_send_via; }, MENU_ITEM { command = EGlxCmdAiwShareOnOvi; @@ -209,19 +191,9 @@ MENU_ITEM { command = EGlxCmdAiwAssign; txt = qtn_lgal_options_use_items; cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdAiwShowMap; - txt = qtn_lgal_option_show_on_map; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdDrmMoreInfoOnline; - txt=qtn_drm_options_more_info; }, -// MENU_ITEM { command=EGlxCmdRotate; -// txt=qtn_lgal_options_rotate; -// cascade = r_rotate_sub_menu; }, MENU_ITEM { command = EGlxCmdAiwPrint; txt = qtn_lgal_options_print_menu; cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command=EGlxShowViaUpnp; - txt=qtn_lgal_options_show_ext; }, MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, MENU_ITEM { command = EAknCmdExit; @@ -234,12 +206,8 @@ { items= { - MENU_ITEM { command = EGlxStopShowing; - txt=qtn_lgal_options_stop_show; }, MENU_ITEM { command = EGlxCmdPlay; txt = qtn_lgal_options_play; }, - MENU_ITEM { command = EGlxCmdHideUI; - txt = qtn_lgal_options_hide_toolbar; }, MENU_ITEM { command = EGlxCmdSend; txt = qtn_options_send_via; }, MENU_ITEM { command = EGlxCmdAiwShareOnOvi; @@ -262,19 +230,9 @@ MENU_ITEM { command = EGlxCmdAiwAssign; txt = qtn_lgal_options_use_items; cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdAiwShowMap; - txt = qtn_lgal_option_show_on_map; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdDrmMoreInfoOnline; - txt=qtn_drm_options_more_info; }, -// MENU_ITEM { command=EGlxCmdRotate; -// txt=qtn_lgal_options_rotate; -// cascade = r_rotate_sub_menu; }, MENU_ITEM { command = EGlxCmdAiwPrint; txt = qtn_lgal_options_print_menu; cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command=EGlxShowViaUpnp; - txt=qtn_lgal_options_show_ext; }, MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, MENU_ITEM { command = EAknCmdExit; @@ -288,8 +246,7 @@ items= { MENU_ITEM { command = EGlxCmdSave; - txt= "Save"; }, - //txt= qtn_lgal_tooltip_save; }, + txt= qtn_lgal_options_save; }, MENU_ITEM { command = EGlxCmdSend; txt = qtn_options_send_via; }, MENU_ITEM { command = EGlxCmdAiwShareOnOvi; @@ -411,48 +368,6 @@ items = { TBAR_CTRL - { - type = EAknCtButton; - id = EGlxCmdSend; - control = AVKON_BUTTON - { - flags = 0; - states = - { - AVKON_BUTTON_STATE - { - bmpfile = "z:\\Resource\\apps\\glxicons.mif"; - bmpid = EMbmGlxiconsQgn_indi_cam4_tb_send; - bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_send_mask; - press_bmpid = EMbmGlxiconsQgn_indi_cam4_tb_send; - press_bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_send_mask; - helptxt = qtn_lgal_tooltip_send; - } - }; - }; - }, - TBAR_CTRL - { - type = EAknCtButton; - id = EGlxCmdDelete; - control = AVKON_BUTTON - { - flags = 0; - states = - { - AVKON_BUTTON_STATE - { - bmpfile = "z:\\Resource\\apps\\glxicons.mif"; - bmpid = EMbmGlxiconsQgn_indi_cam4_tb_delete; - bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_delete_mask; - press_bmpid = EMbmGlxiconsQgn_indi_cam4_tb_delete; - press_bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_delete_mask; - helptxt = qtn_lgal_tooltip_delete; - } - }; - }; - }, - TBAR_CTRL { type = EAknCtButton; id = EGlxCmdUpload; @@ -467,7 +382,70 @@ bmpid = EMbmGlxiconsQgn_indi_cam4_tb_upload; bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_upload_mask; press_bmpid = EMbmGlxiconsQgn_indi_cam4_tb_upload; - press_bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_upload_mask; + press_bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_upload_mask; + } + }; + }; + }, + TBAR_CTRL + { + type = EAknCtButton; + id = EGlxCmdSlideshowPlay; + control = AVKON_BUTTON + { + flags = 0; + states = + { + AVKON_BUTTON_STATE + { + bmpfile = "z:\\Resource\\apps\\glxicons.mif"; + bmpid = EMbmGlxiconsQgn_indi_tb_slideshow; + bmpmask = EMbmGlxiconsQgn_indi_tb_slideshow_mask; + press_bmpid = EMbmGlxiconsQgn_indi_tb_slideshow; + press_bmpmask = EMbmGlxiconsQgn_indi_tb_slideshow_mask; + helptxt = qtn_lgal_tooltip_slideshow; + } + }; + }; + }, + TBAR_CTRL + { + type = EAknCtButton; + id = EGlxCmdDelete; + control = AVKON_BUTTON + { + flags = 0; + states = + { + AVKON_BUTTON_STATE + { + bmpfile = "z:\\Resource\\apps\\glxicons.mif"; + bmpid = EMbmGlxiconsQgn_indi_cam4_tb_delete; + bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_delete_mask; + press_bmpid = EMbmGlxiconsQgn_indi_cam4_tb_delete; + press_bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_delete_mask; + helptxt = qtn_lgal_tooltip_delete; + } + }; + }; + }, + TBAR_CTRL + { + type = EAknCtButton; + id = EGlxCmdSend; + control = AVKON_BUTTON + { + flags = 0; + states = + { + AVKON_BUTTON_STATE + { + bmpfile = "z:\\Resource\\apps\\glxicons.mif"; + bmpid = EMbmGlxiconsQgn_indi_cam4_tb_send; + bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_send_mask; + press_bmpid = EMbmGlxiconsQgn_indi_cam4_tb_send; + press_bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_send_mask; + helptxt = qtn_lgal_tooltip_send; } }; }; @@ -497,8 +475,7 @@ bmpmask = EMbmGlxiconsSave_mask; press_bmpid = EMbmGlxiconsSave; press_bmpmask = EMbmGlxiconsSave_mask; - //helptxt = qtn_lgal_tooltip_save; - helptxt = "Save"; + helptxt = qtn_lgal_tooltip_save; } }; }; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxalbumfullscreenviewplugin.cpp --- a/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxalbumfullscreenviewplugin.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxalbumfullscreenviewplugin.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -91,17 +91,20 @@ void CGlxAlbumFullScreenViewPlugin::AddCommandHandlersL() - { - CGlxFullScreenViewPluginBase::AddCommandHandlersL(); - // Remove from Album. - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL(iFullScreenView, EMPXAlbum)); - - TGlxHelpContext helpInfo; - helpInfo.iBrowseContext = LGAL_HLP_ALBUM_FULLSCREEN; - - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); - } + { + CGlxFullScreenViewPluginBase::AddCommandHandlersL(); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); + // Remove from Album. + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL( + iFullScreenView, EMPXAlbum, uiutilitiesrscfile)); + TGlxHelpContext helpInfo; + helpInfo.iBrowseContext = LGAL_HLP_ALBUM_FULLSCREEN; + + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); + } void CGlxAlbumFullScreenViewPlugin::GetResourceFilenameL(TFileName& aResFile) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxtagfullscreenviewplugin.cpp --- a/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxtagfullscreenviewplugin.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxtagfullscreenviewplugin.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -91,22 +91,26 @@ // Adds Command Handlers to the view //----------------------------------------------------------------------------- void CGlxTagFullScreenViewPlugin::AddCommandHandlersL() - { - TRACER( "CGlxTagFullScreenViewPlugin::AddCommandHandlersL"); - - CGlxFullScreenViewPluginBase::AddCommandHandlersL(); - - //For tag tile view - GLX_LOG_INFO("Adding CGlxCommandHandlerRemoveFrom"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL(iFullScreenView, EMPXTag)); + { + TRACER( "CGlxTagFullScreenViewPlugin::AddCommandHandlersL"); + + CGlxFullScreenViewPluginBase::AddCommandHandlersL(); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); - // set up help context info - TGlxHelpContext helpInfo; - helpInfo.iBrowseContext = LGAL_HLP_TAGS_GRID; - helpInfo.iBrowseContext = LGAL_HLP_TAGS_FULLSCREEN; - - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); - } + //For tag tile view + GLX_LOG_INFO("Adding CGlxCommandHandlerRemoveFrom"); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL( + iFullScreenView, EMPXTag, uiutilitiesrscfile)); + + // set up help context info + TGlxHelpContext helpInfo; + helpInfo.iBrowseContext = LGAL_HLP_TAGS_GRID; + helpInfo.iBrowseContext = LGAL_HLP_TAGS_FULLSCREEN; + + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); + } //----------------------------------------------------------------------------- // Get the Resource File Name diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/fullscreenviewpluginbase/group/glxfullscreenviewpluginbase.mmp --- a/photosgallery/viewframework/plugins/fullscreenviewpluginbase/group/glxfullscreenviewpluginbase.mmp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/fullscreenviewpluginbase/group/glxfullscreenviewpluginbase.mmp Tue Apr 27 16:37:53 2010 +0300 @@ -74,6 +74,7 @@ LIBRARY glxviewbase.lib // for CGlxViewBase LIBRARY mpxviewplugin.lib // for CMPXViewPlugin LIBRARY flogger.lib // For Logging Tracer +LIBRARY glxcommon.lib // For CGlxUiUtilities // End of File diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/fullscreenviewpluginbase/src/glxfullscreenviewpluginbase.cpp --- a/photosgallery/viewframework/plugins/fullscreenviewpluginbase/src/glxfullscreenviewpluginbase.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/fullscreenviewpluginbase/src/glxfullscreenviewpluginbase.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -53,6 +53,7 @@ #include #include +#include // for CGlxResourceUtilities #include "glxfullscreenview.h" /** @@ -157,97 +158,77 @@ // --------------------------------------------------------------------------- // EXPORT_C void CGlxFullScreenViewPluginBase::AddCommandHandlersL() - { - TRACER("CGlxFullScreenViewPluginBase::AddCommandHandlersL()"); - - // Note that the order in which the command handlers are added determines - // the order in which the toolbar displays the icons - - GLX_LOG_INFO( "Adding CGlxCommandHandlerSave" ); - iFullScreenView->AddCommandHandlerL( - CGlxCommandHandlerSave::NewL() ); - - GLX_LOG_INFO( "Adding CGlxCommandHandlerSlideshow" ); - iFullScreenView->AddCommandHandlerL( - CGlxCommandHandlerSlideshow::NewL( iFullScreenView, ETrue , ETrue ) ); - - GLX_LOG_INFO("Adding CGlxCommandHandlerDetails"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerDetails:: - NewL(iFullScreenView)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAddToContainer:: - NewAddToAlbumCommandHandlerL(iFullScreenView, EFalse)); + { + TRACER("CGlxFullScreenViewPluginBase::AddCommandHandlersL()"); + + // Note that the order in which the command handlers are added determines + // the order in which the toolbar displays the icons - GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAddToContainer:: - NewAddToFavCommandHandlerL(iFullScreenView, EFalse)); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); + GLX_LOG_INFO( "Adding CGlxCommandHandlerSave" ); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerSave::NewL()); + + GLX_LOG_INFO( "Adding CGlxCommandHandlerSlideshow" ); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerSlideshow::NewL( + iFullScreenView, ETrue, ETrue, uiutilitiesrscfile)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer"); + iFullScreenView->AddCommandHandlerL( + CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL( + iFullScreenView, EFalse, uiutilitiesrscfile)); - GLX_LOG_INFO("Adding CGlxCommandHandlerDetails"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerDetails:: - NewL(iFullScreenView)); + GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer"); + iFullScreenView->AddCommandHandlerL( + CGlxCommandHandlerAddToContainer::NewAddToFavCommandHandlerL( + iFullScreenView, EFalse, uiutilitiesrscfile)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerDetails"); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerDetails::NewL( + iFullScreenView, uiutilitiesrscfile)); - GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAddToContainer:: - NewAddToTagCommandHandlerL(iFullScreenView, EFalse)); - // The AIW service handlers - // ShowMap must be the first one - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwShowMap"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwShowMap:: - NewL(iFullScreenView, iResourceIds.iMenuId)); - // Assign must be the second one - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwAssign"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwAssign:: - NewL(iFullScreenView, iResourceIds.iMenuId)); - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwEdit"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwEdit:: - NewL(iFullScreenView)); - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwPrintPreview"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwPrintPreview:: - NewL(iFullScreenView, iResourceIds.iMenuId)); - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwShareOnOvi"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwShareOnOvi:: - NewL(iFullScreenView, iResourceIds.iMenuId)); - // End of AIW service handlers + GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer"); + iFullScreenView->AddCommandHandlerL( + CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL( + iFullScreenView, EFalse, uiutilitiesrscfile)); + // The AIW service handlers + GLX_LOG_INFO("Adding CGlxCommandHandlerAiwAssign"); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwAssign::NewL( + iFullScreenView, iResourceIds.iMenuId, uiutilitiesrscfile)); + GLX_LOG_INFO("Adding CGlxCommandHandlerAiwEdit"); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwEdit::NewL( + iFullScreenView)); + GLX_LOG_INFO("Adding CGlxCommandHandlerAiwPrintPreview"); + iFullScreenView->AddCommandHandlerL( + CGlxCommandHandlerAiwPrintPreview::NewL(iFullScreenView, + iResourceIds.iMenuId, uiutilitiesrscfile)); + GLX_LOG_INFO("Adding CGlxCommandHandlerAiwShareOnOvi"); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwShareOnOvi::NewL( + iFullScreenView, iResourceIds.iMenuId, uiutilitiesrscfile)); + // End of AIW service handlers - GLX_LOG_INFO("Adding CGlxCommandHandlerMoreInfo"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerMoreInfo:: - NewL(iFullScreenView,EFalse)); - GLX_LOG_INFO("Adding CGlxCommandHandlerHideUi"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerHideUi::NewL()); //Fix for error ID EVTY-7M87LF //@ Registration of Video Playback Command handler has to before UPnP. //@ else UPnP will not get play command once video playback command is consumed. - GLX_LOG_INFO("Adding CGlxCommandHandlerVideoPlayback"); - iFullScreenView->AddCommandHandlerL( - CGlxCommandHandlerVideoPlayback::NewL( iFullScreenView ) ); + GLX_LOG_INFO("Adding CGlxCommandHandlerVideoPlayback"); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerVideoPlayback::NewL( + iFullScreenView)); - //Fix for error ID EVTY-7M87LF - //@ Registration of UPnP Command handler has to be after video play back command - //@ priorty of command handling is last registered in first server basis. - //@ UPnP will get play command first everytime, where it'll check for UPnP active. - //@ if UPnP is active it'll consume the event, else it'll allow other registered command to execute it. - - GLX_LOG_INFO("Adding CGlxCommandHandlerShowVisUpnp"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerShowViaUpnp::NewL( - iFullScreenView,EFalse)); + //Toolbar commands for all Fullscreen views. May also be present in Options menu. + GLX_LOG_INFO("Adding CGlxCommandHandlerSend"); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerSend::NewL( + iFullScreenView, ETrue, uiutilitiesrscfile)); - //Toolbar commands for all Fullscreen views. May also be present in Options menu. - GLX_LOG_INFO("Adding CGlxCommandHandlerSend"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerSend::NewL( - iFullScreenView, ETrue)); - GLX_LOG_INFO("Adding CGlxCommandHandlerDelete"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerDelete:: - NewL(iFullScreenView, EFalse, ETrue)); - GLX_LOG_INFO("Adding CGlxCommandHandlerUpload"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerUpload::NewL( - iFullScreenView, ETrue)); + GLX_LOG_INFO("Adding CGlxCommandHandlerDelete"); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerDelete::NewL( + iFullScreenView, EFalse, ETrue, uiutilitiesrscfile)); + GLX_LOG_INFO("Adding CGlxCommandHandlerUpload"); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerUpload::NewL( + iFullScreenView, ETrue)); - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwShowMapHardKey"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwShowMapHardKey::NewL( - iFullScreenView, ETrue)); - } + } // --------------------------------------------------------------------------- // GetResourceFilenameL diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/gridviewplugin/data/glxgridviewdata.rss --- a/photosgallery/viewframework/plugins/gridviewplugin/data/glxgridviewdata.rss Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/gridviewplugin/data/glxgridviewdata.rss Tue Apr 27 16:37:53 2010 +0300 @@ -123,8 +123,6 @@ { items= { - MENU_ITEM { command = EAknCmdOpen; - txt = qtn_msk_open; }, MENU_ITEM { command = EGlxCmdPlay; txt = qtn_lgal_options_play; }, MENU_ITEM { command = EGlxCmdSend; @@ -167,20 +165,6 @@ txt = qtn_lgal_options_add_to_album;}, MENU_ITEM { command = EGlxCmdSingleClickAddTag; txt = qtn_lgal_options_properties_add_tag;}, - MENU_ITEM { command = EGlxCmdAiwAssign; - txt = qtn_lgal_options_use_items; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdAiwShowMap; - txt = qtn_lgal_option_show_on_map; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdDrmMoreInfoOnline; - txt=qtn_drm_options_more_info; }, - MENU_ITEM { command = EGlxCmdAiwPrint; - txt = qtn_lgal_options_print_menu; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxHomeNetworkSubmenu; - txt = qtn_lgal_options_home_network; - cascade = r_home_network_menu; }, MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, MENU_ITEM { command = EAknCmdExit; @@ -193,8 +177,6 @@ { items= { - MENU_ITEM { command = EAknCmdOpen; - txt = qtn_msk_open; }, MENU_ITEM { command = EGlxCmdPlay; txt = qtn_lgal_options_play; }, MENU_ITEM { command = EGlxCmdSend; @@ -239,20 +221,6 @@ txt = qtn_lgal_options_add_to_album;}, MENU_ITEM { command = EGlxCmdSingleClickAddTag; txt = qtn_lgal_options_properties_add_tag;}, - MENU_ITEM { command = EGlxCmdAiwAssign; - txt = qtn_lgal_options_use_items; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdAiwShowMap; - txt = qtn_lgal_option_show_on_map; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdDrmMoreInfoOnline; - txt=qtn_drm_options_more_info; }, - MENU_ITEM { command = EGlxCmdAiwPrint; - txt = qtn_lgal_options_print_menu; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxHomeNetworkSubmenu; - txt = qtn_lgal_options_home_network; - cascade = r_home_network_menu; }, MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, MENU_ITEM { command = EAknCmdExit; @@ -265,8 +233,6 @@ { items= { - MENU_ITEM { command = EAknCmdOpen; - txt = qtn_msk_open; }, MENU_ITEM { command = EGlxCmdPlay; txt = qtn_lgal_options_play; }, MENU_ITEM { command = EGlxCmdSend; @@ -311,20 +277,6 @@ flags = EEikMenuItemSpecific; }, MENU_ITEM { command = EGlxCmdSingleClickAddTag; txt = qtn_lgal_options_properties_add_tag;}, - MENU_ITEM { command = EGlxCmdAiwAssign; - txt = qtn_lgal_options_use_items; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdAiwShowMap; - txt = qtn_lgal_option_show_on_map; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxCmdDrmMoreInfoOnline; - txt=qtn_drm_options_more_info; }, - MENU_ITEM { command = EGlxCmdAiwPrint; - txt = qtn_lgal_options_print_menu; - cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, - MENU_ITEM { command = EGlxHomeNetworkSubmenu; - txt = qtn_lgal_options_home_network; - cascade = r_home_network_menu; }, MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, MENU_ITEM { command = EAknCmdExit; @@ -542,6 +494,15 @@ buf = qtn_lgal_empty_grid_no_items; } +RESOURCE TBUF r_grid_empty_view_text_image + { + buf = qtn_lgal_empty_grid_no_images; + } + +RESOURCE TBUF r_grid_empty_view_text_video + { + buf = qtn_lgal_empty_grid_no_videos; + } RESOURCE TBUF r_grid_view_text_download_header { buf = qtn_lgal_info_download_header; @@ -613,7 +574,27 @@ }; }; }, - + TBAR_CTRL + { + type = EAknCtButton; + id = EGlxCmdSend; + control = AVKON_BUTTON + { + flags = 0; + states = + { + AVKON_BUTTON_STATE + { + bmpfile = "z:\\Resource\\apps\\glxicons.mif"; + bmpid = EMbmGlxiconsQgn_indi_cam4_tb_send; + bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_send_mask; + press_bmpid = EMbmGlxiconsQgn_indi_cam4_tb_send; + press_bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_send_mask; + helptxt = qtn_lgal_tooltip_send; + } + }; + }; + }, TBAR_CTRL { type = EAknCtButton; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/gridviewplugin/src/glxalbumgridviewplugin.cpp --- a/photosgallery/viewframework/plugins/gridviewplugin/src/glxalbumgridviewplugin.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/gridviewplugin/src/glxalbumgridviewplugin.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -94,19 +94,24 @@ void CGlxAlbumGridViewPlugin::AddCommandHandlersL() - { - CGlxGridViewPluginBase::AddCommandHandlersL(); - // Remove from Album - ///@todo this should only be added to the albums view plugin. - iGridView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL(iGridView, EMPXAlbum)); - - TGlxHelpContext helpInfo; - helpInfo.iBrowseContext = LGAL_HLP_ALBUM_GRID; - helpInfo.iViewContext = LGAL_HLP_ALBUM_FULLSCREEN; - - iGridView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); + { + CGlxGridViewPluginBase::AddCommandHandlersL(); + // Remove from Album + ///@todo this should only be added to the albums view plugin. + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); - } + iGridView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL(iGridView, + EMPXAlbum, uiutilitiesrscfile)); + + TGlxHelpContext helpInfo; + helpInfo.iBrowseContext = LGAL_HLP_ALBUM_GRID; + helpInfo.iViewContext = LGAL_HLP_ALBUM_FULLSCREEN; + + iGridView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); + + } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/gridviewplugin/src/glxtaggridviewplugin.cpp --- a/photosgallery/viewframework/plugins/gridviewplugin/src/glxtaggridviewplugin.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/gridviewplugin/src/glxtaggridviewplugin.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -97,22 +97,26 @@ // Adds Command Handlers to the view //----------------------------------------------------------------------------- void CGlxTagGridViewPlugin::AddCommandHandlersL() - { - TRACER( "CGlxTagGridViewPlugin::AddCommandHandlersL"); - - CGlxGridViewPluginBase::AddCommandHandlersL(); - - //For tag Grid view - GLX_LOG_INFO("Adding CGlxCommandHandlerRemoveFrom"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL(iGridView, EMPXTag)); + { + TRACER( "CGlxTagGridViewPlugin::AddCommandHandlersL"); + + CGlxGridViewPluginBase::AddCommandHandlersL(); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); - // set up help context info - TGlxHelpContext helpInfo; - helpInfo.iBrowseContext = LGAL_HLP_TAGS_GRID; - helpInfo.iViewContext = LGAL_HLP_TAGS_FULLSCREEN; - - iGridView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); - } + //For tag Grid view + GLX_LOG_INFO("Adding CGlxCommandHandlerRemoveFrom"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL(iGridView, + EMPXTag, uiutilitiesrscfile)); + + // set up help context info + TGlxHelpContext helpInfo; + helpInfo.iBrowseContext = LGAL_HLP_TAGS_GRID; + helpInfo.iViewContext = LGAL_HLP_TAGS_FULLSCREEN; + + iGridView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); + } //----------------------------------------------------------------------------- // Get the Resource File Name diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/gridviewpluginbase/group/glxgridviewpluginbase.mmp --- a/photosgallery/viewframework/plugins/gridviewpluginbase/group/glxgridviewpluginbase.mmp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/gridviewpluginbase/group/glxgridviewpluginbase.mmp Tue Apr 27 16:37:53 2010 +0300 @@ -76,4 +76,5 @@ LIBRARY glxviewbase.lib // for CGlxViewBase LIBRARY glxupnpcommandhandler.lib // For Upnp Command Handler LIBRARY flogger.lib // For Logging Tracer +LIBRARY glxcommon.lib // for CResourceUtilities // End of File diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/gridviewpluginbase/src/glxgridviewpluginbase.cpp --- a/photosgallery/viewframework/plugins/gridviewpluginbase/src/glxgridviewpluginbase.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/gridviewpluginbase/src/glxgridviewpluginbase.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -44,6 +44,7 @@ #include #include #include +#include // for CGlxResourceUtilities #include #include #include @@ -112,117 +113,97 @@ // --------------------------------------------------------------------------- // EXPORT_C void CGlxGridViewPluginBase::AddCommandHandlersL() - { - TRACER("CGlxGridViewPluginBase::AddCommandHandlersL()"); + { + TRACER("CGlxGridViewPluginBase::AddCommandHandlersL()"); #ifdef _DEBUG - TTime startTime; - GLX_LOG_INFO("CGlxGridViewPluginBase::AddCommandHandlersL()"); - startTime.HomeTime(); + TTime startTime; + GLX_LOG_INFO("CGlxGridViewPluginBase::AddCommandHandlersL()"); + startTime.HomeTime(); #endif - - GLX_LOG_INFO( "Adding CGlxCommandHandlerSlideshow" ); - iGridView->AddCommandHandlerL( - CGlxCommandHandlerSlideshow::NewL( iGridView, ETrue , EFalse ) ); - - GLX_LOG_INFO("Adding CGlxCommandHandlerSend"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerSend::NewL(iGridView, ETrue)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer-Album"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAddToContainer:: - NewAddToAlbumCommandHandlerL(iGridView, EFalse)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer-Album SingleClick"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAddToContainer:: - NewAddToAlbumSingleClickCommandHandlerL(iGridView, EFalse)); - GLX_LOG_INFO("Adding CGlxCommandHandlerDetails"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerDetails:: - NewL(iGridView)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerOpen"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerOpen:: - NewL(iGridView)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerDelete"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerDelete:: - NewL(iGridView, EFalse, EFalse)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer-Tag"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAddToContainer:: - NewAddToTagCommandHandlerL(iGridView, EFalse)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer-Tag Single Click"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAddToContainer:: - NewAddToTagSingleClickCommandHandlerL(iGridView, EFalse)); - // The AIW service handlers - // ShowMap must be the first one - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwShowMap"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAiwShowMap:: - NewL(iGridView, iResourceIds.iMenuId)); - // Assign must be the second one - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwAssign"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAiwAssign:: - NewL(iGridView, iResourceIds.iMenuId)); - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwEdit"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAiwEdit:: - NewL(iGridView)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwEdit-Single Click"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAiwEdit:: - NewL(iGridView, ETrue)); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); + + GLX_LOG_INFO( "Adding CGlxCommandHandlerSlideshow" ); + iGridView->AddCommandHandlerL(CGlxCommandHandlerSlideshow::NewL(iGridView, + ETrue, EFalse, uiutilitiesrscfile)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerSend"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerSend::NewL(iGridView, + ETrue, uiutilitiesrscfile)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer-Album"); + iGridView->AddCommandHandlerL( + CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL( + iGridView, EFalse, uiutilitiesrscfile)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer-Album SingleClick"); + iGridView->AddCommandHandlerL( + CGlxCommandHandlerAddToContainer::NewAddToAlbumSingleClickCommandHandlerL( + iGridView, EFalse, uiutilitiesrscfile)); + GLX_LOG_INFO("Adding CGlxCommandHandlerDetails"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerDetails::NewL(iGridView, + uiutilitiesrscfile)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerOpen"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerOpen::NewL(iGridView)); - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwPrintPreview"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAiwPrintPreview:: - NewL(iGridView, iResourceIds.iMenuId)); - GLX_LOG_INFO("Adding CGlxCommandHandlerAiwShareOnOvi"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerAiwShareOnOvi:: - NewL(iGridView, iResourceIds.iMenuId)); - // End of AIW service handlers - - GLX_LOG_INFO("Adding CGlxCommandHandlerMarking"); - iGridView->AddCommandHandlerL( CGlxCommandHandlerMarking::NewL( - iGridView, ETrue ) ); - - GLX_LOG_INFO("Adding CGlxCommandHandlerBack"); - iGridView->AddCommandHandlerL( - CGlxCommandHandlerBack::NewBackCommandHandlerL()); - - GLX_LOG_INFO("Adding CGlxCommandHandlerMoreInfo"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerMoreInfo:: - NewL(iGridView,EFalse)); - GLX_LOG_INFO("Adding CGlxCommandHandlerHideUi"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerHideUi::NewL()); + GLX_LOG_INFO("Adding CGlxCommandHandlerDelete"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerDelete::NewL(iGridView, + EFalse, EFalse, uiutilitiesrscfile)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer-Tag"); + iGridView->AddCommandHandlerL( + CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL( + iGridView, EFalse, uiutilitiesrscfile)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer-Tag Single Click"); + iGridView->AddCommandHandlerL( + CGlxCommandHandlerAddToContainer::NewAddToTagSingleClickCommandHandlerL( + iGridView, EFalse, uiutilitiesrscfile)); + // The AIW service handlers + GLX_LOG_INFO("Adding CGlxCommandHandlerAiwEdit"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerAiwEdit::NewL(iGridView)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerAiwEdit-Single Click"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerAiwEdit::NewL(iGridView, + ETrue)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerAiwShareOnOvi"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerAiwShareOnOvi::NewL( + iGridView, iResourceIds.iMenuId, uiutilitiesrscfile)); + // End of AIW service handlers + + GLX_LOG_INFO("Adding CGlxCommandHandlerMarking"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerMarking::NewL(iGridView, + ETrue)); + + GLX_LOG_INFO("Adding CGlxCommandHandlerBack"); + iGridView->AddCommandHandlerL( + CGlxCommandHandlerBack::NewBackCommandHandlerL()); #ifdef GLX_GRID_VIEW_IMAGES_OR_VIDEOS_ONLY_FILTERING - iGridView->AddCommandHandlerL( CGlxCommandHandlerFilterImagesOrVideos::NewL( iGridView ) ); + iGridView->AddCommandHandlerL( CGlxCommandHandlerFilterImagesOrVideos::NewL( iGridView ) ); #endif - GLX_LOG_INFO("Adding CGlxCommandHandlerCopyToHomeNetwork"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerCopyToHomeNetwork::NewL(*iGridView)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerUpload"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerUpload::NewL(iGridView, ETrue)); - + + GLX_LOG_INFO("Adding CGlxCommandHandlerUpload"); + iGridView->AddCommandHandlerL(CGlxCommandHandlerUpload::NewL(iGridView, + ETrue)); + //Fix for error ID EVTY-7M87LF //@ Registration of Video Playback Command handler has to before UPnP. //@ else UPnP will not get play command once video playback command is consumed. GLX_LOG_INFO("Adding CGlxCommandHandlerVideoPlayback"); - iGridView->AddCommandHandlerL( - CGlxCommandHandlerVideoPlayback::NewL( iGridView ) ); - - //Fix for error ID EVTY-7M87LF - //@ Registration of UPnP Command handler has to be after video play back command - //@ priorty of command handling is last registered in first server basis. - //@ UPnP will get play command first everytime, where it'll check for UPnP active. - //@ if UPnP is active it'll consume the event, else it'll allow other registered command to execute it. - GLX_LOG_INFO("Adding CGlxCommandHandlerShowVisUpnp"); - iGridView->AddCommandHandlerL(CGlxCommandHandlerShowViaUpnp::NewL(iGridView, ETrue)); + iGridView->AddCommandHandlerL(CGlxCommandHandlerVideoPlayback::NewL( + iGridView)); #ifdef _DEBUG - TTime stopTime; - stopTime.HomeTime(); - GLX_DEBUG2("CGlxGridViewPluginBase::AddCommandHandlersL() took <%d> us", - (TInt)stopTime.MicroSecondsFrom(startTime).Int64()); + TTime stopTime; + stopTime.HomeTime(); + GLX_DEBUG2("CGlxGridViewPluginBase::AddCommandHandlersL() took <%d> us", + (TInt)stopTime.MicroSecondsFrom(startTime).Int64()); #endif - } + } // --------------------------------------------------------------------------- // GetResourceFilenameL diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/listviewplugin/data/glxlistviewplugin.rss --- a/photosgallery/viewframework/plugins/listviewplugin/data/glxlistviewplugin.rss Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/listviewplugin/data/glxlistviewplugin.rss Tue Apr 27 16:37:53 2010 +0300 @@ -101,7 +101,6 @@ { items = { - MENU_ITEM { command = EGlxStopShowing; txt=qtn_lgal_options_stop_show; }, MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, MENU_ITEM { command = EAknCmdExit; txt = qtn_options_exit; } }; @@ -111,7 +110,6 @@ { items = { - MENU_ITEM { command = EGlxStopShowing; txt=qtn_lgal_options_stop_show; }, MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, MENU_ITEM { command = EAknCmdExit; txt = qtn_options_exit; } }; @@ -121,7 +119,6 @@ { items = { - MENU_ITEM { command = EGlxStopShowing; txt=qtn_lgal_options_stop_show; }, MENU_ITEM { command = EGlxCmdSlideshowPlay; txt = qtn_lgal_options_slideshow; flags = EEikMenuItemSpecific; }, @@ -137,7 +134,6 @@ { items = { - MENU_ITEM { command = EGlxStopShowing; txt=qtn_lgal_options_stop_show; }, MENU_ITEM { command = EGlxCmdSlideshowPlay; txt = qtn_lgal_options_slideshow; flags = EEikMenuItemSpecific; }, diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/listviewplugin/group/glxlistviewplugin.mmp --- a/photosgallery/viewframework/plugins/listviewplugin/group/glxlistviewplugin.mmp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/listviewplugin/group/glxlistviewplugin.mmp Tue Apr 27 16:37:53 2010 +0300 @@ -64,6 +64,7 @@ SYSTEMINCLUDE ../../../commandhandlers/commandhandlerupnp/inc //Command Handler Upnp SYSTEMINCLUDE ../../../medialists/inc SYSTEMINCLUDE ../../../../slideshow/engine/inc +SYSTEMINCLUDE ../../../../common/inc APP_LAYER_SYSTEMINCLUDE @@ -83,7 +84,7 @@ LIBRARY glxlistview.lib LIBRARY glxcommoncommandhandlers.lib LIBRARY glxupnpcommandhandler.lib //upnp Command handlers - +LIBRARY glxcommon.lib // For CReourceUtilities //EXPORTUNFROZEN diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/listviewplugin/src/glxalbumlistviewplugin.cpp --- a/photosgallery/viewframework/plugins/listviewplugin/src/glxalbumlistviewplugin.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/listviewplugin/src/glxalbumlistviewplugin.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -28,7 +28,7 @@ #include #include #include - +#include // for CGlxResourceUtilities #include "glxlistviewplugin.hrh" // --------------------------------------------------------------------------- @@ -90,19 +90,27 @@ // --------------------------------------------------------------------------- // void CGlxAlbumListViewPlugin::AddCommandHandlersL() - { - CGlxListViewPluginBase::AddCommandHandlersL(); - iListView->AddCommandHandlerL(CGlxCommandHandlerSlideshow::NewL( iListView, EFalse, ETrue ) ); - iListView->AddCommandHandlerL(CGlxCommandHandlerDelete::NewL(iListView, ETrue, EFalse)); - iListView->AddCommandHandlerL(CGlxCommandHandlerNewMedia::NewL(iListView)); - iListView->AddCommandHandlerL(CGlxCommandHandlerRename::NewL(iListView, ETrue)); - // add help command handler - - // set up help context info - TGlxHelpContext helpInfo; - helpInfo.iBrowseContext = LGAL_HLP_ALBUM_LIST; + { + CGlxListViewPluginBase::AddCommandHandlersL(); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); - iListView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); - } + iListView->AddCommandHandlerL(CGlxCommandHandlerSlideshow::NewL(iListView, + EFalse, ETrue, uiutilitiesrscfile)); + iListView->AddCommandHandlerL(CGlxCommandHandlerDelete::NewL(iListView, + ETrue, EFalse, uiutilitiesrscfile)); + iListView->AddCommandHandlerL(CGlxCommandHandlerNewMedia::NewL(iListView, + uiutilitiesrscfile)); + iListView->AddCommandHandlerL(CGlxCommandHandlerRename::NewL(iListView, + ETrue, uiutilitiesrscfile)); + // add help command handler + + // set up help context info + TGlxHelpContext helpInfo; + helpInfo.iBrowseContext = LGAL_HLP_ALBUM_LIST; + + iListView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); + } // End of File diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/listviewplugin/src/glxmonthlistviewplugin.cpp --- a/photosgallery/viewframework/plugins/listviewplugin/src/glxmonthlistviewplugin.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/listviewplugin/src/glxmonthlistviewplugin.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -24,7 +24,7 @@ #include #include #include - +#include #include @@ -90,15 +90,17 @@ // --------------------------------------------------------------------------- // void CGlxMonthListViewPlugin::AddCommandHandlersL() - { - CGlxListViewPluginBase::AddCommandHandlersL(); - - // set up help context info - TGlxHelpContext helpInfo; - helpInfo.iBrowseContext = LGAL_HLP_MONTH_LIST; - - iListView->AddCommandHandlerL(CGlxCommandHandlerSlideshow::NewL( iListView, EFalse, ETrue ) ); - iListView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); - } + { + CGlxListViewPluginBase::AddCommandHandlersL(); + // set up help context info + TGlxHelpContext helpInfo; + helpInfo.iBrowseContext = LGAL_HLP_MONTH_LIST; + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); + iListView->AddCommandHandlerL(CGlxCommandHandlerSlideshow::NewL(iListView, + EFalse, ETrue, uiutilitiesrscfile)); + iListView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); + } // End of File diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/listviewpluginbase/src/glxlistviewpluginbase.cpp --- a/photosgallery/viewframework/plugins/listviewpluginbase/src/glxlistviewpluginbase.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/listviewpluginbase/src/glxlistviewpluginbase.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -96,8 +96,6 @@ iListView->AddCommandHandlerL( CGlxCommandHandlerBack::NewBackCommandHandlerL()); - iListView->AddCommandHandlerL( - CGlxCommandHandlerShowViaUpnp::NewL(iListView, EFalse)); } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/tagsbrowserviewplugin/data/glxtagsbrowserview.rss --- a/photosgallery/viewframework/plugins/tagsbrowserviewplugin/data/glxtagsbrowserview.rss Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/tagsbrowserviewplugin/data/glxtagsbrowserview.rss Tue Apr 27 16:37:53 2010 +0300 @@ -67,8 +67,6 @@ txt=qtn_lgal_options_alphabetical; }, MENU_ITEM { command=EGlxCmdSortByCount; txt=qtn_lgal_options_most_used; }, - MENU_ITEM { command=EGlxStopShowing; - txt=qtn_lgal_options_stop_show; }, MENU_ITEM { command=EAknCmdHelp; txt=qtn_options_help; }, MENU_ITEM { command=EAknCmdExit; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/plugins/tagsbrowserviewplugin/src/glxtagsbrowserviewplugin.cpp --- a/photosgallery/viewframework/plugins/tagsbrowserviewplugin/src/glxtagsbrowserviewplugin.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/plugins/tagsbrowserviewplugin/src/glxtagsbrowserviewplugin.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -38,7 +38,7 @@ #include #include //For tag manager launch #include - +#include // for CGlxResourceUtilities #include "glxtagsbrowserviewplugin.hrh" // For Plugin Uids // Resource File @@ -94,35 +94,43 @@ // --------------------------------------------------------------------------- // CAknView *CGlxTagsBrowserViewPlugin::ConstructViewLC() -{ - TRACER("CGlxTagsBrowserViewPlugin::ConstructViewLC"); + { + TRACER("CGlxTagsBrowserViewPlugin::ConstructViewLC"); - GLX_LOG_INFO("CGlxTagsBrowserViewPlugin::ConstructViewLC - Create the view"); - CGlxCloudView *view = CGlxCloudView::NewLC(this, KResourceFile(), - // Resource file name - R_TAGSBROWSER_VIEW, // View resource - R_TAGSBROWSER_EMPTY_TEXT, // Empty list text - R_TAGSBROWSER_SOFTKEYS_OPTIONS_BACK_SELECT, //softket resource id - R_TAGSBROWSER_SOFTKEYS_MSK_DISABLED //msk disabled resource id - ); + GLX_LOG_INFO("CGlxTagsBrowserViewPlugin::ConstructViewLC - Create the view"); + CGlxCloudView *view = CGlxCloudView::NewLC(this, KResourceFile(), + // Resource file name + R_TAGSBROWSER_VIEW, // View resource + R_TAGSBROWSER_EMPTY_TEXT, // Empty list text + R_TAGSBROWSER_SOFTKEYS_OPTIONS_BACK_SELECT, //softket resource id + R_TAGSBROWSER_SOFTKEYS_MSK_DISABLED //msk disabled resource id + ); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); // Add commnad handler - view->AddCommandHandlerL(CGlxCommandHandlerSlideshow::NewL(view,EFalse,ETrue)); - view->AddCommandHandlerL(CGlxCommandHandlerBack::NewBackCommandHandlerL()); - view->AddCommandHandlerL(CGlxCommandHandlerShowViaUpnp::NewL(view, EFalse)); - view->AddCommandHandlerL(CGlxCommandHandlerSortOrder::NewL(view,KGlxSortOrderTagBrowser)); - view->AddCommandHandlerL(CGlxCommandHandlerDetails::NewL(view)); - GLX_LOG_INFO("Adding CGlxCommandHandlerDelete"); - view->AddCommandHandlerL(CGlxCommandHandlerDelete:: - NewL(view, ETrue, ETrue)); - - TGlxHelpContext helpInfo; - helpInfo.iBrowseContext = LGAL_HLP_TAGS_BROWSER; - view->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); - view->AddCommandHandlerL(CGlxCommandHandlerRename::NewL(view,ETrue)); + view->AddCommandHandlerL(CGlxCommandHandlerSlideshow::NewL(view, EFalse, + ETrue, uiutilitiesrscfile)); + view->AddCommandHandlerL(CGlxCommandHandlerBack::NewBackCommandHandlerL()); + view->AddCommandHandlerL(CGlxCommandHandlerShowViaUpnp::NewL(view, EFalse)); + view->AddCommandHandlerL(CGlxCommandHandlerSortOrder::NewL(view, + KGlxSortOrderTagBrowser)); + view->AddCommandHandlerL(CGlxCommandHandlerDetails::NewL(view, + uiutilitiesrscfile)); - return view; -} + GLX_LOG_INFO("Adding CGlxCommandHandlerDelete"); + view->AddCommandHandlerL(CGlxCommandHandlerDelete::NewL(view, ETrue, ETrue, + uiutilitiesrscfile)); + + TGlxHelpContext helpInfo; + helpInfo.iBrowseContext = LGAL_HLP_TAGS_BROWSER; + view->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); + view->AddCommandHandlerL(CGlxCommandHandlerRename::NewL(view, ETrue, + uiutilitiesrscfile)); + + return view; + } // ----------------------------------------------------------------------------- // MediaListL diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/bwins/glxtvoutu.def --- a/photosgallery/viewframework/tvout/bwins/glxtvoutu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/bwins/glxtvoutu.def Tue Apr 27 16:37:53 2010 +0300 @@ -1,14 +1,14 @@ EXPORTS ?ActivateZoom@CGlxHdmiController@@QAEXH@Z @ 1 NONAME ; void CGlxHdmiController::ActivateZoom(int) ?ScreenSizeL@CGlxTv@@QBE?AVTSize@@XZ @ 2 NONAME ; class TSize CGlxTv::ScreenSizeL(void) const - ??1CGlxTv@@UAE@XZ @ 3 NONAME ; CGlxTv::~CGlxTv(void) - ??1CGlxHdmiController@@UAE@XZ @ 4 NONAME ; CGlxHdmiController::~CGlxHdmiController(void) - ?NewL@CGlxHdmiController@@SAPAV1@XZ @ 5 NONAME ; class CGlxHdmiController * CGlxHdmiController::NewL(void) - ?IsWidescreen@CGlxTv@@QBEHXZ @ 6 NONAME ; int CGlxTv::IsWidescreen(void) const - ?IsHDMIConnected@CGlxHdmiController@@QAEHXZ @ 7 NONAME ; int CGlxHdmiController::IsHDMIConnected(void) - ?ShiftToPostingMode@CGlxHdmiController@@QAEXXZ @ 8 NONAME ; void CGlxHdmiController::ShiftToPostingMode(void) - ?ShiftToCloningMode@CGlxHdmiController@@QAEXXZ @ 9 NONAME ; void CGlxHdmiController::ShiftToCloningMode(void) - ?SetImageL@CGlxHdmiController@@QAEXABVTDesC16@@H@Z @ 10 NONAME ; void CGlxHdmiController::SetImageL(class TDesC16 const &, int) + ?SetImageL@CGlxHdmiController@@QAEXABVTDesC16@@PAVCFbsBitmap@@H@Z @ 3 NONAME ; void CGlxHdmiController::SetImageL(class TDesC16 const &, class CFbsBitmap *, int) + ??1CGlxTv@@UAE@XZ @ 4 NONAME ; CGlxTv::~CGlxTv(void) + ??1CGlxHdmiController@@UAE@XZ @ 5 NONAME ; CGlxHdmiController::~CGlxHdmiController(void) + ?NewL@CGlxHdmiController@@SAPAV1@XZ @ 6 NONAME ; class CGlxHdmiController * CGlxHdmiController::NewL(void) + ?IsWidescreen@CGlxTv@@QBEHXZ @ 7 NONAME ; int CGlxTv::IsWidescreen(void) const + ?IsHDMIConnected@CGlxHdmiController@@QAEHXZ @ 8 NONAME ; int CGlxHdmiController::IsHDMIConnected(void) + ?ShiftToPostingMode@CGlxHdmiController@@QAEXXZ @ 9 NONAME ; void CGlxHdmiController::ShiftToPostingMode(void) + ?ShiftToCloningMode@CGlxHdmiController@@QAEXXZ @ 10 NONAME ; void CGlxHdmiController::ShiftToCloningMode(void) ?NewL@CGlxTv@@SAPAV1@AAVMGlxTvObserver@@@Z @ 11 NONAME ; class CGlxTv * CGlxTv::NewL(class MGlxTvObserver &) ?IsConnected@CGlxTv@@QBEHXZ @ 12 NONAME ; int CGlxTv::IsConnected(void) const ?ItemNotSupported@CGlxHdmiController@@QAEXXZ @ 13 NONAME ; void CGlxHdmiController::ItemNotSupported(void) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/eabi/glxtvoutu.def --- a/photosgallery/viewframework/tvout/eabi/glxtvoutu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/eabi/glxtvoutu.def Tue Apr 27 16:37:53 2010 +0300 @@ -6,7 +6,7 @@ _ZN18CGlxHdmiController18ShiftToCloningModeEv @ 5 NONAME _ZN18CGlxHdmiController18ShiftToPostingModeEv @ 6 NONAME _ZN18CGlxHdmiController4NewLEv @ 7 NONAME - _ZN18CGlxHdmiController9SetImageLERK7TDesC16i @ 8 NONAME + _ZN18CGlxHdmiController9SetImageLERK7TDesC16P10CFbsBitmapi @ 8 NONAME _ZN18CGlxHdmiControllerD0Ev @ 9 NONAME _ZN18CGlxHdmiControllerD1Ev @ 10 NONAME _ZN18CGlxHdmiControllerD2Ev @ 11 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/group/glxtvout.mmp --- a/photosgallery/viewframework/tvout/group/glxtvout.mmp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/group/glxtvout.mmp Tue Apr 27 16:37:53 2010 +0300 @@ -74,6 +74,10 @@ LIBRARY imageconversion.lib // ICL LIBRARY efsrv.lib LIBRARY glxuiutilities.lib // for GlxGeneralUiUtilities +LIBRARY bitgdi.lib +LIBRARY apgrfx.lib // +LIBRARY apmime.lib // For ImageViewer mime type extraction +LIBRARY AccPolicy.lib //For RAccessoryConnection status ID's // Other Dependency Libraries #ifdef __MARM LIBRARY GSServerEngine.lib // FOr AspectRatio diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/inc/glxhdmicontroller.h --- a/photosgallery/viewframework/tvout/inc/glxhdmicontroller.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/inc/glxhdmicontroller.h Tue Apr 27 16:37:53 2010 +0300 @@ -47,7 +47,8 @@ * Update Image * @param1 - Image file path */ - IMPORT_C void SetImageL(const TDesC& aImageFile, TBool aStore = ETrue); + IMPORT_C void SetImageL(const TDesC& aImageFile, CFbsBitmap* aFsBitmap = NULL, + TBool aStore = ETrue); /* * To intimate that the item is not supported. @@ -117,16 +118,16 @@ * Stores the Image File name * @param1 - Image file */ - void StoreImageInfoL(const TDesC& aImageFile); + void StoreImageInfoL(const TDesC& aImageFile, CFbsBitmap* aFsBitmap); private: + CFbsBitmap* iFsBitmap; HBufC* iStoredImagePath; CGlxHdmiContainer* iHdmiContainer; CGlxHdmiSurfaceUpdater* iSurfaceUpdater; CGlxTv* iGlxTvOut; TBool iIsImageSupported; - TBool iIsPostingMode; }; #endif /* GLXHDMICONTROLLER_H_ */ diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/inc/glxhdmisurfaceupdater.h --- a/photosgallery/viewframework/tvout/inc/glxhdmisurfaceupdater.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/inc/glxhdmisurfaceupdater.h Tue Apr 27 16:37:53 2010 +0300 @@ -25,6 +25,8 @@ #include "graphics/surface.h" #include "graphics/surfaceupdateclient.h" #include + +// forward decleration class CGlxActiveCallBack; class CGlxHdmiDecoderAO; class CImageDecoder; @@ -39,16 +41,16 @@ { public: /* - * + * NewL */ static CGlxHdmiSurfaceUpdater* NewL(RWindow* aWindow, const TDesC& aImageFile, - MGlxGenCallback* aCallBack); - + CFbsBitmap* aFsBitmap, MGlxGenCallback* aCallBack); + /* - * destructor + * Destructor */ ~CGlxHdmiSurfaceUpdater(); - + public: /* * This is to cancel the active object from decoding @@ -58,78 +60,82 @@ /* * This updates the new image. */ - void UpdateNewImageL(const TDesC& aImageFile); - + void UpdateNewImageL(const TDesC& aImageFile,CFbsBitmap* aFsBitmap); + /* * Activate Zoom */ void ActivateZoom(TBool aAutoZoomOut); /* - * Deactivate Zoom - */ + * Deactivate Zoom + */ void DeactivateZoom(); /* * Zoom in our out depending on parameter */ void Zoom(TBool aZoom); - - /* + + /* ShiftToCloningMOde - */ - void ShiftToCloningMode(); - - /* + */ + void ShiftToCloningMode(); + + /* ShiftToPostingMode - */ - void ShiftToPostingMode(); + */ + void ShiftToPostingMode(); private: /* - * Ctor + * Constructor */ - CGlxHdmiSurfaceUpdater(RWindow* aWindow, const TDesC& aImageFile, - MGlxGenCallback* aCallBack); - + CGlxHdmiSurfaceUpdater(RWindow* aWindow, MGlxGenCallback* aCallBack); + /* * ConstructL() */ - void ConstructL(); - + void ConstructL(CFbsBitmap* aFsBitmap,const TDesC& aImageFile); + /* * Create a New surface with given size */ void CreateSurfaceL(); /* - * @param1 size - */ - void MapSurfaceL(); + * @param1 size + */ + void MapSurfaceL(); + /* + * This fundtion wont be called , could be used if double buffering is planned in future + * to start the second decoder AO and update the surface with a new session. + */ static TInt SurfBuffer0Ready(TAny* aObject); + /* * Call a refresh on the screen */ void Refresh(); - + /* * Dump the buffer on to the surface stride */ void SwapBuffers(); - + /* * Release contents */ void ReleaseContent(); - + /* * Create bitmap */ void CreateBitmapL(); - + /* * Create an image decoder with given file * @param1 - Image file */ - void CreateImageDecoderL(const TDesC& aImageFile); + void CreateImageDecoderL(); /* * Creating all enablers for HDMI @@ -138,16 +144,56 @@ */ void CreateHdmiL(TBool aCreateSurface = ETrue); + /* + * This if for zoom timer timeout + */ static TInt TimeOut(TAny* aSelf); - - /* - * ModifySurface positions of the surface to be displayed on screen - */ - void ModifySurfacePostion(); + + /* + * ModifySurface positions of the surface to be displayed on screen + */ + void ModifySurfacePostion(); + + /* + * Process the image for TV + */ + void ProcessTvImage(); + + /* + * Shows the FS thumbnail first before showing + * Decoded HD image + */ + void ShowFsThumbnailL(); + + /* + * Recalculate the size for png/bmp as decoder fails to + * decode for desired size + */ + TSize ReCalculateSizeL(); + + /* + * If the image format is non jpeg, then we need to calculate as per + * reduction factor and reduced size as what the decoder is going to return us + * This function returns if that needs to be done. + */ + TBool DoesMimeTypeNeedsRecalculateL(); + + /* + * If the image format is non jpeg, then we need to scale the bitmap after it is + * decoded, as the return value would not fit the screen + */ + void ScaleDecodedBitmapL(TInt aBitmapIndex); + + /* + * InitiateHDMI + */ + void InitiateHdmiL(CFbsBitmap* aFsBitmap,const TDesC& aImageFile); + private: - RWindow* iWindow; - const TDesC& iImagePath; - MGlxGenCallback* iCallBack; + RWindow* iWindow; // window object + CFbsBitmap* iFsBitmap; // FS bitmap + MGlxGenCallback* iCallBack; // callback to the HdmiContainer window + HBufC* iImagePath; // To store the image uri path // GCE Surface RSurfaceUpdateSession iSurfUpdateSession; @@ -156,29 +202,44 @@ RChunk* iSurfChunk; // RChunk TInt iSurfaceStride; // surface stride TSurfaceConfiguration iConfig; // surface configuration for zoom - - TSize iZoomRectSz ; - CFbsBitmap* iDecodedBitmap; //Decoded bitmap of the focussed image - + + CFbsBitmap* iDecodedBitmap[3]; // Array of Decoded bitmaps of the focussed image + // 1 - contains FS/Grid Thumbnail, 2- HD image, + // (optional)3-Scaled png/bmp images + void* iSurfBuffer; // Surface buffer CGlxActiveCallBack* iSurfBufferAO; // Surface buffer AO - + //ICL CGlxHdmiDecoderAO* iGlxDecoderAO; // Internal Image decoder AO CImageDecoder* iImageDecoder; // Image Decoder RFs iFsSession; // RFs + + TPoint iLeftCornerForZoom; // + CPeriodic* iTimer; // Timer for Zoom - TPoint iLeftCornerForZoom; - CPeriodic* iTimer; - TBool iZoom; - TBool iBitmapReady; - TBool iAutoZoomOut; - TBool iSurfSessionConnected; + // Various objects to store sizes and count + TSize iTvScreenSize; // to store the Tv screen size + TSize iTargetBitmapSize; // To Store the target bitmap size to display(as per Aspect Ratio) + + // Various flags to store values + TBool iZoom; // Is zoomed + TBool iBitmapReady; // If the bitmap is decoded and ready + TBool iAutoZoomOut; // If the UI has asked for auto zoomout + TBool iSurfSessionConnected; // If surface session is connected TBool iShiftToCloning; + TBool iShwFsThumbnail; // If the Fs thumbnail is to be shown before decoding HD images + TBool iIsNonJpeg; // If the item is non jpeg + #ifdef _DEBUG TTime iStartTime; TTime iStopTime; #endif - + // The bitmap index in the array of bitmaps + enum { + EFSBitmapIndex = 0, + EJpgDecodedBitmapIndex, + ENonJpgDecodedBitmapIndex + }; }; #endif /* GLXHDMISURFACEUPDATER_H_ */ diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/inc/glxtvconnectionmonitor.h --- a/photosgallery/viewframework/tvout/inc/glxtvconnectionmonitor.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/inc/glxtvconnectionmonitor.h Tue Apr 27 16:37:53 2010 +0300 @@ -29,18 +29,20 @@ #include // for MAknWsEventObserver #include // for RAccessoryServer #include // for RAccessoryMode +#include // for RAccessoryConnection +#include // Forward Declarations -class MGlxTvConnectionObserver; +class MGlxTvConnectionObserver; /** * Class Description * An Active object derived class is used to monitor the TV out connection * @author Loughlin - */ -NONSHARABLE_CLASS(CGlxTvConnectionMonitor) : public CActive + */ +NONSHARABLE_CLASS(CGlxTvConnectionMonitor) : public CActive { public: @@ -49,24 +51,24 @@ */ static CGlxTvConnectionMonitor* NewL( MGlxTvConnectionObserver& aConnectionObserver); - + /** * Destructor. */ ~CGlxTvConnectionMonitor(); - + private: /** * Standard C++ constructor */ - CGlxTvConnectionMonitor( + CGlxTvConnectionMonitor( MGlxTvConnectionObserver& aConnectionObserver); - + /* * Symbian second stage construction */ - void ConstructL(); + void ConstructL(); public: // class member functions @@ -86,53 +88,55 @@ private: // From CActive /** * @ref CActive::RunL - */ + */ void RunL(); - + /** * @ref CActive::DoCancel - */ + */ void DoCancel(); - + /** * @ref CActive::RunError - */ - TInt RunError( TInt aError ); - - + */ + TInt RunError( TInt aError ); + + private: /** - * Requests TV on/off events - */ + * Requests TV on/off events + */ void IssueRequest(); /** * Sends notification to observers when TV Out cable is connected - */ + */ void IssueNotificationL(); - + private: // class member data - + // Not owned: TV connection observer MGlxTvConnectionObserver& iConnectionObserver; - // TVout The Connection state + // TVout The Connection state TBool iTvOutConnectionState; - - // TVout The Connection state + + // TVout The Connection state TBool iHDMIConnectionState; // The (external device) Accessory Server RAccessoryServer iTvAccServer; - - // Accessory mode + + // Accessory mode RAccessoryMode iTvAccMode; - - // Accessory Mode structure - details the type of accessory - TAccPolAccessoryMode iCurrentAccMode; + // Accessory Connection - details the type of accessory + RAccessoryConnection iTvAccCon; + + //Class gives Generic ID + TAccPolGenericIDArray iCurrentAccArray; }; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/src/glxactivedecoder.cpp --- a/photosgallery/viewframework/tvout/src/glxactivedecoder.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/src/glxactivedecoder.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -57,10 +57,12 @@ TRACER("CGlxHdmiDecoderAO::RunL()"); if(iStatus == KErrUnderflow) { + GLX_LOG_INFO("CGlxHdmiDecoderAO::RunL() - call continueconvert"); iDecoder->ContinueConvert(&iStatus); } else { + GLX_LOG_INFO("CGlxHdmiDecoderAO::RunL() - call handlerunL"); iHdmiSurfaceUpdater->HandleRunL(iStatus); } } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/src/glxhdmicontainer.cpp --- a/photosgallery/viewframework/tvout/src/glxhdmicontainer.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/src/glxhdmicontainer.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -20,7 +20,10 @@ #include #include #include "glxhdmicontainer.h" + const TInt KGroupNameLength = 32; +_LIT(KPhotosHdmi,"PhotosHdmi"); + // ----------------------------------------------------------------------------- // NewLC // ----------------------------------------------------------------------------- @@ -93,7 +96,7 @@ iWsWindowGroup = RWindowGroup(iSession); User::LeaveIfError(iWsWindowGroup.Construct(id, iScreenDevice)); iWsWindowGroup.SetOrdinalPosition(0); - TBuf winGroupName(_L("PhotosHdmi")); + TBuf winGroupName(KPhotosHdmi); iWsWindowGroup.SetName(winGroupName); iWsWindowGroupID = iWsWindowGroup.Identifier(); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp --- a/photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -49,6 +49,11 @@ DestroyContainer(); delete iStoredImagePath; iStoredImagePath = NULL; + if (iFsBitmap) + { + delete iFsBitmap; + iFsBitmap = NULL; + } if(iGlxTvOut) { delete iGlxTvOut; @@ -58,18 +63,17 @@ // ----------------------------------------------------------------------------- // Setting an Image Path // ----------------------------------------------------------------------------- -EXPORT_C void CGlxHdmiController::SetImageL(const TDesC& aImageFile, +EXPORT_C void CGlxHdmiController::SetImageL(const TDesC& aImageFile, CFbsBitmap* aFsBitmap, TBool aStore) { TRACER("CGlxHdmiController::SetImageL()"); if (aStore) { iIsImageSupported = ETrue; - StoreImageInfoL(aImageFile); + StoreImageInfoL( aImageFile, aFsBitmap ); } if (iGlxTvOut->IsHDMIConnected()) { - iIsPostingMode = ETrue; GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 2"); // do not close the surface , use the same surface instead. // Call a function to pass imagefile @@ -86,7 +90,7 @@ else { GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 3"); - iSurfaceUpdater->UpdateNewImageL(aImageFile); + iSurfaceUpdater->UpdateNewImageL(aImageFile, aFsBitmap); } iHdmiContainer->DrawNow(); } @@ -136,7 +140,6 @@ EXPORT_C void CGlxHdmiController::ShiftToCloningMode() { TRACER("CGlxHdmiController::ShiftToCloningMode()"); - iIsPostingMode = EFalse; if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater) { iSurfaceUpdater->ShiftToCloningMode(); @@ -149,7 +152,6 @@ EXPORT_C void CGlxHdmiController::ShiftToPostingMode() { TRACER("CGlxHdmiController::ShiftToPostingMode()"); - iIsPostingMode = ETrue; if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater) { iSurfaceUpdater->ShiftToPostingMode(); @@ -160,7 +162,7 @@ // Constructor // ----------------------------------------------------------------------------- CGlxHdmiController::CGlxHdmiController(): - iIsPostingMode(EFalse) + iFsBitmap(NULL) { TRACER("CGlxHdmiController::CGlxHdmiController()"); // Implement nothing here @@ -220,7 +222,7 @@ { TRACER("CGlxHdmiController::CreateSurfaceUpdater()"); RWindow* window = iHdmiContainer->GetWindow(); - iSurfaceUpdater = CGlxHdmiSurfaceUpdater::NewL(window, aImageFile, + iSurfaceUpdater = CGlxHdmiSurfaceUpdater::NewL(window, aImageFile, iFsBitmap, iHdmiContainer); iHdmiContainer->DrawNow(); } @@ -228,7 +230,7 @@ // ----------------------------------------------------------------------------- // StoreImageInfoL // ----------------------------------------------------------------------------- -void CGlxHdmiController::StoreImageInfoL(const TDesC& aImageFile) +void CGlxHdmiController::StoreImageInfoL(const TDesC& aImageFile, CFbsBitmap* aFsBitmap) { TRACER("CGlxHdmiController::StoreImageInfoL()"); if(iStoredImagePath) @@ -236,7 +238,14 @@ delete iStoredImagePath; iStoredImagePath = NULL; } + if (iFsBitmap) + { + delete iFsBitmap; + iFsBitmap = NULL; + } iStoredImagePath = aImageFile.AllocL(); + iFsBitmap = new (ELeave) CFbsBitmap; + iFsBitmap->Duplicate(aFsBitmap->Handle()); } // ----------------------------------------------------------------------------- @@ -247,14 +256,16 @@ TRACER("CGlxHdmiController::HandleTvStatusChangedL()"); if ( aChangeType == ETvConnectionChanged ) { - if ( iGlxTvOut->IsHDMIConnected() && iIsImageSupported && iIsPostingMode) + if ( iGlxTvOut->IsHDMIConnected() && iIsImageSupported ) { GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI Connected"); // Calling SetImageL() with appropriate parameters - SetImageL(iStoredImagePath->Des(), EFalse); + SetImageL(iStoredImagePath->Des(), iFsBitmap, EFalse); } else { + GLX_LOG_INFO2("CGlxHdmiController::HandleTvStatusChangedL() iIsImageSupported=%d, iGlxTvOut->IsHDMIConnected()=%d", + iIsImageSupported,iGlxTvOut->IsHDMIConnected()); // if it gets disconnected, destroy the surface GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI Not Connected"); DestroySurfaceUpdater(); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/src/glxhdmisurfaceupdater.cpp --- a/photosgallery/viewframework/tvout/src/glxhdmisurfaceupdater.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/src/glxhdmisurfaceupdater.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -29,27 +30,29 @@ #include "glxactivecallback.h" #include "glxhdmisurfaceupdater.h" #include "glxactivedecoder.h" +#include -// 720p image size -const TInt KHdTvWidth = 1280; -const TInt KHdTvHeight = 720; const TInt KMulFactorToCreateBitmap = 4; const TInt KZoomDelay = 10000; //100 , is decide for 20 steps of zooming , with each step being 5 pixels. const TInt KMaxZoomLimit = 100; //evey time we zoom , there is a increase in the ht amd width by 10 pixels. const TInt KSingleStepForZoom = 10; + +_LIT(KMimeJpeg,"image/jpeg"); +_LIT(KMimeJpg,"image/jpg"); + // ----------------------------------------------------------------------------- // NewLC // ----------------------------------------------------------------------------- CGlxHdmiSurfaceUpdater* CGlxHdmiSurfaceUpdater::NewL(RWindow* aWindow, const TDesC& aImageFile, + CFbsBitmap* aFsBitmap, MGlxGenCallback* aCallBack) { TRACER("CGlxHdmiSurfaceUpdater* CGlxHdmiSurfaceUpdater::NewL()"); - CGlxHdmiSurfaceUpdater* self = new (ELeave) CGlxHdmiSurfaceUpdater(aWindow, aImageFile, - aCallBack); + CGlxHdmiSurfaceUpdater* self = new (ELeave) CGlxHdmiSurfaceUpdater(aWindow, aCallBack); CleanupStack::PushL(self); - self->ConstructL(); + self->ConstructL(aFsBitmap,aImageFile); CleanupStack::Pop(self); return self; } @@ -106,39 +109,52 @@ TRACER("void CGlxHdmiSurfaceUpdater::ReleaseContent()"); if ( iGlxDecoderAO ) { + GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::ReleaseContent() -1"); iGlxDecoderAO->Cancel(); } - - if ( iDecodedBitmap ) + if (iFsBitmap) { - delete iDecodedBitmap; - iDecodedBitmap= NULL; + GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::ReleaseContent() -2"); + delete iFsBitmap; + iFsBitmap = NULL; } - + for (TInt i=0; i<=2 ; i++) + { + GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::ReleaseContent() -3, %d", i); + delete iDecodedBitmap[i]; + iDecodedBitmap[i]= NULL; + } + GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::ReleaseContent() -4"); if(iSurfBufferAO && iSurfBufferAO->IsActive()) { + GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::ReleaseContent() -5"); iSurfBufferAO->Cancel(); } - if ( iImageDecoder ) { + GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::ReleaseContent() -6"); delete iImageDecoder; iImageDecoder = NULL; } - if (iSurfSessionConnected && iSurfManager) { + GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::ReleaseContent() -7"); iSurfUpdateSession.CancelAllUpdateNotifications(); } + if (iImagePath) + { + delete iImagePath; + iImagePath = NULL; + } } // ----------------------------------------------------------------------------- // CTor // ----------------------------------------------------------------------------- -CGlxHdmiSurfaceUpdater::CGlxHdmiSurfaceUpdater(RWindow* aWindow, - const TDesC& aImageFile, MGlxGenCallback* aCallBack): - iWindow(aWindow), iImagePath(aImageFile), - iCallBack(aCallBack) +CGlxHdmiSurfaceUpdater::CGlxHdmiSurfaceUpdater(RWindow* aWindow, + MGlxGenCallback* aCallBack): + iWindow(aWindow), iCallBack(aCallBack), + iShwFsThumbnail(ETrue), iIsNonJpeg(EFalse) { TRACER("CGlxHdmiSurfaceUpdater::CGlxHdmiSurfaceUpdater()"); // Implement nothing here @@ -147,74 +163,105 @@ // ----------------------------------------------------------------------------- // ConstructL // ----------------------------------------------------------------------------- -void CGlxHdmiSurfaceUpdater::ConstructL() +void CGlxHdmiSurfaceUpdater::ConstructL(CFbsBitmap* aFsBitmap, const TDesC& aImageFile) { TRACER("CGlxHdmiSurfaceUpdater::ConstructL()"); + // Initiate the HDMI by assigning the necessary values + InitiateHdmiL(aFsBitmap,aImageFile); + TInt error = iFsSession.Connect (); GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::ConstructL() FsSession Connect error = %d", error); User::LeaveIfError(error); - - iBitmapReady = EFalse; iShiftToCloning = EFalse; // Create the active object iGlxDecoderAO = CGlxHdmiDecoderAO::NewL(this); - CreateImageDecoderL(iImagePath); + + // Create the HDMI Decoder + CreateImageDecoderL(); + + // Create the Bitmap CreateBitmapL(); + + // Create the surface and AO for updating the surface TRAP_IGNORE(CreateHdmiL()); + if(iSurfManager) - { - error = iSurfUpdateSession.Connect(); - GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::ConstructL() Surface update Session Connect error = %d", error); - User::LeaveIfError(error); - iSurfSessionConnected = ETrue; - + { + error = iSurfUpdateSession.Connect(); + GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::ConstructL() Surface update Session Connect error = %d", error); + User::LeaveIfError(error); + iSurfSessionConnected = ETrue; + + ShowFsThumbnailL(); #ifdef _DEBUG - iStartTime.HomeTime(); + iStartTime.HomeTime(); #endif - //start decoding the image - iGlxDecoderAO->ConvertImageL(*iDecodedBitmap,iImageDecoder); - } - iLeftCornerForZoom.iX = 0; - iLeftCornerForZoom.iY = 0; + //start decoding the image + iGlxDecoderAO->ConvertImageL(*iDecodedBitmap[EJpgDecodedBitmapIndex],iImageDecoder); + } iTimer = CPeriodic::NewL( CActive::EPriorityStandard ); - iZoom = ETrue; } // ----------------------------------------------------------------------------- // UpdateNewImageL // ----------------------------------------------------------------------------- -void CGlxHdmiSurfaceUpdater::UpdateNewImageL(const TDesC& aImageFile) +void CGlxHdmiSurfaceUpdater::UpdateNewImageL(const TDesC& aImageFile,CFbsBitmap* aFsBitmap) { TRACER("CGlxHdmiSurfaceUpdater::UpdateNewImageL()"); - //Cancel the zoom timers if any - if(iTimer->IsActive()) + ReleaseContent(); + // Initiate the HDMI by assigning the necessary values + InitiateHdmiL(aFsBitmap,aImageFile); + //Cancel the zoom timers if any + if(iTimer->IsActive()) { - GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::UpdateNewImageL() - Cancel Timer"); + GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::UpdateNewImageL() - Cancel Timer"); iTimer->Cancel(); } - - iBitmapReady = EFalse; - iLeftCornerForZoom.iX = 0; - iLeftCornerForZoom.iY = 0; - ReleaseContent(); - CreateImageDecoderL(aImageFile); + + // Create the HDMI Decoder + CreateImageDecoderL(); + + // Create the Bitmap CreateBitmapL(); if(iSurfManager) - { - CreateHdmiL(EFalse); - } + { + // Create the surface and AO for updating the surface + CreateHdmiL(EFalse); + } else - { - TRAP_IGNORE(CreateHdmiL(ETrue)); - } + { + TRAP_IGNORE(CreateHdmiL(ETrue)); + } + #ifdef _DEBUG iStartTime.HomeTime(); #endif if(iSurfManager) - { - //start decoding the image - iGlxDecoderAO->ConvertImageL(*iDecodedBitmap,iImageDecoder); - } + { + // Show FS Thumbnail + ShowFsThumbnailL(); + //start decoding the image + iGlxDecoderAO->ConvertImageL(*iDecodedBitmap[EJpgDecodedBitmapIndex],iImageDecoder); + } + } + +// ----------------------------------------------------------------------------- +// InitiateHdmiL +// ----------------------------------------------------------------------------- +void CGlxHdmiSurfaceUpdater::InitiateHdmiL(CFbsBitmap* aFsBitmap,const TDesC& aImageFile) + { + TRACER("CGlxHdmiSurfaceUpdater::InitiateHdmiL()"); + iImagePath = aImageFile.Alloc(); + iFsBitmap = new (ELeave) CFbsBitmap; + iFsBitmap->Duplicate(aFsBitmap->Handle()); + iIsNonJpeg = EFalse; + iTvScreenSize = iWindow->Size(); + + iBitmapReady = EFalse; + iLeftCornerForZoom.iX = 0; + iLeftCornerForZoom.iY = 0; + + iZoom = ETrue; } // ----------------------------------------------------------------------------- @@ -245,7 +292,6 @@ void CGlxHdmiSurfaceUpdater::CreateSurfaceL() { TRACER("CGlxHdmiSurfaceUpdater::CreateSurfaceL()"); - TSize surfaceSize = iWindow->Size(); // create surface of the screen size, i.e 1280x720 iSurfManager = new(ELeave) RSurfaceManager(); TInt error = iSurfManager->Open(); GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::CreateSurfaceL Open Surface manager error = %d", error); @@ -253,10 +299,10 @@ RSurfaceManager::TSurfaceCreationAttributesBuf attributes; attributes().iPixelFormat = EUidPixelFormatARGB_8888;// EUidPixelFormatYUV_420Planar; - attributes().iSize = surfaceSize; + attributes().iSize = iTvScreenSize; attributes().iBuffers = 1; - attributes().iStride = surfaceSize.iWidth * KMulFactorToCreateBitmap; + attributes().iStride = iTvScreenSize.iWidth * KMulFactorToCreateBitmap; attributes().iAlignment = KMulFactorToCreateBitmap; attributes().iContiguous = EFalse; attributes().iMappable = ETrue; @@ -327,10 +373,9 @@ { TRACER("CGlxHdmiSurfaceUpdater::Refresh()"); // copy the decoded bitmap on to the surface - SwapBuffers(); - // Modify the surface position with respect to the buffer size - ModifySurfacePostion(); - // refresh the window + SwapBuffers(); + + // refresh the window iCallBack->DoGenCallback(); } @@ -342,69 +387,137 @@ void CGlxHdmiSurfaceUpdater::SwapBuffers() { TRACER("CGlxHdmiSurfaceUpdater::SwapBuffers()"); - + TInt bitmapIndex = KErrNotFound; + + if (iShwFsThumbnail) // show FS thumbnail + { + bitmapIndex = EFSBitmapIndex; + } + else if(iIsNonJpeg && !iShwFsThumbnail) // this indicates it is non jpeg image and decoding finished + { + bitmapIndex = ENonJpgDecodedBitmapIndex; + } + else // if none of the above state means it is jpeg image and decoding finished + { + bitmapIndex = EJpgDecodedBitmapIndex; + } + // Lock the heap so that subsequent call to dataaddress doesnt happen - iDecodedBitmap->LockHeap(); - + iDecodedBitmap[bitmapIndex]->LockHeap(); + // Data stride - TUint fs = iDecodedBitmap->DataStride(); - + TUint fs = iDecodedBitmap[bitmapIndex]->DataStride(); + //Bitmap address from where the data has to be copied. - TUint8* from = (TUint8*)iDecodedBitmap->DataAddress(); - + TUint8* from = (TUint8*)iDecodedBitmap[bitmapIndex]->DataAddress(); + //surface chunk address to where the bitmap data has to be copied. TUint8* to = (TUint8*)iSurfBuffer; - + // To buffer (32 bit colors) TUint ts = iSurfaceStride; //No of bytes to be copied on to the surface. - TUint bytes = iDecodedBitmap->SizeInPixels().iWidth * KMulFactorToCreateBitmap; - + TUint bytes = iDecodedBitmap[bitmapIndex]->SizeInPixels().iWidth * KMulFactorToCreateBitmap; + GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::SwapBuffers() - decodeSize width = %d and height %d", - iDecodedBitmap->SizeInPixels().iWidth, iDecodedBitmap->SizeInPixels().iHeight ); - + iDecodedBitmap[bitmapIndex]->SizeInPixels().iWidth, + iDecodedBitmap[bitmapIndex]->SizeInPixels().iHeight ); + // Copy the bitmap on to the surface. - for (TInt y = iDecodedBitmap->SizeInPixels().iHeight; y >0; y--) + for (TInt y = iDecodedBitmap[bitmapIndex]->SizeInPixels().iHeight; y >0; y--) { Mem::Copy(to, from, bytes); to += ts; from += fs; } - iDecodedBitmap->UnlockHeap(); + iDecodedBitmap[bitmapIndex]->UnlockHeap(); } // ----------------------------------------------------------------------------- -// StartImageDecodeL +// CreateBitmapL // ----------------------------------------------------------------------------- void CGlxHdmiSurfaceUpdater::CreateBitmapL() { - TRACER("CGlxHdmiSurfaceUpdater::StartImageDecodeL()"); - TSize scrnSize = iWindow->Size(); - TSize targetBitmapSize; + TRACER("CGlxHdmiSurfaceUpdater::CreateBitmapL()"); TSize imageSize = iImageDecoder->FrameInfo().iOverallSizeInPixels; - GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::StartImageDecodeL() - bitmapsize=%d, %d",imageSize.iWidth,imageSize.iHeight); + GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::StartImageDecodeL() - bitmapsize=%d, %d", + imageSize.iWidth,imageSize.iHeight); TReal32 scaleFactor = 0.0f; - if (scrnSize.iWidth * imageSize.iHeight > scrnSize.iHeight + if (iTvScreenSize.iWidth * imageSize.iHeight > iTvScreenSize.iHeight * imageSize.iWidth) { - scaleFactor = (TReal32) scrnSize.iHeight + scaleFactor = (TReal32) iTvScreenSize.iHeight / (TReal32) imageSize.iHeight; } else { - scaleFactor = (TReal32) scrnSize.iWidth + scaleFactor = (TReal32) iTvScreenSize.iWidth / (TReal32) imageSize.iWidth; } GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::StartImageDecodeL() - scaleFactor=%f",scaleFactor); - targetBitmapSize.iHeight = imageSize.iHeight * scaleFactor; - targetBitmapSize.iWidth = imageSize.iWidth * scaleFactor; - - GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::StartImageDecodeL() - targetBitmapSize=%d, %d",targetBitmapSize.iWidth,targetBitmapSize.iHeight); + iTargetBitmapSize.iHeight = imageSize.iHeight * scaleFactor; + iTargetBitmapSize.iWidth = imageSize.iWidth * scaleFactor; + GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::StartImageDecodeL() - targetBitmapSize=%d, %d", + iTargetBitmapSize.iWidth,iTargetBitmapSize.iHeight); //create the bitmap for the required size - iDecodedBitmap = new (ELeave) CFbsBitmap(); + iDecodedBitmap[EJpgDecodedBitmapIndex] = new (ELeave) CFbsBitmap(); + // to check if the Mimetype is supported by the decoder to to arbitary scaling + // if not then we recalculate the size + TInt err = iDecodedBitmap[EJpgDecodedBitmapIndex]->Create(ReCalculateSizeL(), EColor16MU); + User::LeaveIfNull(iDecodedBitmap[EJpgDecodedBitmapIndex]); + } - TInt err = iDecodedBitmap->Create(targetBitmapSize, EColor16MU); - User::LeaveIfNull(iDecodedBitmap); +// ----------------------------------------------------------------------------- +// DoesMimeTypeNeedsRecalculateL() +// ----------------------------------------------------------------------------- +// +TBool CGlxHdmiSurfaceUpdater::DoesMimeTypeNeedsRecalculateL() + { + TRACER("CGlxHdmiSurfaceUpdater::DoesMimeTypeNeedsRecalculateL"); + RApaLsSession session; + TDataType mimeType; + TUid uid; + + User::LeaveIfError( session.Connect() ); + CleanupClosePushL( session ); + User::LeaveIfError( session.AppForDocument( iImagePath->Des(), uid, mimeType ) ); + CleanupStack::PopAndDestroy(&session); + + if (mimeType.Des().Compare(KMimeJpeg)==0 || + mimeType.Des().Compare(KMimeJpg)==0) + { + GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::DoesMimeTypeNeedsRecalculateL - jpeg"); + return EFalse; + } + else + { + GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::DoesMimeTypeNeedsRecalculateL - non jpeg"); + return ETrue; + } + } + +// ----------------------------------------------------------------------------- +// ReCalculateSize +// ----------------------------------------------------------------------------- +TSize CGlxHdmiSurfaceUpdater::ReCalculateSizeL() + { + TRACER("CGlxHdmiSurfaceUpdater::ReCalculateSizeL()"); + if(DoesMimeTypeNeedsRecalculateL()) + { + iIsNonJpeg = ETrue; + TSize fullFrameSize = iImageDecoder->FrameInfo().iOverallSizeInPixels; + // calculate the reduction factor on what size we need + TInt reductionFactor = iImageDecoder->ReductionFactor(fullFrameSize, iTargetBitmapSize); + // get the reduced size onto destination size + TSize destSize; + User::LeaveIfError(iImageDecoder->ReducedSize(fullFrameSize, reductionFactor, destSize)); + GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::ReCalculateSizeL() - destSize=%d, %d",destSize.iWidth,destSize.iHeight); + return destSize; + } + else + { + return iTargetBitmapSize; + } } // ----------------------------------------------------------------------------- @@ -426,16 +539,13 @@ } else if(iSurfManager) { - iZoomRectSz = iDecodedBitmap->SizeInPixels(); - if (iSurfBufferAO->iStatus != KRequestPending - && !iSurfBufferAO->IsActive()) + iShwFsThumbnail = EFalse; + if (iIsNonJpeg) { - Refresh(); - iSurfBufferAO->iStatus = KRequestPending; - iSurfBufferAO->SetActive(); - iSurfUpdateSession.NotifyWhenAvailable(iSurfBufferAO->iStatus); - TInt err = iSurfUpdateSession.SubmitUpdate(1, iSurfId, 0, NULL); + // if this is non jpeg image, make sure we scale the bitmap + ScaleDecodedBitmapL(ENonJpgDecodedBitmapIndex); } + ProcessTvImage(); iBitmapReady = ETrue; } //release imagedecoder after the conversion is over @@ -449,15 +559,14 @@ // ----------------------------------------------------------------------------- // CreateImageDecoderL // ----------------------------------------------------------------------------- -void CGlxHdmiSurfaceUpdater::CreateImageDecoderL(const TDesC& aImageFile) +void CGlxHdmiSurfaceUpdater::CreateImageDecoderL() { TRACER("CGlxHdmiController::CreateImageDecoderL()"); // Create a decoder for the image in the named file TRAPD(error,iImageDecoder = CImageDecoder::FileNewL(iFsSession, - aImageFile, CImageDecoder::EOptionNone, KNullUid)); + iImagePath->Des(), CImageDecoder::EOptionNone, KNullUid)); GLX_LOG_INFO1("CreateImageDecoderL CImageDecoder:FileNewL error %d",error); User::LeaveIfError(error); - } // ----------------------------------------------------------------------------- @@ -543,18 +652,18 @@ } if(aZoom && iZoom) { - iZoomRectSz.iWidth = TInt(iZoomRectSz.iWidth-KSingleStepForZoom); - iZoomRectSz.iHeight = TInt(iZoomRectSz.iHeight-KSingleStepForZoom); + iTargetBitmapSize.iWidth = TInt(iTargetBitmapSize.iWidth-KSingleStepForZoom); + iTargetBitmapSize.iHeight = TInt(iTargetBitmapSize.iHeight-KSingleStepForZoom); iLeftCornerForZoom.iX =iLeftCornerForZoom.iX+KSingleStepForZoom/2; iLeftCornerForZoom.iY =iLeftCornerForZoom.iY+KSingleStepForZoom/2; - GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::Zoom()--- 2,iZoomRectSz.iWidth = %d, iZoomRectSz.iHeight = %d", iZoomRectSz.iWidth,iZoomRectSz.iHeight); + GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::Zoom()--- 2,iTargetBitmapSize.iWidth = %d, iTargetBitmapSize.iHeight = %d", iTargetBitmapSize.iWidth,iTargetBitmapSize.iHeight); iConfig.SetViewport(TRect(iLeftCornerForZoom.iX,iLeftCornerForZoom.iY, - iZoomRectSz.iWidth,iZoomRectSz.iHeight)); + iTargetBitmapSize.iWidth,iTargetBitmapSize.iHeight)); } else { - iZoomRectSz.iWidth = TInt(iZoomRectSz.iWidth+KSingleStepForZoom); - iZoomRectSz.iHeight = TInt(iZoomRectSz.iHeight+KSingleStepForZoom); + iTargetBitmapSize.iWidth = TInt(iTargetBitmapSize.iWidth+KSingleStepForZoom); + iTargetBitmapSize.iHeight = TInt(iTargetBitmapSize.iHeight+KSingleStepForZoom); iLeftCornerForZoom.iX =iLeftCornerForZoom.iX-KSingleStepForZoom/2; iLeftCornerForZoom.iY =iLeftCornerForZoom.iY-KSingleStepForZoom/2; if(iLeftCornerForZoom.iX == 0) @@ -562,9 +671,9 @@ iTimer->Cancel(); iZoom = ETrue; } - GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::Zoom()--- 4,iZoomRectSz.iWidth = %d, iZoomRectSz.iHeight = %d", iZoomRectSz.iWidth,iZoomRectSz.iHeight); + GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::Zoom()--- 4,iTargetBitmapSize.iWidth = %d, iTargetBitmapSize.iHeight = %d", iTargetBitmapSize.iWidth,iTargetBitmapSize.iHeight); iConfig.SetViewport(TRect(iLeftCornerForZoom.iX,iLeftCornerForZoom.iY, - iZoomRectSz.iWidth,iZoomRectSz.iHeight)); + iTargetBitmapSize.iWidth,iTargetBitmapSize.iHeight)); } iWindow->SetBackgroundSurface(iConfig, ETrue); } @@ -575,24 +684,26 @@ void CGlxHdmiSurfaceUpdater::ModifySurfacePostion() { TRACER("CGlxHdmiSurfaceUpdater::ModifySurfacePostion()"); - TSize bitmapSize = iDecodedBitmap->SizeInPixels(); TPoint startPoint(0,0); - if (bitmapSize.iWidth SetBackgroundSurface(iConfig, ETrue); } // ----------------------------------------------------------------------------- @@ -635,3 +745,86 @@ iShiftToCloning = EFalse; } } + +// ----------------------------------------------------------------------------- +// ShowFsThumbnailL +// ----------------------------------------------------------------------------- +void CGlxHdmiSurfaceUpdater::ShowFsThumbnailL() + { + TRACER("CGlxHdmiSurfaceUpdater::ShowFsThumbnailL()"); + iShwFsThumbnail = ETrue; + GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::ShowFsThumbnailL() iTargetBitmapSize Width=%d, Height=%d", + iTargetBitmapSize.iWidth,iTargetBitmapSize.iHeight); + // Modify the surface position with respect to the buffer size + ModifySurfacePostion(); + // this is for FS thumbnail stored in array pointer 0 + ScaleDecodedBitmapL(EFSBitmapIndex); + // Process the Image to TV + ProcessTvImage(); + // set the surface onto background + iWindow->SetBackgroundSurface(iConfig, ETrue); + } + +// ----------------------------------------------------------------------------- +// ScaleDecodedBitmapL +// ----------------------------------------------------------------------------- +void CGlxHdmiSurfaceUpdater::ScaleDecodedBitmapL(TInt aBitmapIndex) + { + TRACER("CGlxHdmiSurfaceUpdater::ScaleDecodedBitmapL()"); + GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::ScaleDecodedBitmapL() iTargetBitmapSize Width=%d, Height=%d", + iTargetBitmapSize.iWidth,iTargetBitmapSize.iHeight); + + if (iDecodedBitmap[aBitmapIndex]) + { + delete iDecodedBitmap[aBitmapIndex]; + iDecodedBitmap[aBitmapIndex] = NULL; + } + iDecodedBitmap[aBitmapIndex] = new (ELeave) CFbsBitmap(); + // create destination with size + TInt err = iDecodedBitmap[aBitmapIndex]->Create(iTargetBitmapSize, EColor16MU); + GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::ScaleDecodedBitmapL() creating bitmap error, err=%d",err); + User::LeaveIfNull(iDecodedBitmap[aBitmapIndex]); + + // Create bitmap device for destination bitmap + CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(iDecodedBitmap[aBitmapIndex]); + CleanupStack::PushL(bitmapDevice); + + CFbsBitGc* bitmapGc = CFbsBitGc::NewL(); + CleanupStack::PushL(bitmapGc); + bitmapGc->Activate(bitmapDevice); + if (aBitmapIndex==EFSBitmapIndex) + { + // scale the source bitmap which is a FS bitmap + bitmapGc->DrawBitmap(TRect(iTargetBitmapSize), iFsBitmap); + } + else + { + // scale the source bitmap which is a decoded bitmap + bitmapGc->DrawBitmap(TRect(iTargetBitmapSize), iDecodedBitmap[EJpgDecodedBitmapIndex]); + } + + CleanupStack::PopAndDestroy(bitmapGc); + CleanupStack::PopAndDestroy(bitmapDevice); + + } + +// ----------------------------------------------------------------------------- +// ProcessTvImage +// ----------------------------------------------------------------------------- +void CGlxHdmiSurfaceUpdater::ProcessTvImage() + { + TRACER("CGlxHdmiSurfaceUpdater::ProcessTvImage()"); + if (iSurfBufferAO->iStatus != KRequestPending + && !iSurfBufferAO->IsActive()) + { + Refresh(); + iSurfBufferAO->iStatus = KRequestPending; + iSurfBufferAO->SetActive(); + iSurfUpdateSession.NotifyWhenAvailable(iSurfBufferAO->iStatus); + TInt err = iSurfUpdateSession.SubmitUpdate(1, iSurfId, 0, NULL); + GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::ProcessTvImage() Surfaceupdatesession error %d",err); + } + } + + + diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/src/glxtv.cpp --- a/photosgallery/viewframework/tvout/src/glxtv.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/src/glxtv.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -159,9 +159,9 @@ TRACER("CGlxTv::CGlxTvOutCenRepMonitor::ConstructL"); CActiveScheduler::Add( this ); #ifdef __MARM - CGSServerEngine* aGSServerEngine= CGSServerEngine::NewLC(); - iSettingsTVAspectRatio = aGSServerEngine->AspectRatioL(); - CleanupStack::Pop(aGSServerEngine); + CGSServerEngine* gsServerEngine= CGSServerEngine::NewLC(); + iSettingsTVAspectRatio = gsServerEngine->AspectRatioL(); + CleanupStack::Pop(gsServerEngine); #else iSettingsTVAspectRatio = 0; #endif @@ -388,9 +388,9 @@ iAspectRatio = KErrNotFound; #ifdef __MARM - CGSServerEngine* aGSServerEngine = CGSServerEngine::NewLC(); - iAspectRatio = aGSServerEngine->AspectRatioL(); - CleanupStack::Pop(aGSServerEngine); + CGSServerEngine* gsServerEngine = CGSServerEngine::NewLC(); + iAspectRatio = gsServerEngine->AspectRatioL(); + CleanupStack::Pop(gsServerEngine); User::LeaveIfError( iAspectRatio ); #else iAspectRatio = 0; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/tvout/src/glxtvconnectionmonitor.cpp --- a/photosgallery/viewframework/tvout/src/glxtvconnectionmonitor.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/tvout/src/glxtvconnectionmonitor.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -31,8 +31,8 @@ #include #include #include "glxtv.h" - - +#include +#include //----------------------------------------------------------------------------- // Return new object //----------------------------------------------------------------------------- @@ -58,6 +58,7 @@ { GLX_LOG_INFO("~CGlxTvConnectionMonitor"); Cancel(); + iTvAccCon.CloseSubSession(); iTvAccServer.Disconnect(); } @@ -83,13 +84,19 @@ void CGlxTvConnectionMonitor::ConstructL() { GLX_LOG_INFO("CGlxTvConnectionMonitor::ConstructL"); - User::LeaveIfError( iTvAccServer.Connect() ); - User::LeaveIfError( iTvAccMode.CreateSubSession( iTvAccServer ) ); - User::LeaveIfError( iTvAccMode.GetAccessoryMode( iCurrentAccMode ) ); - iTvOutConnectionState = ( iCurrentAccMode.iAccessoryMode == EAccModeTVOut); - iHDMIConnectionState = ( iCurrentAccMode.iAccessoryMode == EAccModeHDMI); - - IssueRequest(); + User::LeaveIfError(iTvAccServer.Connect()); + User::LeaveIfError(iTvAccCon.CreateSubSession(iTvAccServer)); + User::LeaveIfError(iTvAccCon.GetAccessoryConnectionStatus(iCurrentAccArray)); + for (int i = 0; i < iCurrentAccArray.Count(); i++) + { + iTvOutConnectionState + = (iCurrentAccArray.GetGenericIDL(i).PhysicalConnectionCaps() + == KPCWired); + iHDMIConnectionState + = (iCurrentAccArray.GetGenericIDL(i).PhysicalConnectionCaps() + == KPCHDMI); + } + IssueRequest(); } //----------------------------------------------------------------------------- @@ -117,7 +124,8 @@ void CGlxTvConnectionMonitor::DoCancel() { GLX_LOG_INFO("CGlxTvConnectionMonitor::DoCancel"); - iTvAccMode.CancelNotifyAccessoryModeChanged(); + iTvAccCon.CancelGetAccessoryConnectionStatus(); + iTvAccCon.CancelNotifyAccessoryConnectionStatusChanged(); } @@ -141,6 +149,7 @@ TBool CGlxTvConnectionMonitor::IsConnected() const { GLX_LOG_INFO("CGlxTvConnectionMonitor::IsConnected"); + GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsConnected iTvOutConnectionState=%d",iTvOutConnectionState); return iTvOutConnectionState; } @@ -152,6 +161,7 @@ TBool CGlxTvConnectionMonitor::IsHDMIConnected() const { GLX_LOG_INFO("CGlxTvConnectionMonitor::IsHDMIConnected"); + GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsHDMIConnected iHDMIConnectionState=%d",iHDMIConnectionState); return iHDMIConnectionState; } @@ -164,35 +174,75 @@ GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueRequest"); if (!IsActive()) // required for testing { - iTvAccMode.NotifyAccessoryModeChanged( iStatus, iCurrentAccMode ); + iTvAccCon.NotifyAccessoryConnectionStatusChanged(iStatus,iCurrentAccArray); SetActive(); } } - //----------------------------------------------------------------------------- // Sends notification to observers if TV Out is connected //----------------------------------------------------------------------------- // void CGlxTvConnectionMonitor::IssueNotificationL() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL"); - TBool previousTvState = iTvOutConnectionState; - TBool previousHDMIState = iHDMIConnectionState; - GLX_LOG_INFO2("previousTvState = %d , previousHDMIState = %d", - previousTvState,previousHDMIState); - iTvOutConnectionState = ( iCurrentAccMode.iAccessoryMode == EAccModeTVOut); - iHDMIConnectionState = ( iCurrentAccMode.iAccessoryMode == EAccModeHDMI); - // Call Statuschnage only if actually TvState or HDMIState has changed. - if ( previousTvState!= iTvOutConnectionState || - previousHDMIState != iHDMIConnectionState) - { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL -" - " TvConnectionStatusChanged"); - iConnectionObserver.HandleTvConnectionStatusChangedL(); - } - } + GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL"); + TBool previousTvState = iTvOutConnectionState; + TBool previousHDMIState = iHDMIConnectionState; + GLX_LOG_INFO2("previousTvState = %d , previousHDMIState = %d", + previousTvState,previousHDMIState); + + //gets the TV status in to the iCurrentAccArray and haves the Latest Accesory in 0-index + User::LeaveIfError(iTvAccCon.GetAccessoryConnectionStatus(iCurrentAccArray)); + + CAccPolSubblockNameArray* nameArray = CAccPolSubblockNameArray::NewL(); + CleanupStack::PushL(nameArray); - + // + // Get the number of currently connected accessories + // Loop through each connected accessory looking for + // the desired capabilities + // + iTvOutConnectionState = EFalse; + iHDMIConnectionState = EFalse; + const TInt count = iCurrentAccArray.Count(); + for (TInt index = 0; index < count; index++) + { + TAccPolGenericID genId = iCurrentAccArray.GetGenericIDL(index); + // Get all supported capabilities for this connected accessory. + iTvAccCon.GetSubblockNameArrayL(genId, *nameArray); + // Check if this connected accessory supports TV-Out capabality. + if (nameArray->HasName(KAccVideoOut)) + { + GLX_LOG_INFO("TV-Out Capabilities Exist"); + TAccPolNameRecord nameRecord; + nameRecord.SetNameL(KAccVideoOut); + TAccValueTypeTInt value; + iTvAccCon.GetValueL(genId, nameRecord, value); + if (value.iValue == EAccVideoOutEHDMI) + { + GLX_LOG_INFO("HDMI is connected Capabilities Exist"); + iHDMIConnectionState = ETrue; + break; + } + else if (value.iValue == EAccVideoOutCVideo) + { + GLX_LOG_INFO("TV is connected Capabilities Exist"); + iTvOutConnectionState = ETrue; + break; + } + } + } + CleanupStack::PopAndDestroy(nameArray); + if (previousTvState != iTvOutConnectionState || previousHDMIState + != iHDMIConnectionState) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL -" + " TvConnectionStatusChanged"); + GLX_LOG_INFO2("CurrentTvState = %d , CurrentHDMIState = %d", + iTvOutConnectionState,iHDMIConnectionState); + iConnectionObserver.HandleTvConnectionStatusChangedL(); + } + } + diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/uiutilities/data/glxuiutilities.rss --- a/photosgallery/viewframework/uiutilities/data/glxuiutilities.rss Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/data/glxuiutilities.rss Tue Apr 27 16:37:53 2010 +0300 @@ -832,6 +832,12 @@ buf = "#Removed from Favourites"; } +// Completion note for "File saved to" +RESOURCE TBUF r_glx_completion_file_saved_to + { + buf = qtn_lgal_note_file_saved_to; + } + RESOURCE CBA r_glx_progressbar_softkey_hide { buttons = diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/cloudview/inc/glxtagscontextmenucontrol.h --- a/photosgallery/viewframework/views/cloudview/inc/glxtagscontextmenucontrol.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/cloudview/inc/glxtagscontextmenucontrol.h Tue Apr 27 16:37:53 2010 +0300 @@ -40,8 +40,9 @@ virtual void HandleGridMenuListL(TInt aCommand) = 0; }; -class CGlxTagsContextMenuControl : public CAlfControl, public MGlxTimerNotifier - +class CGlxTagsContextMenuControl : public CAlfControl, + public MGlxTimerNotifier + { public: /** @@ -49,30 +50,33 @@ * @param aItemMenuObserver - handles the menu items in grid layout * @return Pointer to newly created object */ - static CGlxTagsContextMenuControl* NewL( MGlxItemMenuObserver& aItemMenuObserver ); + static CGlxTagsContextMenuControl* NewL( + MGlxItemMenuObserver& aItemMenuObserver); /** * Perform the two phase construction * @param aItemMenuObserver - handles the menu items in grid layout * @return Pointer to newly created object */ - static CGlxTagsContextMenuControl* NewLC( MGlxItemMenuObserver& aItemMenuObserver ); + static CGlxTagsContextMenuControl* NewLC( + MGlxItemMenuObserver& aItemMenuObserver); /** * Destroy the object and release all memory objects */ ~CGlxTagsContextMenuControl(); - -public://MGlxTimernotifier + +public: + //MGlxTimernotifier /** * Virtual Function from MGlxTimernotifier */ void TimerComplete(); - + public: /** * Sets the grid layout on the screen with the Point specified * @param aPoint - Point from which grid has to be displayed */ - void SetDisplay(const TPoint& aPoint); + void SetDisplay(const TPoint& aPoint); /** * Hides/shows the grid layout * @param aOpacity - Opacity value @@ -85,24 +89,24 @@ TBool ItemMenuVisibility(); /** - * Sets the drawable screen rect - * It also handles coordinates changed from Orientation - * @param aRect - rect area where the Tags are drawn - */ + * Sets the drawable screen rect + * It also handles coordinates changed from Orientation + * @param aRect - rect area where the Tags are drawn + */ void SetViewableRect(TRect aRect); - + private: /** * constructor * @param aItemMenuObserver - handles the menu items in grid layout */ - CGlxTagsContextMenuControl( MGlxItemMenuObserver& aItemMenuObserver ); + CGlxTagsContextMenuControl(MGlxItemMenuObserver& aItemMenuObserver); /** * Perform the second phase of two phase construction */ void ConstructL(); - + /** * Creates the font * @return the fontId @@ -113,11 +117,15 @@ * @param aFontId - Sets the text style */ void CreateMenuListL(TInt aFontId); - + /** - * Calculates the maximum text width of menu items - */ + * Calculates the maximum text width of menu items + */ void CalculateMaxWidth(); + /** + * Draws the line separators in Stylus menu + */ + void DrawLineSeparatorsL(); /** * Perform the two phase construction * @param aEvent - key Event to handle @@ -127,35 +135,35 @@ TBool OfferEventL(const TAlfEvent& aEvent); private: - + //Observer to handle the menu items in grid layout - MGlxItemMenuObserver& iItemMenuObserver; - + MGlxItemMenuObserver& iItemMenuObserver; + //Grid layout, not owning CAlfGridLayout* iGrid; /** The Alf environment*/ CAlfEnv* iAlfEnv; - + //Slideshow text, not owning - CAlfTextVisual* iSlideshowTextVisual; - + CAlfTextVisual* iSlideshowTextVisual; + //Delete text, not owning CAlfTextVisual* iDeleteTextVisual; - + //Rename text, not owning - CAlfTextVisual* iRenameTextVisual; - + CAlfTextVisual* iRenameTextVisual; + // Anchor Layout - CAlfAnchorLayout* iMainVisual; - + CAlfAnchorLayout* iMainVisual; + //variable used for providing delay - CGlxBubbleTimer* iTimer; - + CGlxBubbleTimer* iTimer; + //Viewable rect - TRect iViewableRect; - + TRect iViewableRect; + //flag for stylus menu visibility - TBool iItemMenuVisibility; + TBool iItemMenuVisibility; //Maximum text width of a menu item TInt iMaxTextWidth; }; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/cloudview/src/glxcloudviewimp.cpp --- a/photosgallery/viewframework/views/cloudview/src/glxcloudviewimp.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/cloudview/src/glxcloudviewimp.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -137,9 +137,6 @@ CGlxCloudViewImp::~CGlxCloudViewImp() { TRACER("GLX_CLOUD::CGlxCloudViewImp::~CGlxCloudViewImp"); - - delete iMMCNotifier; - iMMCNotifier = NULL; CleanupVisuals (); delete iEmptyListText; @@ -222,6 +219,7 @@ // set app state to tag-browser view GlxSetAppState::SetState (EGlxInTagBrowserView); + iMMCNotifier = CGlxMMCNotifier::NewL(*this); } // --------------------------------------------------------------------------- @@ -232,6 +230,10 @@ void CGlxCloudViewImp::DoMLViewDeactivate() { TRACER("GLX_CLOUD::CGlxCloudViewImp::DoMLViewDeactivate"); + + delete iMMCNotifier; + iMMCNotifier = NULL; + //Hide softkeys and toolbar upon view de-activation. iViewWidget->enableControlPane(EFalse); if ( EGlxNavigationForwards == iUiUtility->ViewNavigationDirection() ) @@ -368,9 +370,8 @@ //acquire the focus so as to get events to your control instead of widgets iCloudControl->AcquireFocus(); - - iMMCNotifier = CGlxMMCNotifier::NewL(*this); } + // --------------------------------------------------------------------------- // SetScrollBarRect() // --------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/cloudview/src/glxtagscontextmenucontrol.cpp --- a/photosgallery/viewframework/views/cloudview/src/glxtagscontextmenucontrol.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/cloudview/src/glxtagscontextmenucontrol.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include #include #include @@ -59,7 +61,7 @@ const TReal KOpacityOpaque = 1.0; //lowest possible value to make control completely transparent const TReal KOpacityTransparent = 0.0; -const TPoint KDummyPoint(100,100); +const TPoint KDummyPoint(500, 500); //6 Seconds delay for menu control visibility on screen const TInt KTimerDelay = 6000000; //Control complete height @@ -72,6 +74,10 @@ const TInt KShrinkYCoord = 5; //Padding value for Minimum width for control const TInt KWidthPadding = 20; +//Padding value for Minimum spacing for line separators +const TInt KLinePadding = 5; +//Context menu separator line thickness value +const TReal KSeparatorLineThickness = 0.2; //For Tagging the visuals _LIT8(KTagSlideshow, "SS"); _LIT8(KTagRename, "Ren"); @@ -156,6 +162,7 @@ iMainVisual->Brushes()->AppendL(frameBrush, EAlfHasOwnership); CleanupStack::Pop(frameBrush); + DrawLineSeparatorsL(); ShowItemMenu(EFalse); } // --------------------------------------------------------------------------- @@ -261,11 +268,11 @@ } TInt upperYPos = aPoint.iY - KMinimalGap; - TInt XPos = aPoint.iX ; + TInt XPos = aPoint.iX + KWidthPadding; //Preferred is to display in upper area TInt upperDisplayableHeight = upperYPos - iViewableRect.iTl.iY; - TInt rightDisplayableWidth = iViewableRect.iBr.iY - XPos; + TInt rightDisplayableWidth = iViewableRect.iBr.iX - XPos ; //always draw above if(rightDisplayableWidth < iMaxTextWidth) @@ -281,8 +288,11 @@ iMainVisual->SetPos(TAlfRealPoint(XPos , upperYPos - KGridHeight)); } - iTimer->Cancel(); //cancels any outstanding requests - iTimer->SetDelay(KTimerDelay); + if ( iTimer) + { + iTimer->Cancel(); //cancels any outstanding requests + iTimer->SetDelay(KTimerDelay); + } } // --------------------------------------------------------------------------- @@ -301,6 +311,7 @@ { iMainVisual->SetOpacity(KOpacityTransparent); iItemMenuVisibility = EFalse; + iMainVisual->SetPos(TAlfRealPoint(KDummyPoint)); } } @@ -390,3 +401,36 @@ : iDeleteTextVisual->TextExtents().iWidth); } +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// DrawLineSeparatorsL() +// --------------------------------------------------------------------------- +// +void CGlxTagsContextMenuControl::DrawLineSeparatorsL() + { + TRACER("GLX_CLOUD::CGlxTagsContextMenuControl::DrawLineSeparators"); + TRgb color; + //Gets the color of the line specific to skin + AknsUtils::GetCachedColor(AknsUtils::SkinInstance(), color, + KAknsIIDQsnLineColors, EAknsCIQsnLineColorsCG11); + + for (TInt i = 1; i < KNumofMenuItems; i++) + { + CAlfCurvePath* curvePath = CAlfCurvePath::NewLC(*iAlfEnv); + curvePath->AppendArcL( + TPoint(KLinePadding, KReqHeightPerMenuItem * i), TSize(), 0, + 0, 0); + curvePath->AppendLineL( + TPoint(KLinePadding, KReqHeightPerMenuItem * i), TPoint( + iMainVisual->DisplayRect().Width() - KLinePadding, + KReqHeightPerMenuItem * i), 0); + + CAlfLineVisual* line = CAlfLineVisual::AddNewL(*this, iMainVisual); + line->SetPath(curvePath, EAlfHasOwnership); + line->SetThickness(KSeparatorLineThickness); + line->SetColor(color); + line->SetFlag(EAlfVisualFlagIgnorePointer); + + CleanupStack::Pop(curvePath); + } + } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/fullscreenview/group/glxfullscreenview.mmp --- a/photosgallery/viewframework/views/fullscreenview/group/glxfullscreenview.mmp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/fullscreenview/group/glxfullscreenview.mmp Tue Apr 27 16:37:53 2010 +0300 @@ -100,6 +100,8 @@ LIBRARY glxtvout.lib LIBRARY gfxtrans.lib LIBRARY akntransitionutils.lib +LIBRARY fbscli.lib LIBRARY ws32.lib // for RWsSession +LIBRARY aknicon.lib // EOF diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h --- a/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h Tue Apr 27 16:37:53 2010 +0300 @@ -121,7 +121,7 @@ void DoMLViewDeactivate(); //Shows the exipry note/dialog for expired DRM files - void ShowDrmExpiaryNoteL(); + void ShowDrmExpiryNoteL(); // Callback for periodic timer, static, static TInt PeriodicCallback( TAny* aPtr ); @@ -337,6 +337,10 @@ TBool iImgViewerMode; CGlxMMCNotifier* iMMCNotifier; TBool iMMCState; + TSize iScrnSize; // ScrnSize + TSize iGridIconSize; // grid icon size + TBool iIsDialogLaunched; + TBool iIsMMCRemoved; }; #endif diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp --- a/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -24,6 +24,8 @@ #include // for KDC_APP_RESOURCE_DIR #include #include // String Loader +#include +#include //For animation Effects #include @@ -72,6 +74,7 @@ #include #include #include +#include #include "glxfullscreenbusyicon.h" using namespace Alf; @@ -90,7 +93,7 @@ /** * Interval delay for the periodic timer, in microseconds */ -const TInt KPeriodicIntervalDelay = 100000; +const TInt KPeriodicIntervalDelay = 500000; //This constant is used to calculate the index of the item for which texture has to removed. //6 = 5(iterator value in forward or backward direction for fullscreen) + 1(focus index) @@ -98,6 +101,7 @@ //Constant which says maximum number of fullscreen textures that we have have at a time. //11 = (5(5 fullscreen texture backwards)+1(fucus index texture)+5(5 fullscreen texture forwards)) const TInt KFullScreenTextureOffset = 5; +const TInt KGlxDecodingThreshold = 3000000; // pixels _LIT( KTfxResourceActivateFullScreen, "z:\\resource\\effects\\photos_fullscreen_open.fxml" ); @@ -184,6 +188,9 @@ iDrmUtility = CGlxDRMUtility::InstanceL(); // Get object that stores the active media list registry iActiveMediaListRegistry = CGlxActiveMediaListRegistry::InstanceL(); + + iIsDialogLaunched = EFalse; + iIsMMCRemoved = EFalse; iMMCNotifier = CGlxMMCNotifier::NewL(*this); if(!iPeriodic) @@ -323,6 +330,9 @@ CleanupStack::PopAndDestroy( naviState ); CleanupStack::PopAndDestroy( navigationalState ); + iScrnSize = iUiUtility->DisplaySize(); + iGridIconSize = iUiUtility->GetGridIconSize(); + //Create hdmicontroller when it is only launched from fullscreen. //From filemanager show only clone mode. if( !iImgViewerMode ) @@ -690,8 +700,16 @@ iHdmiController->ActivateZoom(autoZoomOut); } - iZoomControl->ActivateL(GetInitialZoomLevel(),aStartMode, focus, + if (aStartMode == EZoomStartSlider) + { + iZoomControl->ActivateL(iSliderModel->PrimaryValue(),aStartMode, focus, item, apZoomFocus,iImgViewerMode); + } + else + { + iZoomControl->ActivateL(GetInitialZoomLevel(),aStartMode, focus, + item, apZoomFocus,iImgViewerMode); + } // Now to remove all textures other than the one we are focussing on. TInt count = iMediaList->Count(); while (count > 0) @@ -1027,7 +1045,7 @@ { HideUi(ETrue); } - TRAP_IGNORE(ShowDrmExpiaryNoteL()); + TRAP_IGNORE(ShowDrmExpiryNoteL()); return EEventConsumed; } case EVideoIconSelect: @@ -1093,7 +1111,12 @@ case EGlxCmdResetView: { HideUi(ETrue); + if (iIsDialogLaunched && iIsMMCRemoved) + { + ProcessCommandL(EAknSoftkeyExit); + } consumed = ETrue; + iIsDialogLaunched = EFalse; break; } case EGlxCmdFullScreenBack: @@ -1107,6 +1130,11 @@ consumed = ETrue; break; } + case EGlxCmdDialogLaunched: + { + iIsDialogLaunched = ETrue; + break; + } } return consumed; } @@ -1149,6 +1177,16 @@ TSize size; TUint8 initialZoomLevel; item.GetDimensions( size ); + if (KGlxDecodingThreshold < (size.iWidth * size.iHeight)) + { + TReal areaRatio = TReal(size.iWidth*size.iHeight)/KGlxDecodingThreshold ; + + TReal sideRatio; + Math::Sqrt(sideRatio, areaRatio); + + size.iHeight = size.iHeight / sideRatio ; + size.iWidth = size.iWidth / sideRatio ; + } TRect rect = AlfUtil::ScreenSize(); if( rect.Width()>= size.iWidth && rect.Height() >= size.iHeight) @@ -1264,39 +1302,52 @@ inline void CGlxFullScreenViewImp::CallPeriodicCallback() { TRACER("CGlxFullScreenViewImp::CallPeriodicCallback"); - TRAP_IGNORE(ShowDrmExpiaryNoteL()); + TRAP_IGNORE(ShowDrmExpiryNoteL()); } // --------------------------------------------------------------------------- // Shows expiry note / Consumes DRM rights for expired DRM files // --------------------------------------------------------------------------- // -void CGlxFullScreenViewImp::ShowDrmExpiaryNoteL() +void CGlxFullScreenViewImp::ShowDrmExpiryNoteL() { - TRACER("CGlxFullScreenViewImp::ShowDrmExpiaryNoteL"); + TRACER("CGlxFullScreenViewImp::ShowDrmExpiryNoteL"); if (iMediaList->Count() > 0) { const TGlxMedia& media = iMediaList->Item(iMediaList->FocusIndex()); TInt tnError = GlxErrorManager::HasAttributeErrorL( media.Properties(), KGlxMediaIdThumbnail); - GLX_LOG_INFO1("CGlxFullScreenViewImp::ShowDrmExpiaryNoteL()" + GLX_LOG_INFO1("CGlxFullScreenViewImp::ShowDrmExpiryNoteL()" " tnError=%d ", tnError); if (media.IsDrmProtected()) { - GLX_LOG_INFO("CGlxFullScreenViewImp::ShowDrmExpiaryNoteL()" + GLX_LOG_INFO("CGlxFullScreenViewImp::ShowDrmExpiryNoteL()" "- ConsumeDRMRightsL()"); + //Consume DRM Rights & cancel Periodic timer for DRM images + //only if Quality TN is available ConsumeDRMRightsL(media); } - - if (tnError == KErrNone) + else { - if (iPeriodic->IsActive()) + //Cancel the periodic timer if quality thumbnail is available + //and no error in fetching quality thumbnail. + TSize tnSize = iUiUtility->DisplaySize(); + TMPXAttribute qtyTnAttrib = TMPXAttribute(KGlxMediaIdThumbnail, + GlxFullThumbnailAttributeId(ETrue, tnSize.iWidth, + tnSize.iHeight)); + const CGlxThumbnailAttribute* qtyTn = media.ThumbnailAttribute( + qtyTnAttrib); + if (qtyTn && tnError == KErrNone) { - iPeriodic->Cancel(); + if (iPeriodic->IsActive()) + { + iPeriodic->Cancel(); + } } } - + + //check if any Error message is to be displayed TMPXGeneralCategory cat = media.Category(); TBool checkViewRights = (cat == EMPXImage); if (iDrmUtility->ItemRightsValidityCheckL(media.Uri(), @@ -1314,7 +1365,7 @@ if (naviState->Id() == TMPXItemId( KGlxCollectionPluginImageViewerImplementationUid)) { - GLX_LOG_INFO("CGlxFullScreenViewImp::ShowDrmExpiaryNoteL()" + GLX_LOG_INFO("CGlxFullScreenViewImp::ShowDrmExpiryNoteL()" "- ShowErrorNoteL()"); GlxGeneralUiUtilities::ShowErrorNoteL(tnError); } @@ -1476,7 +1527,7 @@ TGlxMedia item = iMediaList->Item(focusIndex); TInt error = GlxErrorManager::HasAttributeErrorL(item.Properties(), KGlxMediaIdThumbnail); - + GLX_LOG_INFO1("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - error=%d", error); // Item will be supported by HDMI ONLY if // it is not a video // and it has valid DRM Viewing rights @@ -1485,8 +1536,60 @@ && iDrmUtility->ItemRightsValidityCheckL(item.Uri(), ETrue) && (error == KErrNone) ) { - GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Setting the Image"); - iHdmiController->SetImageL(item.Uri()); + GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Fetch FS thumbnail"); + TMPXAttribute fsTnAttrib = TMPXAttribute(KGlxMediaIdThumbnail, + GlxFullThumbnailAttributeId(ETrue, iScrnSize.iWidth, + iScrnSize.iHeight)); + const CGlxThumbnailAttribute* fsValue = item.ThumbnailAttribute( + fsTnAttrib); + if (fsValue) + { + GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Setting FS Bitmap"); + CFbsBitmap* fsBitmap = new (ELeave) CFbsBitmap; + CleanupStack::PushL(fsBitmap); + fsBitmap->Duplicate( fsValue->iBitmap->Handle()); + + GLX_LOG_INFO2("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - FS Bitmap Size width=%d, height=%d", + fsBitmap->SizeInPixels().iWidth, fsBitmap->SizeInPixels().iHeight); + iHdmiController->SetImageL(item.Uri(),fsBitmap); + CleanupStack::PopAndDestroy(fsBitmap); + } + else + { + GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Fetch Grid thumbnail"); + TMPXAttribute gridTnAttrib = TMPXAttribute(KGlxMediaIdThumbnail, + GlxFullThumbnailAttributeId(ETrue, iGridIconSize.iWidth, + iGridIconSize.iHeight)); + const CGlxThumbnailAttribute* gridvalue = item.ThumbnailAttribute( + gridTnAttrib); + + if (gridvalue) + { + GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Setting Grid Bitmap"); + CFbsBitmap* gridBitmap = new (ELeave) CFbsBitmap; + CleanupStack::PushL(gridBitmap); + gridBitmap->Duplicate( gridvalue->iBitmap->Handle()); + + GLX_LOG_INFO2("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - gridBitmap Size width=%d, height=%d", + gridBitmap->SizeInPixels().iWidth, gridBitmap->SizeInPixels().iHeight); + iHdmiController->SetImageL(item.Uri(),gridBitmap); + CleanupStack::PopAndDestroy(gridBitmap); + } + else + { + GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Setting Default Bitmap"); + TFileName resFile(KDC_APP_BITMAP_DIR); + resFile.Append(KGlxIconsFilename); + CFbsBitmap* defaultBitmap = new (ELeave) CFbsBitmap; + CleanupStack::PushL(defaultBitmap); + defaultBitmap = AknIconUtils::CreateIconL(resFile, + EMbmGlxiconsQgn_prop_image_notcreated); + GLX_LOG_INFO2("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Default Size width=%d, height=%d", + defaultBitmap->SizeInPixels().iWidth, defaultBitmap->SizeInPixels().iHeight); + iHdmiController->SetImageL(item.Uri(),defaultBitmap); + CleanupStack::PopAndDestroy(defaultBitmap); + } + } } else { @@ -1540,12 +1643,16 @@ void CGlxFullScreenViewImp::HandleMMCRemovalL() { TRACER("CGlxFullScreenViewImp::HandleMMCRemovalL()"); - if(iZoomControl && iZoomControl->Activated()) + iIsMMCRemoved = ETrue; + if(!iIsDialogLaunched) { - SetSliderLevel(); - DeactivateZoomControlL(); + if(iZoomControl && iZoomControl->Activated()) + { + SetSliderLevel(); + DeactivateZoomControlL(); + } + ProcessCommandL(EAknSoftkeyExit); } - ProcessCommandL(EAknSoftkeyExit); } // --------------------------------------------------------------------------- diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/gridview/bwins/glxgridviewu.def --- a/photosgallery/viewframework/views/gridview/bwins/glxgridviewu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/gridview/bwins/glxgridviewu.def Tue Apr 27 16:37:53 2010 +0300 @@ -1,5 +1,5 @@ EXPORTS - ?NewL@CGlxGridView@@SAPAV1@PAVMGlxMediaListFactory@@ABVTGridViewResourceIds@@HABVTDesC16@@@Z @ 1 NONAME ; class CGlxGridView * CGlxGridView::NewL(class MGlxMediaListFactory *, class TGridViewResourceIds const &, int, class TDesC16 const &) - ?NewL@CGlxGridViewMLObserver@@SAPAV1@AAVMGlxMediaList@@PAVCHgGrid@@@Z @ 2 NONAME ; class CGlxGridViewMLObserver * CGlxGridViewMLObserver::NewL(class MGlxMediaList &, class CHgGrid *) - ?NewLC@CGlxGridView@@SAPAV1@PAVMGlxMediaListFactory@@ABVTGridViewResourceIds@@HABVTDesC16@@@Z @ 3 NONAME ; class CGlxGridView * CGlxGridView::NewLC(class MGlxMediaListFactory *, class TGridViewResourceIds const &, int, class TDesC16 const &) + ?NewLC@CGlxGridView@@SAPAV1@PAVMGlxMediaListFactory@@ABVTGridViewResourceIds@@HABVTDesC16@@@Z @ 1 NONAME ; class CGlxGridView * CGlxGridView::NewLC(class MGlxMediaListFactory *, class TGridViewResourceIds const &, int, class TDesC16 const &) + ?NewL@CGlxGridView@@SAPAV1@PAVMGlxMediaListFactory@@ABVTGridViewResourceIds@@HABVTDesC16@@@Z @ 2 NONAME ; class CGlxGridView * CGlxGridView::NewL(class MGlxMediaListFactory *, class TGridViewResourceIds const &, int, class TDesC16 const &) + ?NewL@CGlxGridViewMLObserver@@SAPAV1@AAVMGlxMediaList@@PAVCHgGrid@@W4TGlxFilterItemType@@@Z @ 3 NONAME ; class CGlxGridViewMLObserver * CGlxGridViewMLObserver::NewL(class MGlxMediaList &, class CHgGrid *, enum TGlxFilterItemType) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/gridview/eabi/glxgridviewu.def --- a/photosgallery/viewframework/views/gridview/eabi/glxgridviewu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/gridview/eabi/glxgridviewu.def Tue Apr 27 16:37:53 2010 +0300 @@ -1,9 +1,9 @@ EXPORTS _ZN12CGlxGridView4NewLEP20MGlxMediaListFactoryRK20TGridViewResourceIdsiRK7TDesC16 @ 1 NONAME _ZN12CGlxGridView5NewLCEP20MGlxMediaListFactoryRK20TGridViewResourceIdsiRK7TDesC16 @ 2 NONAME - _ZN22CGlxGridViewMLObserver4NewLER13MGlxMediaListP7CHgGrid @ 3 NONAME - _ZTI21CGlxGridViewContainer @ 4 NONAME ; ## - _ZTI22CGlxGridViewMLObserver @ 5 NONAME ; ## - _ZTV21CGlxGridViewContainer @ 6 NONAME ; ## - _ZTV22CGlxGridViewMLObserver @ 7 NONAME ; ## + _ZN22CGlxGridViewMLObserver4NewLER13MGlxMediaListP7CHgGrid18TGlxFilterItemType @ 3 NONAME + _ZTI21CGlxGridViewContainer @ 4 NONAME + _ZTI22CGlxGridViewMLObserver @ 5 NONAME + _ZTV21CGlxGridViewContainer @ 6 NONAME + _ZTV22CGlxGridViewMLObserver @ 7 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/gridview/inc/glxgridviewcontainer.h --- a/photosgallery/viewframework/views/gridview/inc/glxgridviewcontainer.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/gridview/inc/glxgridviewcontainer.h Tue Apr 27 16:37:53 2010 +0300 @@ -222,6 +222,8 @@ CAknToolbar* iToolbar; CGlxProgressIndicator* iProgressIndicator; CGlxMMCNotifier* iMMCNotifier; + TBool iIsDialogLaunched; + TBool iIsMMCRemoved; }; #endif // CGLXGRIDVIEWCONTROL_H diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/gridview/inc/glxgridviewmlobserver.h --- a/photosgallery/viewframework/views/gridview/inc/glxgridviewmlobserver.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/gridview/inc/glxgridviewmlobserver.h Tue Apr 27 16:37:53 2010 +0300 @@ -21,6 +21,7 @@ // Photos Headers #include +#include // FORWARD DECLARATIONS class CGlxMediaList; @@ -41,7 +42,8 @@ * @return Pointer to newly created object. */ IMPORT_C static CGlxGridViewMLObserver* NewL(MGlxMediaList& aMediaList, - CHgGrid* aHgGrid); + CHgGrid* aHgGrid, TGlxFilterItemType aFilterType = + EGlxFilterVideoAndImages); /** * Destructor. @@ -69,7 +71,8 @@ /** * C++ default constructor. */ - CGlxGridViewMLObserver(MGlxMediaList& aMediaList,CHgGrid* aHgGrid); + CGlxGridViewMLObserver(MGlxMediaList& aMediaList, CHgGrid* aHgGrid, + TGlxFilterItemType aFilterType); /** * By default Symbian 2nd phase constructor is private. @@ -133,5 +136,7 @@ //Grid Thumbnail Attribs TMPXAttribute iQualityTnAttrib; TMPXAttribute iSpeedTnAttrib; + // Filtertype, Image / Video + TGlxFilterItemType iFilterType; }; #endif //GLXGRIDVIEWMLOBSERVER_H_ diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/gridview/src/glxgridviewcontainer.cpp --- a/photosgallery/viewframework/views/gridview/src/glxgridviewcontainer.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/gridview/src/glxgridviewcontainer.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -182,6 +182,9 @@ GlxFullThumbnailAttributeId( EFalse, iGridIconSize.iWidth, iGridIconSize.iHeight ) ); CreateGridL(); + + iIsDialogLaunched = EFalse; + iIsMMCRemoved = EFalse; iMMCNotifier = CGlxMMCNotifier::NewL(*this); } @@ -931,9 +934,19 @@ { iHgGrid->InitScreenL(GetHgGridRect()); } + if (iIsDialogLaunched && iIsMMCRemoved) + { + iGlxGridViewObserver.HandleGridEventsL(EAknSoftkeyExit); + } retVal = ETrue; + iIsDialogLaunched = EFalse; break; } + case EGlxCmdDialogLaunched: + { + iIsDialogLaunched = ETrue; + break; + } default: break; } @@ -987,6 +1000,10 @@ void CGlxGridViewContainer::HandleMMCRemovalL() { TRACER("CGlxGridViewContainer::HandleMMCRemovalL()"); - iGlxGridViewObserver.HandleGridEventsL(EAknSoftkeyExit); + iIsMMCRemoved = ETrue; + if(!iIsDialogLaunched) + { + iGlxGridViewObserver.HandleGridEventsL(EAknSoftkeyExit); + } } //end of file diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp --- a/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -56,11 +56,12 @@ // --------------------------------------------------------------------------- // EXPORT_C CGlxGridViewMLObserver* CGlxGridViewMLObserver::NewL( - MGlxMediaList& aMediaList, CHgGrid* aHgGrid) + MGlxMediaList& aMediaList, CHgGrid* aHgGrid, + TGlxFilterItemType aFilterType) { TRACER("CGlxGridViewMLObserver::NewL()"); - CGlxGridViewMLObserver* self = - new (ELeave) CGlxGridViewMLObserver(aMediaList, aHgGrid); + CGlxGridViewMLObserver* self = new (ELeave) CGlxGridViewMLObserver( + aMediaList, aHgGrid, aFilterType); CleanupStack::PushL(self); self->ConstructL(); CleanupStack::Pop(self); @@ -72,7 +73,8 @@ // --------------------------------------------------------------------------- // CGlxGridViewMLObserver::CGlxGridViewMLObserver(MGlxMediaList& aMediaList, - CHgGrid* aHgGrid ) : iMediaList(aMediaList), iHgGrid(aHgGrid) + CHgGrid* aHgGrid, TGlxFilterItemType aFilterType) : + iMediaList(aMediaList), iHgGrid(aHgGrid), iFilterType(aFilterType) { TRACER("CGlxGridViewMLObserver::CGlxGridViewMLObserver()"); } @@ -224,7 +226,7 @@ TInt tnError = GlxErrorManager::HasAttributeErrorL( item.Properties(), KGlxMediaIdThumbnail ); GLX_DEBUG4("GlxGridMLObs::HandleAttributesAvailableL() tnError(%d)" - "qualityTn(%x) and speedTn(%x)", qualityTn, speedTn, tnError); + "qualityTn(%x) and speedTn(%x)",tnError, qualityTn, speedTn ); if (qualityTn) { @@ -416,12 +418,29 @@ if (iHgGrid) { // Setting the Empty Text - HBufC* emptyText = - StringLoader::LoadLC(R_GRID_EMPTY_VIEW_TEXT); - iHgGrid->SetEmptyTextL(*emptyText); - CleanupStack::PopAndDestroy(emptyText); + if (iFilterType == EGlxFilterImage) + { + HBufC* emptyText = StringLoader::LoadLC( + R_GRID_EMPTY_VIEW_TEXT_IMAGE); + iHgGrid->SetEmptyTextL(*emptyText); + CleanupStack::PopAndDestroy(emptyText); + } + else if (iFilterType == EGlxFilterVideo) + { + HBufC* emptyText = StringLoader::LoadLC( + R_GRID_EMPTY_VIEW_TEXT_VIDEO); + iHgGrid->SetEmptyTextL(*emptyText); + CleanupStack::PopAndDestroy(emptyText); + } + else + { + HBufC* emptyText = StringLoader::LoadLC(R_GRID_EMPTY_VIEW_TEXT); + iHgGrid->SetEmptyTextL(*emptyText); + CleanupStack::PopAndDestroy(emptyText); + } + GLX_DEBUG2("GridMLObserver::HandlePopulatedL() iMediaList.Count()=%d", - iMediaList.Count()); + iMediaList.Count()); if (iMediaList.Count() <= 0) { diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp --- a/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -133,7 +133,6 @@ CleanupStack::PopAndDestroy(uiUtility); //Register the view to recieve toolbar events. ViewBase handles the events SetToolbarObserver(this); - iMMCNotifier = CGlxMMCNotifier::NewL(*this); } // --------------------------------------------------------------------------- @@ -143,8 +142,6 @@ CGlxListViewImp::~CGlxListViewImp() { TRACER("CGlxListViewImp::~CGlxListViewImp"); - delete iMMCNotifier; - iMMCNotifier = NULL; if ( iNavigationalState ) { @@ -187,13 +184,20 @@ TRACER("CGlxListViewImp::DoMLViewActivateL"); TUint transitionID = (iUiUtility->ViewNavigationDirection()== - EGlxNavigationForwards)?KActivateTransitionId:KDeActivateTransitionId; - - GfxTransEffect::BeginFullScreen( transitionID, TRect(), + EGlxNavigationForwards)?KActivateTransitionId:KDeActivateTransitionId; + + //Do the activate animation only for views other than mainlist view and + //on backward navigation from any other views to main list view, since + //for the app start the animation effect is by default provided. + if (iMediaList->IdSpaceId(0) != KGlxIdSpaceIdRoot || + transitionID == KDeActivateTransitionId) + { + GfxTransEffect::BeginFullScreen( transitionID, TRect(), AknTransEffect::EParameterType, AknTransEffect::GfxTransParam( KPhotosUid, - AknTransEffect::TParameter::EEnableEffects) ); - GfxTransEffect::EndFullScreen(); + AknTransEffect::TParameter::EEnableEffects) ); + GfxTransEffect::EndFullScreen(); + } iNextViewActivationEnabled = ETrue; if(StatusPane()) @@ -272,6 +276,7 @@ } iProgressIndicator = CGlxProgressIndicator::NewL(*this); iProgressIndicator->ShowProgressbarL(); + iMMCNotifier = CGlxMMCNotifier::NewL(*this); } // --------------------------------------------------------------------------- @@ -317,6 +322,9 @@ delete iProgressIndicator; iProgressIndicator = NULL; } + + delete iMMCNotifier; + iMMCNotifier = NULL; } // --------------------------------------------------------------------------- @@ -393,7 +401,7 @@ TTypeUid::Ptr CGlxListViewImp::MopSupplyObject(TTypeUid aId) { - if (iBgContext) + if (iBgContext && aId.iUid == MAknsControlContext::ETypeId) { return MAknsControlContext::SupplyMopObject(aId, iBgContext ); } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/bwins/glxmetadatadialogu.def --- a/photosgallery/viewframework/views/metadatadialog/bwins/glxmetadatadialogu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/bwins/glxmetadatadialogu.def Tue Apr 27 16:37:53 2010 +0300 @@ -6,4 +6,5 @@ ?GetResourceFilenameL@CGlxResourceUtilities@@SAXAAV?$TBuf@$0BAA@@@AAVRFs@@@Z @ 5 NONAME ; void CGlxResourceUtilities::GetResourceFilenameL(class TBuf<256> &, class RFs &) ?GetResourceFilenameL@CGlxResourceUtilities@@SAXAAV?$TBuf@$0BAA@@@@Z @ 6 NONAME ; void CGlxResourceUtilities::GetResourceFilenameL(class TBuf<256> &) ?NewL@CGlxImgVwrMetadataDialog@@SAPAV1@ABVTDesC16@@@Z @ 7 NONAME ; class CGlxImgVwrMetadataDialog * CGlxImgVwrMetadataDialog::NewL(class TDesC16 const &) + ?GetUiUtilitiesResourceFilenameL@CGlxResourceUtilities@@SA?AV?$TBuf@$0BAA@@@XZ @ 8 NONAME ; class TBuf<256> CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL(void) diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/data/glxmetadatadialog.rss --- a/photosgallery/viewframework/views/metadatadialog/data/glxmetadatadialog.rss Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/data/glxmetadatadialog.rss Tue Apr 27 16:37:53 2010 +0300 @@ -133,21 +133,20 @@ name = qtn_lgal_details_resolution_title; empty_item_text = " "; }, + AVKON_SETTING_ITEM + { + identifier = ElicenseItem; + setting_page_resource = r_metadata_name_settings_page; + name = qtn_lgal_detail_drm; + empty_item_text = " "; + }, AVKON_SETTING_ITEM { identifier = EDurationItem; setting_page_resource = r_metadata_name_settings_page; name = qtn_lgal_details_duration; empty_item_text = " "; - }, - AVKON_SETTING_ITEM - { - identifier = ElicenseItem; - setting_page_resource = r_metadata_name_settings_page; - name = qtn_lgal_detail_drm; - empty_item_text = " "; } - }; }; } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/eabi/glxmetadatadialogu.def --- a/photosgallery/viewframework/views/metadatadialog/eabi/glxmetadatadialogu.def Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/eabi/glxmetadatadialogu.def Tue Apr 27 16:37:53 2010 +0300 @@ -3,15 +3,14 @@ _ZN18CGlxMetadataDialog9ExecuteLDEv @ 2 NONAME _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EE @ 3 NONAME _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EER3RFs @ 4 NONAME - _ZN22GlxMetadataViewUtility13ActivateViewLERK7TDesC16 @ 5 NONAME - _ZN24CGlxImgVwrMetadataDialog4NewLERK7TDesC16 @ 6 NONAME - _ZN24CGlxImgVwrMetadataDialog9ExecuteLDEv @ 7 NONAME - _ZTI18CGlxMetadataDialog @ 8 NONAME - _ZTI23CGlxMetadataAsyncUpdate @ 9 NONAME + _ZN21CGlxResourceUtilities31GetUiUtilitiesResourceFilenameLEv @ 5 NONAME + _ZN22GlxMetadataViewUtility13ActivateViewLERK7TDesC16 @ 6 NONAME + _ZN24CGlxImgVwrMetadataDialog4NewLERK7TDesC16 @ 7 NONAME + _ZN24CGlxImgVwrMetadataDialog9ExecuteLDEv @ 8 NONAME + _ZTI18CGlxMetadataDialog @ 9 NONAME _ZTI24CGlxImgVwrMetadataDialog @ 10 NONAME _ZTI26CGlxMetadataCommandHandler @ 11 NONAME _ZTV18CGlxMetadataDialog @ 12 NONAME - _ZTV23CGlxMetadataAsyncUpdate @ 13 NONAME - _ZTV24CGlxImgVwrMetadataDialog @ 14 NONAME - _ZTV26CGlxMetadataCommandHandler @ 15 NONAME + _ZTV24CGlxImgVwrMetadataDialog @ 13 NONAME + _ZTV26CGlxMetadataCommandHandler @ 14 NONAME diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/inc/glxmetadatacommandhandler.h --- a/photosgallery/viewframework/views/metadatadialog/inc/glxmetadatacommandhandler.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/inc/glxmetadatacommandhandler.h Tue Apr 27 16:37:53 2010 +0300 @@ -57,7 +57,8 @@ void PreDynInitMenuPaneL( TInt aResourceId ); - void DynInitMenuPaneL( TInt aMenuId, CEikMenuPane* aMenuPane ); + void DynInitMenuPaneL( TInt aMenuId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode); private: /** diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/inc/glxmetadatacontainer.h --- a/photosgallery/viewframework/views/metadatadialog/inc/glxmetadatacontainer.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/inc/glxmetadatacontainer.h Tue Apr 27 16:37:53 2010 +0300 @@ -42,7 +42,6 @@ class CGlxDetailsMulModelProvider; class MGlxMetadataDialogObserver; class CGlxCommandHandlerAddToContainer; -class CGlxMetadataAsyncUpdate; #include "glxmedia.h" @@ -113,23 +112,21 @@ * * @param aMediaList media list */ - CGlxMetadataContainer(MGlxMetadataDialogObserver& aDialogObserver,const TDesC& aUri - ,MToolbarResetObserver& aResetToolbarObs); + CGlxMetadataContainer(MGlxMetadataDialogObserver& aDialogObserver, + MToolbarResetObserver& aResetToolbarObs); /** * Symbian 2nd phase constructor * @param aRect rect for this control + * @para aUri uri for media item */ - void ConstructL( const TRect& aRect); + void ConstructL( const TRect& aRect, const TDesC& aUri); /** * Create media list with URI filter * This function creates the collection path filter and finally the MediaList - * - * @param aIsRename If ETrue,then MediaList is created with iModifiedUri - * ,if EFalse,then created with iUri */ - void CreateMediaListForSelectedItemL(TBool aIsRename = EFalse); + void CreateMediaListForSelectedItemL( ); /** * Create media list to get the tags list for the particular Item. * This function creates the collection path filter and finally the MediaList @@ -163,6 +160,14 @@ * @return TFileName as modified uri */ TFileName ParseFileName(const TDesC& aTitleText); + + /** + * Refresh MediaList with modified FileName. + * + * @param aModifiedUri is the new media uri + */ + void RefreshMediaListL(const TDesC& aModifiedUri); + public: //MedialistObserver APIS void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList ); @@ -182,11 +187,8 @@ MGlxMediaList& MediaList(); void HandleCommandCompleteL(TAny* aSessionId, CMPXCommand* /*aCommandResult*/, TInt aError, MGlxMediaList* aList); - /** - * Create new mediaList with modified filename. - */ - void RefreshMediaListL(); - + + private: //data MGlxMetadataDialogObserver& iDialogObesrver; @@ -200,7 +202,10 @@ RBuf iTextSetter; RBuf iTagSetter; RBuf iAlbumSetter; - const TDesC& iUri ; + + //(Owns) must always represent the media's current uri. + HBufC* iUri; + MGlxMediaList* iItemMediaList; MGlxMediaList* iTagMediaList; MGlxMediaList* iAlbumMediaList; @@ -209,61 +214,12 @@ TGlxSelectionIterator iSelectionIterator; CGlxAttributeContext* iMainListAttributecontext; MToolbarResetObserver& iResetToolbarObs; // observer - //New variable introduce to hold the modified uri name - //since iUri is const type. - HBufC* iModifiedUri; - CGlxMetadataAsyncUpdate* iAsyncRequest; - TBool iRenameCompleted; - }; - -/** - * CGlxMetadataAsyncUpdate - * - * Metadata asynchronous update implementation - * Asynchronously refreshing the MediaList because it can't be done in any MediaList callback. - */ -class CGlxMetadataAsyncUpdate: public CActive - { - - public: - /** - * Symbian standard two phase construction.Construct object of CGlxMetadataAsyncUpdate class. - * - * @param aObserver CGlxMetadataContainer - * @return MetadataAsynchronous object - */ - static CGlxMetadataAsyncUpdate* NewL(CGlxMetadataContainer& aObserver); - /** - * Symbian standard two phase construction.Construct object of CGlxMetadataAsyncUpdate class. - * - * @param aObserver CGlxMetadataContainer - * @return MetadataAsynchronous object - */ - static CGlxMetadataAsyncUpdate* NewLC(CGlxMetadataContainer& aObserver); - /** - * Destructor - */ - ~CGlxMetadataAsyncUpdate(); - /** - * Completes the active object causing a call from the - * active scheduler to RunL() - * (test in RunL using iStatus.Int()) - */ - void CompleteSelf(); - private: - /** - * C++ constructor. - * - * @param aObserver CGlxMetadataContainer - */ - CGlxMetadataAsyncUpdate(CGlxMetadataContainer& aObserver); - // from CActive - void RunL(); - void DoCancel(); - - private: - CGlxMetadataContainer& iObserver; + + //Flag to indicate rename command is started + TBool iRenameStarted; + }; + #endif //C_GLXMETADATACONTAINER_H__ //End of file diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/inc/glxresourceutilities.h --- a/photosgallery/viewframework/views/metadatadialog/inc/glxresourceutilities.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/inc/glxresourceutilities.h Tue Apr 27 16:37:53 2010 +0300 @@ -52,6 +52,13 @@ * @param The file server session, must be connected before the call */ IMPORT_C static void GetResourceFilenameL( TFileName& aResFile, RFs& aFs ); + + /** + * Gets the full name of the UiUtilities resource file. + * @return TFileName - The resource filename for UiUtilities + */ + IMPORT_C static TFileName GetUiUtilitiesResourceFilenameL(); + }; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/src/glxmetadatacommandhandler.cpp --- a/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacommandhandler.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacommandhandler.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -25,7 +25,7 @@ #include #include #include - +#include //----------------------------------------------------------------------------- // C++ default constructor. @@ -61,8 +61,11 @@ void CGlxMetadataCommandHandler::ConstructL() { TRACER("CGlxMetadataCommandHandler::ConstructL"); - - iShowOnMapCmdHandler = CGlxCommandHandlerAiwShowMap::NewL(iMediaListProvider, R_METADATA_MENU); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append( + CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); + iShowOnMapCmdHandler = CGlxCommandHandlerAiwShowMap::NewL( + iMediaListProvider, R_METADATA_MENU,uiutilitiesrscfile); } //----------------------------------------------------------------------------- @@ -109,9 +112,10 @@ // DynInitMenuPaneL // ----------------------------------------------------------------------------- // -void CGlxMetadataCommandHandler::DynInitMenuPaneL( TInt aMenuId, CEikMenuPane* aMenuPane ) +void CGlxMetadataCommandHandler::DynInitMenuPaneL( TInt aMenuId, CEikMenuPane* aMenuPane, + TBool aIsBrowseMode) { TRACER("CGlxMetadataCommandHandler::DynInitMenuPaneL"); - iShowOnMapCmdHandler->DynInitMenuPaneL(aMenuId,aMenuPane); + iShowOnMapCmdHandler->DynInitMenuPaneL(aMenuId,aMenuPane,aIsBrowseMode); } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp --- a/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-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" @@ -31,7 +31,7 @@ #include //for command factory #include // Content ID identifying general category of content provided #include "mglxmetadatadialogobserver.h" -#include +#include #include #include #include // tag collection plugin uid @@ -40,7 +40,7 @@ #include #include //For launching DRM details pane #include // General utilties class definition -#include +#include #include //For CExifModify #include #include @@ -65,12 +65,12 @@ // --------------------------------------------------------- // NewL // --------------------------------------------------------- -// +// CGlxMetadataContainer* CGlxMetadataContainer::NewL( const TRect& aRect, MGlxMetadataDialogObserver& aDialogObserver, const TDesC& item,MToolbarResetObserver& aResetToolbarObs) { - TRACER("CGlxMetadataContainer::NewL"); + TRACER("CGlxMetadataContainer::NewL"); CGlxMetadataContainer* self = CGlxMetadataContainer::NewLC( aRect, aDialogObserver,item,aResetToolbarObs); CleanupStack::Pop(self); @@ -80,25 +80,25 @@ // --------------------------------------------------------- // NewLC // --------------------------------------------------------- -// +// CGlxMetadataContainer* CGlxMetadataContainer::NewLC( const TRect& aRect, MGlxMetadataDialogObserver& aDialogObserver, const TDesC& aUri,MToolbarResetObserver& aResetToolbarObs) { - TRACER("CGlxMetadataContainer::NewLC"); - CGlxMetadataContainer* self = new(ELeave) CGlxMetadataContainer(aDialogObserver,aUri,aResetToolbarObs); + TRACER("CGlxMetadataContainer::NewLC"); + CGlxMetadataContainer* self = new(ELeave) CGlxMetadataContainer(aDialogObserver, aResetToolbarObs); CleanupStack::PushL(self); - self->ConstructL( aRect); + self->ConstructL( aRect, aUri); return self; } // --------------------------------------------------------- // CGlxMetadataContainer // --------------------------------------------------------- -// +// CGlxMetadataContainer::CGlxMetadataContainer(MGlxMetadataDialogObserver& aDialogObserver, - const TDesC& aUri,MToolbarResetObserver& aResetToolbarObs) - :iDialogObesrver ( aDialogObserver ),iUri(aUri),iResetToolbarObs(aResetToolbarObs) + MToolbarResetObserver& aResetToolbarObs) + :iDialogObesrver ( aDialogObserver ),iResetToolbarObs(aResetToolbarObs) { // No implementation } @@ -106,66 +106,65 @@ // --------------------------------------------------------- // CGlxMetadataContainer::ConstructL // --------------------------------------------------------- -// -void CGlxMetadataContainer::ConstructL( const TRect& /*aRect*/ ) - { +// +void CGlxMetadataContainer::ConstructL( const TRect& /*aRect*/ , const TDesC& aUri) + { + + //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); - + //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); - + //Create medialist filtered by uri - iUri CreateMediaListForSelectedItemL(); - - //Setting the iVideo flag to EFalse initially + + //Setting the iVideo flag to EFalse initially iVideo = EFalse; - + //Setting the iMarquee flag to EFalse initially iMarquee = EFalse; - + //check when Remove location information is selected. iLocationinfo = EFalse; - - //Creating a CGlxMetadataAsyncUpdate object - iAsyncRequest = CGlxMetadataAsyncUpdate::NewL(*this); - - //Initializing to NULL - iModifiedUri = NULL; - - //Flag to check if rename is completed successfully. - iRenameCompleted = EFalse; + + //Flag to indicate rename command is started + iRenameStarted = EFalse; + } // --------------------------------------------------------- // ~CGlxMetadataContainer // --------------------------------------------------------- -// +// CGlxMetadataContainer::~CGlxMetadataContainer() { TRACER("CGlxMetadataContainer::~CGlxMetadataContainer"); - if( iItemMediaList ) + if( iItemMediaList ) { iItemMediaList->RemoveContext(iMainListAttributecontext); iItemMediaList->RemoveMediaListObserver(this); iItemMediaList->Close(); - iItemMediaList = NULL; - } - if ( iTagMediaList ) + iItemMediaList = NULL; + } + if ( iTagMediaList ) { iTagMediaList->RemoveContext(iTagContext); - iTagMediaList->RemoveMediaListObserver(this); + iTagMediaList->RemoveMediaListObserver(this); iTagMediaList->Close(); iTagMediaList = NULL; } - if ( iAlbumMediaList ) + if ( iAlbumMediaList ) { iAlbumMediaList->RemoveContext(iAlbumContext); - iAlbumMediaList->RemoveMediaListObserver(this); + iAlbumMediaList->RemoveMediaListObserver(this); iAlbumMediaList->Close(); iAlbumMediaList = NULL; } @@ -173,7 +172,7 @@ { delete iTagContext; iTagContext = NULL; - } + } if( iAlbumContext ) { delete iAlbumContext; @@ -183,7 +182,7 @@ { delete iMainListAttributecontext; iMainListAttributecontext = NULL; - } + } if( IsVisible() ) { MakeVisible(EFalse); @@ -191,63 +190,61 @@ iTextSetter.Close(); iTagSetter.Close(); iAlbumSetter.Close(); - if(iAsyncRequest) - { - delete iAsyncRequest; - } - if(iModifiedUri) + + if(iUri) { - delete iModifiedUri; + delete iUri; + iUri = NULL; } } - + //----------------------------------------------------------------------------- // CGlxMetadataContainer::MediaList //----------------------------------------------------------------------------- MGlxMediaList& CGlxMetadataContainer::MediaList() { //returns the active medialist. - return *iItemMediaList; + return *iItemMediaList; } - + //----------------------------------------------------------------------------- // CGlxMetadataContainer::CreateSettingItemL //----------------------------------------------------------------------------- CAknSettingItem* CGlxMetadataContainer::CreateSettingItemL(TInt aResourceId) { - TRACER("CGlxMetadataContainer::CreateSettingItemL"); + TRACER("CGlxMetadataContainer::CreateSettingItemL"); CAknSettingItem* settingItem = NULL; // No need to push onto cleanup stack iTextSetter.Zero(); - + //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( + settingItem = new (ELeave) CAknTextSettingItem( aResourceId, iTextSetter ); - break; + break; } case ETagsItem: { iTagSetter.Copy(KGlxTextSetter); settingItem = new (ELeave) CAknTextSettingItem( aResourceId, iTagSetter ); - break; + break; } case EAlbumsItem: - { + { iAlbumSetter.Copy(KGlxTextSetter); - settingItem = new (ELeave) CAknTextSettingItem( + settingItem = new (ELeave) CAknTextSettingItem( aResourceId, iAlbumSetter ); - break; + break; } case ELocationItem: - case ESizeItem: + case ESizeItem: case EResolutionItem: { settingItem = new (ELeave) CAknTextSettingItem( @@ -348,16 +345,20 @@ void CGlxMetadataContainer::HandleListboxChangesL() { TRACER("CGlxMetadataContainer::HandleListboxChangesL"); - if(iItemMediaList->Count() == 0) + + //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; } - + TInt index = ListBox()->CurrentItemIndex(); - + switch(index) { - case ENameItem: + case ENameItem: case EDescriptionItem: { SetNameDescriptionL(index); @@ -365,24 +366,24 @@ } case ETagsItem: { - //Set the focus of the item + //Set the focus of the item iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute,0); //Launch add to container commandhandler via dialog observer. iDialogObesrver.AddTagL(); - break; + break; } case EAlbumsItem: { - //Set the focus of the item + //Set the focus of the item iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute,0); //Launch add to container commandhandler via dialog observer. iDialogObesrver.AddAlbumL(); - break; + break; } case ELocationItem: { // 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; if( !media.GetCoordinate(coordinate) ) @@ -403,12 +404,16 @@ } case ElicenseItem: { - //Create DRM utility - CGlxDRMUtility* drmUtility = CGlxDRMUtility::InstanceL(); - CleanupClosePushL(*drmUtility); - drmUtility->ShowDRMDetailsPaneL(iItemMediaList->Item(0).Uri()); - CleanupStack::PopAndDestroy(drmUtility); - } + const TGlxMedia& item = iItemMediaList->Item(0); + if( item.IsDrmProtected()) + { + //Create DRM utility + CGlxDRMUtility* drmUtility = CGlxDRMUtility::InstanceL(); + CleanupClosePushL(*drmUtility); + drmUtility->ShowDRMDetailsPaneL(item.Uri()); + CleanupStack::PopAndDestroy(drmUtility); + } + } break; default: { @@ -419,7 +424,7 @@ //----------------------------------------------------------------------------- // CGlxMetadataContainer::CreateMediaListForSelectedItemL //----------------------------------------------------------------------------- -void CGlxMetadataContainer::CreateMediaListForSelectedItemL(TBool aIsRename) +void CGlxMetadataContainer::CreateMediaListForSelectedItemL( ) { TRACER("CGlxMetadataContainer::CreateMediaListForSelectedItemL"); @@ -429,20 +434,11 @@ //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 = NULL; - if(aIsRename) - { - //create the filter with the modified URI after Rename happens - filter = TGlxFilterFactory::CreateURIFilterL(iModifiedUri->Des()); - } - else - { - filter = TGlxFilterFactory::CreateURIFilterL(iUri); - } - CleanupStack::PushL( filter ); - //create the medialist - iItemMediaList = MGlxMediaList::InstanceL(*path,TGlxHierarchyId(KMediaListId),filter); - + CMPXFilter* filter = TGlxFilterFactory::CreateURIFilterL(*iUri); + CleanupStack::PushL( filter ); + //create the medialist + iItemMediaList = MGlxMediaList::InstanceL(*path,TGlxHierarchyId(KMediaListId),filter); + //Add the attributes which are required to be displayed. iMainListAttributecontext = new (ELeave) CGlxAttributeContext(&iSelectionIterator); iMainListAttributecontext->AddAttributeL(KMPXMediaDrmProtected); @@ -567,7 +563,10 @@ aMenuPane->SetItemDimmed(KGlxViewBoundMenuCommandId,IsLicenseItem()); //location info will be enabled if the item has a location info aMenuPane->SetItemDimmed(KGlxDeleteBoundMenuCommandId,IsLocationItem()); - aMenuPane->SetItemDimmed(EGlxCmdAiwShowMap,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); } @@ -787,6 +786,8 @@ HBufC* textBuf = HBufC::NewLC( KMaxMediaPopupTitleLength ); (textBuf->Des()).Copy((settingsitem->SettingTextL())); TPtr textPtr = textBuf->Des(); + //Remove preceeding & trailing spaces + textPtr.Trim(); TBuf titleText(*textBuf); HBufC *buf = NULL; if(aItem == ENameItem) @@ -811,8 +812,11 @@ { if(0 != (titleText.Compare(*textBuf))) { + + TFileName fileName = ParseFileName(*textBuf); + //check If filename already exists if ((aItem == ENameItem) && - (BaflUtils::FileExists(ControlEnv()->FsSession(), ParseFileName(*textBuf)))) + (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); @@ -826,24 +830,71 @@ iTextSetter.Copy(*textBuf); EditItemL(aItem,EFalse); 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); + //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 ( + KMPXCommandGeneralSessionId, + static_cast (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); + + User::LeaveIfError(error); + } + CleanupStack::PopAndDestroy(modifiedName); + CleanupStack::PopAndDestroy(manager); } else { - command = TGlxCommandFactory::SetDescriptionCommandLC(settingsitem->SettingTextL(), - *path); + //Create the glx command for changing description + CMPXCollectionPath* path = iItemMediaList->PathLC(); + CMPXCommand* command = + TGlxCommandFactory::SetDescriptionCommandLC( + settingsitem->SettingTextL(), *path); + command->SetTObjectValueL ( + KMPXCommandGeneralSessionId, + static_cast (this)); + //issue command to the medialist which further + //calls data source to update MDS + iItemMediaList->CommandL(*command); + CleanupStack::PopAndDestroy(command); + CleanupStack::PopAndDestroy(path); } - command->SetTObjectValueL(KMPXCommandGeneralSessionId, static_cast(this)); - //issue command to the medialist which further calls data source to update MDS - iItemMediaList->CommandL(*command); - CleanupStack::PopAndDestroy(command); - CleanupStack::PopAndDestroy(path); + } } } @@ -955,11 +1006,42 @@ //set attributes to the items in the container SetAttributesL(aAttributes[i]); } - if (iRenameCompleted) - { - iRenameCompleted = EFalse; - iAvkonAppUi->ProcessCommandL(EGlxCmdRenameCompleted); - } + + //Here following 2 cases are handled:- + //1) Rename from Photos application or Post-Capture view + //- HandleAttributeavailable - new title & new uri at same time. + //May come twice here since Redundant Rename CMD sent to MDS. + //2) Rename from Filemanager. + //- HandleAttributeavailable - new title & new uri at same time. + //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 ); + 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); + + //fetch media uri + 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); + RefreshMediaListL(*modifiedUri); + CleanupStack::PopAndDestroy(modifiedUri); + } + } + } TMPXAttribute titleAttrib(KMPXMediaGeneralTitle); @@ -1016,7 +1098,7 @@ TGlxMedia item = iItemMediaList->Item(0); CGlxUStringConverter* stringConverter = CGlxUStringConverter::NewL(); CleanupStack::PushL(stringConverter ); - for(TInt index = 0; index <= ElicenseItem ; index++) + for(TInt index = 0; index <= EDurationItem ; index++) { HBufC* string = NULL; iTextSetter.Zero(); @@ -1077,7 +1159,17 @@ 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); + } + } } } // ---------------------------------------------------------------------------- @@ -1113,35 +1205,18 @@ CMPXCommand* aCommandResult, TInt aError, MGlxMediaList* aList) { TRACER("CGlxMetadataContainer::HandleCommandCompleteL()"); - //To rename the uri in File System + + //Callback from MDS when rename the Title if(aError == KErrNone) { if(aList == iItemMediaList && aCommandResult->IsSupported(KMPXMediaGeneralTitle)) { - iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute,0); - const TGlxMedia& media = iItemMediaList->Item(0); - ContentAccess::CManager *manager = ContentAccess::CManager::NewL(); - CleanupStack::PushL(manager); - TFileName fileName = ParseFileName(iTextSetter); - if(iModifiedUri) - { - delete iModifiedUri; - iModifiedUri = NULL; - } - iModifiedUri = fileName.AllocL(); - iTextSetter.Zero(); - TInt error = manager->RenameFile(media.Uri(), iModifiedUri->Des()); - if(error == KErrNone) - { - iAsyncRequest->CompleteSelf(); - } - else - { - User::LeaveIfError(error); - } - CleanupStack::PopAndDestroy(manager); + 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( this ) == aSessionId) @@ -1302,104 +1377,25 @@ } // --------------------------------------------------------------------------- -// Create new MediaList with modified FileName. -// --------------------------------------------------------------------------- -void CGlxMetadataContainer::RefreshMediaListL() - { - TRACER("CGlxMetadataContainer::RefreshMediaList()"); - if (iItemMediaList) - { - iItemMediaList->RemoveContext(iMainListAttributecontext); - iItemMediaList->RemoveMediaListObserver(this); - iItemMediaList->Close(); - iItemMediaList = NULL; - if (iMainListAttributecontext) - { - delete iMainListAttributecontext; - iMainListAttributecontext = NULL; - } - CreateMediaListForSelectedItemL(ETrue); - } - iRenameCompleted = ETrue; - } - +// Refresh MediaList with modified FileName. // --------------------------------------------------------------------------- -// Completes the active object causing a call from the active scheduler to RunL() -// --------------------------------------------------------------------------- -// -void CGlxMetadataAsyncUpdate::CompleteSelf() - { - TRACER("CGlxMetadataAsyncUpdate::CompleteSelf"); - TRequestStatus* status=&iStatus; - User::RequestComplete(status, KErrNone); - SetActive(); - } - -// ----------------------------------------------------------------------------- -// RunL -// ----------------------------------------------------------------------------- -// -void CGlxMetadataAsyncUpdate::RunL() - { - TRACER("CGlxMetadataAsyncUpdate::RunL"); - if(iStatus.Int() == KErrNone) - { - iObserver.RefreshMediaListL(); - } +void CGlxMetadataContainer::RefreshMediaListL(const TDesC& aModifiedUri) + { + //Refresh media list since media is renamed + TRACER("CGlxMetadataContainer::RefreshMediaList()"); + if (iUri) + { + 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); } -// ----------------------------------------------------------------------------- -// DoCancel -// ----------------------------------------------------------------------------- -// -void CGlxMetadataAsyncUpdate::DoCancel() - { - TRACER("CGlxMetadataAsyncUpdate::DoCancel"); - // No need to do anything - } - -// --------------------------------------------------------- -// NewL -// --------------------------------------------------------- -// -CGlxMetadataAsyncUpdate* CGlxMetadataAsyncUpdate::NewL(CGlxMetadataContainer& aObserver) - { - TRACER("CGlxMetadataAsyncUpdate::NewL"); - CGlxMetadataAsyncUpdate* self = CGlxMetadataAsyncUpdate::NewLC(aObserver); - CleanupStack::Pop(self); - return self; - } - -// --------------------------------------------------------- -// NewLC -// --------------------------------------------------------- -// -CGlxMetadataAsyncUpdate* CGlxMetadataAsyncUpdate::NewLC(CGlxMetadataContainer& aObserver) - { - TRACER("CGlxMetadataAsyncUpdate::NewLC"); - CGlxMetadataAsyncUpdate* self = new(ELeave) CGlxMetadataAsyncUpdate(aObserver); - CleanupStack::PushL(self); - return self; - } - -// --------------------------------------------------------- -// Constructor -// --------------------------------------------------------- -// -CGlxMetadataAsyncUpdate::CGlxMetadataAsyncUpdate(CGlxMetadataContainer& aObserver): - CActive(EPriorityStandard),iObserver(aObserver) - { - TRACER("CGlxMetadataAsyncUpdate::CGlxMetadataAsyncUpdate()"); - CActiveScheduler::Add(this); - } - -// --------------------------------------------------------- -// Destructor -// --------------------------------------------------------- -// -CGlxMetadataAsyncUpdate::~CGlxMetadataAsyncUpdate() - { - TRACER("CGlxMetadataAsyncUpdate::~CGlxMetadataAsyncUpdate"); - Cancel(); - } //End of file diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/src/glxmetadatadialog.cpp --- a/photosgallery/viewframework/views/metadatadialog/src/glxmetadatadialog.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/src/glxmetadatadialog.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -45,6 +45,7 @@ #include #include #include // For Panics +#include // for CGlxResourceUtilities #include "glxmetadatacommandhandler.h" // ============================ MEMBER FUNCTIONS =============================== @@ -75,56 +76,61 @@ void CGlxMetadataDialog::ConstructL() { TRACER("CGlxMetadataDialog::ConstructL"); - + // Load dialog's resource file InitResourceL(); - - + iStatusPaneAvailable = EFalse; // set the title to the dialog, Note that avkon dialogs do not support // setting the title in the status pane so we need to do it the hard way // get status pane CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); - - if(statusPane && statusPane->IsVisible()) + + if (statusPane && statusPane->IsVisible()) { - iStatusPaneAvailable = ETrue; + iStatusPaneAvailable = ETrue; } - // make the toolbar disabled - SetDetailsDlgToolbarVisibility(EFalse); + // make the toolbar disabled + SetDetailsDlgToolbarVisibility(EFalse); // do we have status pane - if( statusPane ) + if (statusPane) { - GLX_LOG_INFO1("GLX_UMP::CGlxMetadataDialog::ConstructL::STATUS PANE = %d",statusPane->IsVisible()); + GLX_LOG_INFO1("GLX_UMP::CGlxMetadataDialog::ConstructL::STATUS PANE = %d",statusPane->IsVisible()); // load the title text - HBufC* text = StringLoader::LoadL(R_GLX_METADATA_VIEW_TITLE_DETAILS, iEikonEnv ); - SetTitleL( *text ); - if( text) - { - delete text; - } - iAvkonAppUi->StatusPane()->MakeVisible(ETrue); + HBufC* text = StringLoader::LoadL(R_GLX_METADATA_VIEW_TITLE_DETAILS, + iEikonEnv ); + SetTitleL(*text); + if (text) + { + delete text; + } + iAvkonAppUi->StatusPane()->MakeVisible(ETrue); } - - iUiUtility = CGlxUiUtility::UtilityL(); - iAddToTag = CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddTag, EFalse); - iAddToAlbum = CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddToAlbum, EFalse); - + + iUiUtility = CGlxUiUtility::UtilityL(); + TFileName uiutilitiesrscfile; + uiutilitiesrscfile.Append(CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL()); + + iAddToTag = CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddTag, + EFalse, uiutilitiesrscfile); + iAddToAlbum = CGlxCommandHandlerAddToContainer::NewL(this, + EGlxCmdAddToAlbum, EFalse, uiutilitiesrscfile); + // Call the base class' two-phased constructor - CAknDialog::ConstructL( R_METADATA_MENUBAR ); - + CAknDialog::ConstructL(R_METADATA_MENUBAR); + // Instantiate the command handler iMetadataCmdHandler = CGlxMetadataCommandHandler::NewL(this); - + //steps to find kinetic scroll threshold value CAknPhysics* physics = CAknPhysics::NewL(*this, NULL); CleanupStack::PushL(physics); iKineticDragThreshold = physics->DragThreshold(); CleanupStack::PopAndDestroy(physics); physics = NULL; - } + } // ----------------------------------------------------------------------------- // ~CGlxMetadataDialog @@ -339,7 +345,7 @@ { TRACER("CGlxMetadataDialog::DynInitMenuPaneL"); iMetadataCmdHandler->PreDynInitMenuPaneL(aMenuId); - iMetadataCmdHandler->DynInitMenuPaneL(aMenuId,aMenuPane); + iMetadataCmdHandler->DynInitMenuPaneL(aMenuId,aMenuPane,EFalse); //To enable/diable the options based on the item selected. iContainer->ViewDynInitMenuPaneL(aMenuId, aMenuPane); } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/metadatadialog/src/glxresourceutilities.cpp --- a/photosgallery/viewframework/views/metadatadialog/src/glxresourceutilities.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/src/glxresourceutilities.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -25,7 +25,8 @@ #include #include #include - +#include +#include // INTERNAL INCLUDES #include @@ -73,4 +74,17 @@ } } +// --------------------------------------------------------------------------- +// GetUiUtilitiesResourceFilenameL +// --------------------------------------------------------------------------- +// +EXPORT_C TFileName CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL() + { + TParse parse; + parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); + TFileName resourceFile(parse.FullName()); + GetResourceFilenameL(resourceFile); + return resourceFile; + } + diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/viewbase/group/glxviewbase.mmp --- a/photosgallery/viewframework/views/viewbase/group/glxviewbase.mmp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/viewbase/group/glxviewbase.mmp Tue Apr 27 16:37:53 2010 +0300 @@ -98,6 +98,7 @@ LIBRARY mpxviewutility.lib LIBRARY ws32.lib LIBRARY commonengine.lib +LIBRARY centralrepository.lib //for CRepository // Uiaccelerator related libraries LIBRARY osncore.lib diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/viewbase/inc/glxtoolbarcontroller.h --- a/photosgallery/viewframework/views/viewbase/inc/glxtoolbarcontroller.h Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/viewbase/inc/glxtoolbarcontroller.h Tue Apr 27 16:37:53 2010 +0300 @@ -98,6 +98,15 @@ */ void SetToolbarItemsDimmed(TBool aDimmed); + /** + * To check whether OneClickUpload is supported by the Shareonline + * application. + * NOTE: OneClickUpload is a feature of ShareOnline 4.3 and above. Hence this function + * ensures that the upload command works only if this version of ShareOnline is + * available in the build. Else, Upload will not work! + */ + void CheckShareonlineVersionL(); + private: CAknToolbar* iToolbar; TBool iAttributeAvailable; diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp --- a/photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -29,8 +29,20 @@ #include #include #include -const TInt KGlxToolbarButtonUnLatched = 0; // As per the states in resource file -const TInt KGlxToolbarButtonLatched = 1 ; +#include // for checking the ShareOnline version + +// CONSTANTS AND DEFINITIONS +namespace + { + // ShareOnline application UID + const TUid KShareOnlineUid = { 0x2002CC1F }; + // Shareonline Application version + const TUint32 KShareApplicationVersion = 0x1010020; + // Buffer to maintain the ShareOnline version number in use + const TInt KPhotosShareOnlineVersionBufLen = 12; + // Minimum version required for OneClickUpload to work + const TVersion KShareOnlineMinimumVersion( 5, 0, 0 ); + } //---------------------------------------------------------------------------------- // NewL @@ -206,8 +218,63 @@ void CGlxToolbarController::SetStatusOnViewActivationL( MGlxMediaList* aList ) { TRACER("CGlxToolbarController::SetStatusOnViewActivationL"); - GLX_LOG_INFO1("CGlxToolbarController::SetStatusOnViewActivationL(%d)", - aList->Count()); + TRAPD(err, CheckShareonlineVersionL()); + GLX_LOG_INFO2("CGlxToolbarController::SetStatusOnViewActivationL(%d)," + " err(%d)", aList->Count(), err); + + CGlxNavigationalState* navigationalState = + CGlxNavigationalState::InstanceL(); + CleanupClosePushL(*navigationalState); + if (navigationalState->ViewingMode() == NGlxNavigationalState::EBrowse) + { + if (err == KErrNone) + { + CAknButton* sendButton = + static_cast (iToolbar->ControlOrNull( + EGlxCmdSend)); + if (sendButton) + { + iToolbar->RemoveItem(EGlxCmdSend); + } + } + else + { + CAknButton* uploadButton = + static_cast (iToolbar->ControlOrNull( + EGlxCmdUpload)); + if (uploadButton) + { + iToolbar->RemoveItem(EGlxCmdUpload); + } + } + SetToolbarItemsDimmed(EFalse); + } + else if (navigationalState->ViewingMode() == NGlxNavigationalState::EView) + { + if (err == KErrNone) + { + CAknButton* slideshowButton = + static_cast (iToolbar->ControlOrNull( + EGlxCmdSlideshowPlay)); + if (slideshowButton) + { + iToolbar->RemoveItem(EGlxCmdSlideshowPlay); + } + } + else + { + CAknButton* uploadButton = + static_cast (iToolbar->ControlOrNull( + EGlxCmdUpload)); + if (uploadButton) + { + iToolbar->RemoveItem(EGlxCmdUpload); + } + } + SetToolbarItemsDimmed(EFalse); + } + CleanupStack::PopAndDestroy(navigationalState); + // When going back from fullscreen to grid, when the attributes are already // available in the cache, there is no HandleAttributeAvailable callback. Hence, // checking for medialist count. @@ -239,6 +306,13 @@ { SetToolbarItemsDimmed(EFalse); } + else if (navigationalState->ViewingMode() + == NGlxNavigationalState::EBrowse) + { + TBool dimmed = aList->SelectionCount() ? EFalse : ETrue; + iToolbar->SetItemDimmed(EGlxCmdSend, dimmed, ETrue); + iToolbar->SetItemDimmed(EGlxCmdUpload, dimmed, ETrue); + } CleanupStack::PopAndDestroy(navigationalState); } } @@ -253,14 +327,14 @@ (iToolbar->ControlOrNull( aCommandId )); if( toolbarButton ) - { - if(aLatched) + { + if (aLatched) { - toolbarButton->SetCurrentState( KGlxToolbarButtonLatched, ETrue ); + toolbarButton->SetCurrentState(ETrue, ETrue); } else { - toolbarButton->SetCurrentState( KGlxToolbarButtonUnLatched, ETrue ); + toolbarButton->SetCurrentState(EFalse, ETrue); } } } @@ -289,26 +363,73 @@ { iToolbar->SetItemDimmed(EGlxCmdSlideshowPlay, aDimmed, ETrue); iToolbar->SetItemDimmed(EGlxCmdStartMultipleMarking, aDimmed, ETrue); - - if (!aDimmed) + iToolbar->SetItemDimmed(EGlxCmdSend, aDimmed, ETrue); + iToolbar->SetItemDimmed(EGlxCmdUpload, aDimmed, ETrue); + } + } + +// ---------------------------------------------------------------------------- +// CheckShareonlineVersionL +// ---------------------------------------------------------------------------- +// +void CGlxToolbarController::CheckShareonlineVersionL() + { + TRACER("CGlxToolbarController::CheckShareonlineVersionL"); + + CRepository* rep = CRepository::NewLC(KShareOnlineUid); + // + TBuf versionBuf; + // Query the ShareOnline version in the build + User::LeaveIfError(rep->Get(KShareApplicationVersion, versionBuf)); + + // Initialize version to zero + TVersion version(0, 0, 0); + TLex lex(versionBuf); + User::LeaveIfError(lex.Val(version.iMajor)); + if (lex.Get() != TChar('.')) + { + User::Leave(KErrCorrupt); + } + User::LeaveIfError(lex.Val(version.iMinor)); + if (lex.Get() != TChar('.')) + { + User::Leave(KErrCorrupt); + } + User::LeaveIfError(lex.Val(version.iBuild)); + + // Compare version number and leave if the detected + // version is less than KShareOnlineMinimumVersion. + if (version.iMajor < KShareOnlineMinimumVersion.iMajor) + { + User::LeaveIfError(KErrNotSupported); + } + else if (version.iMajor == KShareOnlineMinimumVersion.iMajor) + { + if (version.iMinor < KShareOnlineMinimumVersion.iMinor) { - CAknButton* uploadButton = - static_cast (iToolbar->ControlOrNull( - EGlxCmdUpload)); - TBool dimmed = EFalse; - if (uploadButton) + User::LeaveIfError(KErrNotSupported); + } + else if (version.iMinor == KShareOnlineMinimumVersion.iMinor) + { + if (version.iBuild < KShareOnlineMinimumVersion.iBuild) { - // Get current button state - CAknButtonState* currentState = uploadButton->State(); - dimmed = uploadButton->IsDimmed(); - iToolbar->SetItemDimmed(EGlxCmdUpload, dimmed, ETrue); + User::LeaveIfError(KErrNotSupported); + } + else + { + // Version is supported, fall through } } else { - iToolbar->SetItemDimmed(EGlxCmdUpload, aDimmed, ETrue); + // Version is supported, fall through } } + else + { + // Version is supported, fall through + } + CleanupStack::PopAndDestroy(rep); } //end of file diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/viewbase/src/glxviewbase.cpp --- a/photosgallery/viewframework/views/viewbase/src/glxviewbase.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/viewbase/src/glxviewbase.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -229,10 +229,17 @@ // Allow implementing view to filter menu first ViewDynInitMenuPaneL(aResourceId, aMenuPane); - + + //Since the toolbar is set only incase of grid view we can assume that + //it is in browse mode. + TBool isBrowseMode = EFalse; + if(iUiUtility->GetGridToolBar()) + { + isBrowseMode = ETrue; + } for (TInt i = 0; i < count; i++ ) { - iCommandHandlerList[i]->DynInitMenuPaneL( aResourceId, aMenuPane ); + iCommandHandlerList[i]->DynInitMenuPaneL( aResourceId, aMenuPane, isBrowseMode ); } } diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp --- a/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -272,7 +272,7 @@ // ActivateL:Activates the Zoom Control,set the image visual ,do the initial setup // ----------------------------------------------------------------------------- // -EXPORT_C void CGlxZoomControl::ActivateL(TInt /*aInitialZoomRatio*/, TZoomStartMode aStartMode, +EXPORT_C void CGlxZoomControl::ActivateL(TInt aInitialZoomRatio, TZoomStartMode aStartMode, TInt aFocusIndex, TGlxMedia& aItem, TPoint* aZoomFocus,TBool aViewingMode) { TRACER("CGlxZoomControl::ActivateL()"); @@ -320,16 +320,28 @@ // Maximum is an TInt initialZoomRatio = GetInitialZoomLevel(maxVirtualImageSize); iZoomSliderModel->SetMinRange(initialZoomRatio); - + iEventHandler->SetZoomActivated(ETrue); - iEventHandler->ActivateZoom(initialZoomRatio, - maxVirtualImageSize, - aStartMode, - iZoomSliderModel->MinRange(), - iZoomSliderModel->MaxRange(), - maxVirtualImageSize, - aZoomFocus); - + if (aStartMode == EZoomStartSlider) + { + iEventHandler->ActivateZoom(aInitialZoomRatio, + maxVirtualImageSize, + aStartMode, + iZoomSliderModel->MinRange(), + iZoomSliderModel->MaxRange(), + maxVirtualImageSize, + aZoomFocus); + } + else + { + iEventHandler->ActivateZoom(initialZoomRatio, + maxVirtualImageSize, + aStartMode, + iZoomSliderModel->MinRange(), + iZoomSliderModel->MaxRange(), + maxVirtualImageSize, + aZoomFocus); + } TRAP_IGNORE(iImageTexture = &(iTextureMgr->CreateZoomedTextureL(aItem,thumbNailAttribute,idspace,this))); @@ -882,11 +894,8 @@ iEventHandler->HandleDragEvent(aEvent); } break; - case EGestureTap: - if (aEvent.Visual() == iImageVisual) - { + case EGestureTap: iEventHandler->HandleSingleTap(aEvent); - } break; case EGesturePinch: iEventHandler->HandlePinchEventL(aEvent); diff -r 2dac0fdba72b -r 191387a8b767 photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp --- a/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp Wed Apr 14 15:57:24 2010 +0300 +++ b/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp Tue Apr 27 16:37:53 2010 +0300 @@ -941,7 +941,10 @@ iZoomEventHandler.HandleShowUi(EFalse); } break; - case EZoomStartSlider : + case EZoomStartSlider: + { + Zoom(aInitialZoomRatio, 0, iZoomMode); + } break; default: break; @@ -995,7 +998,8 @@ MulSliderPos* dataPtr = (MulSliderPos*)(aEvent.CustomEventData()); TInt currentSliderValue = dataPtr->mCurrentValue; - // is current value within accetable ranges. + // Is current value within acceptable range? + // If yes, then zoom in or zoom out as needed. if ( currentSliderValue > iMinZoomRatio && currentSliderValue <= iMaxZoomRatio ) {