# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1262861183 -7200 # Node ID 9ba538e329bd316ed8d9cbf3dc7d8a08b32ff20f # Parent 4e91876724a27b04c8009d4a63db8da9151e7f19 Revision: 200951 Kit: 201001 diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp --- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -1096,7 +1096,7 @@ CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC( request->ThumbnailInfo()->FilePath(), 0); iTnThumbnailCbId = iTnEngine->GetThumbnailL(*source); - CleanupStack::PopAndDestroy(); + CleanupStack::PopAndDestroy(source); iTnRequestInProgress = ETrue; } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp --- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -352,9 +352,12 @@ } else if(EGlxFilterOriginAll == aFilterProperties.iOrigin ) { - // The Months Collection Populates All the Items - aLogicCondition.AddPropertyConditionL(originProperty, TMdEUintGreaterEqual( - MdeConstants::Object::EOther)); + // The Months Collection Populates All the Items, filter + // it for Images and Videos only + CMdELogicCondition& logicCondition = + aLogicCondition.AddLogicConditionL(ELogicConditionOperatorOr); + logicCondition.AddObjectConditionL( DataSource()->ImageDef() ); + logicCondition.AddObjectConditionL( DataSource()->VideoDef() ); } } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp --- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -69,7 +69,8 @@ #include "glxdatasourcemdsutility.h" // CONSTANTS -//const TInt KGlxAlbumPromotionPosition = 0; +const TInt KGlxCameraAlbumPromotionPosition = 0; +const TInt KGlxfavoritesAlbumPromotionPosition = 1; _LIT(KPropertyDefNameCreationDate, "CreationDate"); @@ -258,7 +259,9 @@ User::Leave(KErrCorrupt); } currentMonth = static_cast(time)->Value(); - if( !DataSource()->SameMonth(lastMonth, currentMonth) ) + + // Also Checking for a Valid Month Entry Based on a Year Greater than 0000. + if( !DataSource()->SameMonth(lastMonth, currentMonth) && (currentMonth.DateTime().Year() > 0) ) { const TGlxMediaId monthId = DataSource()->GetMonthIdL(currentMonth); monthList.AppendL(monthId); @@ -297,14 +300,36 @@ if( aFilterProperties.iPromoteSystemItems ) { RArray list = aFilteredList; - /* - TInt favoritesIndex = list.Find(DataSource()->FavoritesId()); - if( KErrNotFound != favoritesIndex ) + TInt cameraAlbumIndex = list.Find(DataSource()->CameraAlbumId()); + + // If Camera Index is not KErrNotFound, 1st Album should be Captured and + // 2nd should be Favourites(In Albums List View) + + if( KErrNotFound != cameraAlbumIndex ) + { + list.Remove(cameraAlbumIndex); + list.Insert(DataSource()->CameraAlbumId(), KGlxCameraAlbumPromotionPosition); + + TInt favoritesIndex = list.Find(DataSource()->FavoritesId()); + if( KErrNotFound != favoritesIndex ) + { + list.Remove(favoritesIndex); + list.Insert(DataSource()->FavoritesId(),KGlxfavoritesAlbumPromotionPosition); + } + } + else { - list.Remove(favoritesIndex); - list.Insert(DataSource()->FavoritesId(), KGlxAlbumPromotionPosition); + // In Selection popup, 1st item should be Favourites(from grid view/fullscreen view + // and Camera post captured mode) + + TInt favoritesIndex = list.Find(DataSource()->FavoritesId()); + if( KErrNotFound != favoritesIndex ) + { + list.Remove(favoritesIndex); + list.Insert(DataSource()->FavoritesId(),KGlxfavoritesAlbumPromotionPosition - 1); + } } - */ + DoPostFilterComplete(list, KErrNone); } else diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/collectionframework/plugins/glxcollectionpluginalbums/src/glxcollectionpluginalbums.cpp --- a/photosgallery/collectionframework/plugins/glxcollectionpluginalbums/src/glxcollectionpluginalbums.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/collectionframework/plugins/glxcollectionpluginalbums/src/glxcollectionpluginalbums.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -280,13 +280,15 @@ { if( aResponse->IsSupported(KGlxMediaCollectionInternalSystemItemType) ) { - if( TGlxMediaId(KCapturedAlbumId) == aMediaId ) + TGlxMediaId responseMediaid ((TUint32)aResponse->ValueTObjectL(KMPXMediaGeneralId)); + // Set the text value based on the Media ID in aResponse + if( TGlxMediaId(KCapturedAlbumId) == responseMediaid ) { HBufC* title = LoadLocalizedStringLC(KResourceFile, R_ALBUM_CAMERA_TITLE); aResponse->SetTextValueL(attr, *title); CleanupStack::PopAndDestroy(title); } - else if (TGlxMediaId(KFavoriteAlbumId) == aMediaId ) + else if (TGlxMediaId(KFavoriteAlbumId) == responseMediaid ) { HBufC* title = LoadLocalizedStringLC(KResourceFile, R_ALBUM_FAVORITES_TITLE); aResponse->SetTextValueL(attr, *title); diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginalbums.h --- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginalbums.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginalbums.h Thu Jan 07 12:46:23 2010 +0200 @@ -197,11 +197,13 @@ /// Owned: Media list MGlxMediaList* iMediaList; - /// Own: the thumbnail context - CGlxThumbnailContext* iThumbnailContext; + /// Own: Attribute Context + CGlxAttributeContext* iUriAttributeContext; + + CGlxAttributeContext* iThumbnailAttributeContext; - /// Own: Thuimbnail Iterator - TGlxSequentialIterator iThumbnailIterator; + /// Own: Thumbnail Iterator + TGlxSequentialIterator iThumbnailIterator; RArray iPreviewItemCount; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginall.h --- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginall.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginall.h Thu Jan 07 12:46:23 2010 +0200 @@ -196,10 +196,12 @@ /// Owned: Media list MGlxMediaList* iMediaList; - /// Own: the thumbnail context - CGlxThumbnailContext* iThumbnailContext; + /// Own: Attribute Context + CGlxAttributeContext* iUriAttributeContext; + + CGlxAttributeContext* iThumbnailAttributeContext; - /// Own: Thuimbnail Iterator + /// Own: Thumbnail Iterator TGlxSequentialIterator iThumbnailIterator; RArray iPreviewItemCount; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginbase.h --- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginbase.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginbase.h Thu Jan 07 12:46:23 2010 +0200 @@ -119,8 +119,9 @@ /* * Creates Medialist based on the plugin id */ - MGlxMediaList* CreateMedialistAndThumbnailContextL(const TGlxMediaId& aPluginId, - CGlxThumbnailContext* aThumbnailContext) const; + MGlxMediaList* CreateMedialistAndAttributeContextL(const TGlxMediaId& aPluginId, + CGlxAttributeContext* aUriAttributeContext, + CGlxAttributeContext* aThumbnailAttributeContext) const; /** * Method to fill input list for CPS add command diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugincaptured.h --- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugincaptured.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugincaptured.h Thu Jan 07 12:46:23 2010 +0200 @@ -198,10 +198,12 @@ /// Owned: Media list MGlxMediaList* iMediaList; - /// Own: the thumbnail context - CGlxThumbnailContext* iThumbnailContext; + /// Own: Attribute Context + CGlxAttributeContext* iUriAttributeContext; + + CGlxAttributeContext* iThumbnailAttributeContext; - /// Own: Thuimbnail Iterator + /// Own: Thumbnail Iterator TGlxSequentialIterator iThumbnailIterator; RArray iPreviewItemCount; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugindownloads.h --- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugindownloads.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugindownloads.h Thu Jan 07 12:46:23 2010 +0200 @@ -198,11 +198,13 @@ /// Owned: Media list MGlxMediaList* iMediaList; - - /// Own: the thumbnail context - CGlxThumbnailContext* iThumbnailContext; + + /// Own: Attribute Context + CGlxAttributeContext* iUriAttributeContext; + + CGlxAttributeContext* iThumbnailAttributeContext; - /// Own: Thuimbnail Iterator + /// Own: Thumbnail Iterator TGlxSequentialIterator iThumbnailIterator; RArray iPreviewItemCount; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginmonths.h --- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginmonths.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginmonths.h Thu Jan 07 12:46:23 2010 +0200 @@ -199,10 +199,12 @@ /// Owned: Media list MGlxMediaList* iMediaList; - /// Own: the thumbnail context - CGlxThumbnailContext* iThumbnailContext; + /// Own: Attribute Context + CGlxAttributeContext* iUriAttributeContext; + + CGlxAttributeContext* iThumbnailAttributeContext; - /// Own: Thuimbnail Iterator + /// Own: Thumbnail Iterator TGlxSequentialIterator iThumbnailIterator; RArray iPreviewItemCount; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugintags.h --- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugintags.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugintags.h Thu Jan 07 12:46:23 2010 +0200 @@ -197,10 +197,12 @@ /// Owned: Media list MGlxMediaList* iMediaList; - /// Own: the thumbnail context - CGlxThumbnailContext* iThumbnailContext; + /// Own: the Attribte Context + CGlxAttributeContext* iUriAttributeContext; + + CGlxAttributeContext* iThumbnailAttributeContext; - /// Own: Thuimbnail Iterator + /// Own: Thumbnail Iterator TGlxSequentialIterator iThumbnailIterator; RArray iPreviewItemCount; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginalbums.cpp --- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginalbums.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginalbums.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -71,9 +71,11 @@ //Call the base class ConstructL CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated); - iPeriodic = CPeriodic::NewL( CActive::EPriorityLow ); - iThumbnailContext = CGlxThumbnailContext::NewL(&iThumbnailIterator); - + iPeriodic = CPeriodic::NewL( CActive::EPriorityLow ); + + iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + //Register/Subscribe with matrix menu for the notifications GetInterfaceForNotificationL(); SetupPublisherL(KItemIndexAlbums); @@ -437,8 +439,12 @@ { GLX_LOG_INFO("CGlxContentHarvesterPluginAlbums::DestroyMedialist,media list deleted"); RemoveContextAndObserver(); - delete iThumbnailContext; - iThumbnailContext = NULL; + + delete iUriAttributeContext; + iUriAttributeContext = NULL; + delete iThumbnailAttributeContext; + iThumbnailAttributeContext = NULL; + iMediaList->Close(); iMediaList = NULL; } @@ -463,9 +469,10 @@ { iThumbnailIterator.SetRange( KSinglePreviewThumbnail ); } - - iMediaList = CreateMedialistAndThumbnailContextL( TGlxMediaId( - KGlxCollectionPluginAlbumsImplementationUid ),iThumbnailContext); + iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId( + KGlxCollectionPluginAlbumsImplementationUid ), + iUriAttributeContext,iThumbnailAttributeContext); + AddContextAndObserverL(); } } @@ -542,11 +549,12 @@ if(iMediaList) { iMediaList->AddMediaListObserverL( this ); - iMediaList->AddContextL(iThumbnailContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow); } } -// --------------------------------------------------------------------------- +// ---------------------------------------------------------------------------c // CGlxContentHarvesterPluginAlbums::RemoveContextAndObserver // --------------------------------------------------------------------------- // @@ -556,7 +564,8 @@ if(iMediaList) { iMediaList->RemoveMediaListObserver( this ); - iMediaList->RemoveContext(iThumbnailContext); + iMediaList->RemoveContext(iUriAttributeContext); + iMediaList->RemoveContext(iThumbnailAttributeContext); } } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginall.cpp --- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginall.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginall.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -73,8 +73,10 @@ CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated); iPeriodic = CPeriodic::NewL( CActive::EPriorityLow ); - iThumbnailContext = CGlxThumbnailContext::NewL(&iThumbnailIterator); + iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + //Register/Subscribe with matrix menu for the notifications GetInterfaceForNotificationL(); SetupPublisherL(KItemIndexAll); @@ -446,8 +448,12 @@ { GLX_LOG_INFO("CGlxContentHarvesterPluginAll::DestroyMedialist,media list deleted"); RemoveContextAndObserver(); - delete iThumbnailContext; - iThumbnailContext = NULL; + + delete iUriAttributeContext; + iUriAttributeContext = NULL; + delete iThumbnailAttributeContext; + iThumbnailAttributeContext = NULL; + iMediaList->Close(); iMediaList = NULL; } @@ -473,8 +479,10 @@ iThumbnailIterator.SetRange( KSinglePreviewThumbnail ); } - iMediaList = CreateMedialistAndThumbnailContextL( TGlxMediaId( - KGlxCollectionPluginAllImplementationUid ),iThumbnailContext); + iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId( + KGlxCollectionPluginAllImplementationUid ), + iUriAttributeContext,iThumbnailAttributeContext); + AddContextAndObserverL(); } } @@ -548,7 +556,8 @@ if(iMediaList) { iMediaList->AddMediaListObserverL( this ); - iMediaList->AddContextL(iThumbnailContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow); } } @@ -562,7 +571,8 @@ if(iMediaList) { iMediaList->RemoveMediaListObserver( this ); - iMediaList->RemoveContext(iThumbnailContext); + iMediaList->RemoveContext(iUriAttributeContext); + iMediaList->RemoveContext(iThumbnailAttributeContext); } } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginbase.cpp --- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginbase.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginbase.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -37,6 +37,7 @@ #include #include #include +#include #include "glxcontentharvesterplugin.h" #include "glxcontentharvesterpluginbase.h" @@ -447,28 +448,45 @@ } // --------------------------------------------------------------------------- -// CreateMedialistAndThumbnailContextL +// CreateMedialistAndAttributeContextL // --------------------------------------------------------------------------- // -MGlxMediaList* CGlxContentHarvesterPluginBase::CreateMedialistAndThumbnailContextL(const TGlxMediaId& - aPluginId,CGlxThumbnailContext* aThumbnailContext) const - { - TRACER( "CGlxContentHarvesterPluginBase::CreateMedialistAndThumbnailContextL" ); +MGlxMediaList* CGlxContentHarvesterPluginBase::CreateMedialistAndAttributeContextL( + const TGlxMediaId& aPluginId, + CGlxAttributeContext* aUriAttributeContext, + CGlxAttributeContext* aThumbnailAttributeContext) const + { + TRACER( "CGlxContentHarvesterPluginBase::CreateMedialistAndThumbnailContextL" ); + + CMPXCollectionPath* path = CMPXCollectionPath::NewL(); + CleanupStack::PushL( path ); + path->AppendL( aPluginId.Value() ); - CMPXCollectionPath* path = CMPXCollectionPath::NewL(); - CleanupStack::PushL( path ); - path->AppendL( aPluginId.Value() ); + CMPXFilter* filter = NULL; + filter = TGlxFilterFactory::CreatePreviewFilterL(); + CleanupStack::PushL( filter ); - CMPXFilter* filter = NULL; - filter = TGlxFilterFactory::CreatePreviewFilterL(); - CleanupStack::PushL( filter ); - - MGlxMediaList* mediaList = MGlxMediaList::InstanceL( *path, KGlxIdNone , filter); - CleanupStack::PopAndDestroy( filter ); - CleanupStack::PopAndDestroy( path ); - aThumbnailContext->SetDefaultSpec(iGridIconSize.iWidth,iGridIconSize.iHeight); - return mediaList; - } + MGlxMediaList* mediaList = MGlxMediaList::InstanceL( *path, KGlxIdNone , filter); + CleanupStack::PopAndDestroy( filter ); + CleanupStack::PopAndDestroy( path ); + + // Two different contexts are added. One for URI with high priority + // and for Thumbnail with low priority. Because URI attribute should be + // fetched first before placing thumbnail fetch request + + aUriAttributeContext->AddAttributeL(KMPXMediaGeneralUri); + + TMPXAttribute attr( KGlxMediaIdThumbnail, + GlxFullThumbnailAttributeId(ETrue, + iGridIconSize.iWidth,iGridIconSize.iHeight) ); + + aThumbnailAttributeContext->SetDefaultSpec(iGridIconSize.iWidth, + iGridIconSize.iHeight); + + aThumbnailAttributeContext->AddAttributeL(attr); + + return mediaList; + } // --------------------------------------------------------------------------- // CGlxContentHarvesterPluginBase::IsFocused diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/src/glxcontentharvesterplugincaptured.cpp --- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugincaptured.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugincaptured.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -73,8 +73,10 @@ CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated); iPeriodic = CPeriodic::NewL( CActive::EPriorityLow ); - iThumbnailContext = CGlxThumbnailContext::NewL(&iThumbnailIterator); + iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + //Register/Subscribe with matrix menu for the notifications GetInterfaceForNotificationL(); SetupPublisherL(KItemIndexCaptured); @@ -440,8 +442,12 @@ { GLX_LOG_INFO("CGlxContentHarvesterPluginCaptured::DestroyMedialist,media list deleted"); RemoveContextAndObserver(); - delete iThumbnailContext; - iThumbnailContext = NULL; + + delete iUriAttributeContext; + iUriAttributeContext = NULL; + delete iThumbnailAttributeContext; + iThumbnailAttributeContext = NULL; + iMediaList->Close(); iMediaList = NULL; } @@ -467,8 +473,10 @@ iThumbnailIterator.SetRange( KSinglePreviewThumbnail ); } - iMediaList = CreateMedialistAndThumbnailContextL( TGlxMediaId( - KGlxCollectionPluginCameraImplementationUid ),iThumbnailContext); + iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId( + KGlxCollectionPluginCameraImplementationUid ), + iUriAttributeContext,iThumbnailAttributeContext); + AddContextAndObserverL(); } } @@ -538,7 +546,8 @@ if(iMediaList) { iMediaList->AddMediaListObserverL( this ); - iMediaList->AddContextL(iThumbnailContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow); } } @@ -552,7 +561,8 @@ if(iMediaList) { iMediaList->RemoveMediaListObserver( this ); - iMediaList->RemoveContext(iThumbnailContext); + iMediaList->RemoveContext(iUriAttributeContext); + iMediaList->RemoveContext(iThumbnailAttributeContext); } } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/src/glxcontentharvesterplugindownloads.cpp --- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugindownloads.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugindownloads.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -75,8 +75,10 @@ CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated); iPeriodic = CPeriodic::NewL( CActive::EPriorityLow ); - iThumbnailContext = CGlxThumbnailContext::NewL(&iThumbnailIterator); - + + iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + //Register/Subscribe with matrix menu for the notifications GetInterfaceForNotificationL(); SetupPublisherL(KItemIndexDownloads); @@ -441,8 +443,12 @@ if( iMediaList ) { RemoveContextAndObserver(); - delete iThumbnailContext; - iThumbnailContext = NULL; + + delete iUriAttributeContext; + iUriAttributeContext = NULL; + delete iThumbnailAttributeContext; + iThumbnailAttributeContext = NULL; + iMediaList->Close(); iMediaList = NULL; } @@ -468,8 +474,10 @@ iThumbnailIterator.SetRange( KSinglePreviewThumbnail ); } - iMediaList = CreateMedialistAndThumbnailContextL( TGlxMediaId( - KGlxCollectionPluginDownloadsImplementationUid ),iThumbnailContext); + iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId( + KGlxCollectionPluginDownloadsImplementationUid ), + iUriAttributeContext,iThumbnailAttributeContext); + AddContextAndObserverL(); } } @@ -539,7 +547,8 @@ if(iMediaList) { iMediaList->AddMediaListObserverL( this ); - iMediaList->AddContextL(iThumbnailContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow); } } @@ -553,7 +562,8 @@ if(iMediaList) { iMediaList->RemoveMediaListObserver( this ); - iMediaList->RemoveContext(iThumbnailContext); + iMediaList->RemoveContext(iUriAttributeContext); + iMediaList->RemoveContext(iThumbnailAttributeContext); } } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginmonths.cpp --- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginmonths.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginmonths.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -73,7 +73,9 @@ CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated); iPeriodic = CPeriodic::NewL( CActive::EPriorityLow ); - iThumbnailContext = CGlxThumbnailContext::NewL(&iThumbnailIterator); + + iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); //Register/Subscribe with matrix menu for the notifications GetInterfaceForNotificationL(); @@ -437,8 +439,12 @@ { GLX_LOG_INFO("CGlxContentHarvesterPluginMonths::DestroyMedialist,media list deleted"); RemoveContextAndObserver(); - delete iThumbnailContext; - iThumbnailContext = NULL; + + delete iUriAttributeContext; + iUriAttributeContext = NULL; + delete iThumbnailAttributeContext; + iThumbnailAttributeContext = NULL; + iMediaList->Close(); iMediaList = NULL; } @@ -464,8 +470,9 @@ iThumbnailIterator.SetRange( KSinglePreviewThumbnail ); } - iMediaList = CreateMedialistAndThumbnailContextL( TGlxMediaId( - KGlxCollectionPluginMonthsImplementationUid ),iThumbnailContext); + iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId( + KGlxCollectionPluginMonthsImplementationUid ), + iUriAttributeContext,iThumbnailAttributeContext); AddContextAndObserverL(); } } @@ -543,7 +550,8 @@ if(iMediaList) { iMediaList->AddMediaListObserverL( this ); - iMediaList->AddContextL(iThumbnailContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow); } } @@ -557,7 +565,8 @@ if(iMediaList) { iMediaList->RemoveMediaListObserver( this ); - iMediaList->RemoveContext(iThumbnailContext); + iMediaList->RemoveContext(iUriAttributeContext); + iMediaList->RemoveContext(iThumbnailAttributeContext); } } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/contentharvesterplugin/src/glxcontentharvesterplugintags.cpp --- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugintags.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugintags.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -72,7 +72,9 @@ CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated); iPeriodic = CPeriodic::NewL( CActive::EPriorityLow ); - iThumbnailContext = CGlxThumbnailContext::NewL(&iThumbnailIterator); + + iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); + iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator); //Register/Subscribe with matrix menu for the notifications GetInterfaceForNotificationL(); @@ -438,8 +440,12 @@ { GLX_LOG_INFO("CGlxContentHarvesterPluginTags::DestroyMedialist,media list deleted"); RemoveContextAndObserver(); - delete iThumbnailContext; - iThumbnailContext = NULL; + + delete iUriAttributeContext; + iUriAttributeContext = NULL; + delete iThumbnailAttributeContext; + iThumbnailAttributeContext = NULL; + iMediaList->Close(); iMediaList = NULL; } @@ -465,8 +471,10 @@ iThumbnailIterator.SetRange( KSinglePreviewThumbnail ); } - iMediaList = CreateMedialistAndThumbnailContextL( TGlxMediaId( - KGlxTagCollectionPluginImplementationUid ),iThumbnailContext); + iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId( + KGlxTagCollectionPluginImplementationUid ), + iUriAttributeContext, iThumbnailAttributeContext); + AddContextAndObserverL(); } } @@ -543,7 +551,8 @@ if(iMediaList) { iMediaList->AddMediaListObserverL( this ); - iMediaList->AddContextL(iThumbnailContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal); + iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow); } } @@ -557,7 +566,8 @@ if(iMediaList) { iMediaList->RemoveMediaListObserver( this ); - iMediaList->RemoveContext(iThumbnailContext); + iMediaList->RemoveContext(iUriAttributeContext); + iMediaList->RemoveContext(iThumbnailAttributeContext); } } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/controllers/fetcher/inc/glxfetchercontainer.h --- a/photosgallery/controllers/fetcher/inc/glxfetchercontainer.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/controllers/fetcher/inc/glxfetchercontainer.h Thu Jan 07 12:46:23 2010 +0200 @@ -104,7 +104,13 @@ * Sets the status pane title with what it was for the calling application */ void SetPreviousTitleL(); - + + /** + * SetFileAttached + * Sets the File attached flag. + */ + void SetFileAttached(TBool aIsFileAttached); + public: /** * HandleSizeChange diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp --- a/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -107,8 +107,8 @@ iGridIconSize = iUiUtility->GetGridIconSize(); // For DRM Utility - iDRMUtility = CGlxDRMUtility::InstanceL(); - iIsFileAttached = EFalse; + iDRMUtility = CGlxDRMUtility::InstanceL(); + SetFileAttached(EFalse); } //----------------------------------------------------------------------------- @@ -608,12 +608,12 @@ // to send key events to the dialog. if( !iMediaList || !iHgGrid ) { - aFetchUri = EFalse; - iIsFileAttached = EFalse; + aFetchUri = EFalse; + SetFileAttached(EFalse); return iIsFileAttached; } - //To Block call to HandleDoubleTapEventL() when control is in RetrieveUrisL() - iIsFileAttached = ETrue; + //To Block call to HandleDoubleTapEventL() when control is in RetrieveUrisL() + SetFileAttached(ETrue); GLX_LOG_INFO1("CGlxFetcherContainer::RetrieveUrisL() Medialist count is %d", iMediaList->Count()); TGlxSelectionIterator iterator; @@ -654,11 +654,11 @@ if( uri != KNullDesC ) { aSelectedFiles.AppendL( uri ); - iIsFileAttached = ETrue; + SetFileAttached(ETrue); } else - { - iIsFileAttached = EFalse; + { + SetFileAttached(EFalse); } } } @@ -775,4 +775,13 @@ return CCoeControl::MopSupplyObject(aId); } +// ----------------------------------------------------------------------------- +// SetFileAttached +// ----------------------------------------------------------------------------- +// +void CGlxFetcherContainer::SetFileAttached(TBool aIsFileAttached) + { + iIsFileAttached = aIsFileAttached; + } + //END OF FILE diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp --- a/photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -213,12 +213,15 @@ { iSelectedFiles.Reset(); retVal = EFalse; + //if the corrupt file is selected then reset the flag to again enable + //the selection. + iFetcherContainer->SetFileAttached(EFalse); } if (!retrieveUriValue) { retVal = EFalse; } - if (iMultiSelectionEnabled) + if (iMultiSelectionEnabled && retVal) { iFetcherContainer->DoExecuteL(EGlxCmdEndMultipleMarking); } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/controllers/imageviewer/eabi/glximageviewermanageru.def --- a/photosgallery/controllers/imageviewer/eabi/glximageviewermanageru.def Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/controllers/imageviewer/eabi/glximageviewermanageru.def Thu Jan 07 12:46:23 2010 +0200 @@ -4,7 +4,10 @@ _ZN22CGlxImageViewerManager17IncrementRefCountEv @ 3 NONAME _ZN22CGlxImageViewerManager19SetImageFileHandleLERK5RFile @ 4 NONAME _ZN22CGlxImageViewerManager5ResetEv @ 5 NONAME - _ZN22CGlxImageViewerManager9InstanceLEv @ 6 NONAME - _ZTI22CGlxImageViewerManager @ 7 NONAME - _ZTV22CGlxImageViewerManager @ 8 NONAME + _ZN22CGlxImageViewerManager8ImageUriEv @ 6 NONAME + _ZN22CGlxImageViewerManager9InstanceLEv @ 7 NONAME + _ZN22CGlxImageViewerManager9IsPrivateEv @ 8 NONAME + _ZNK22CGlxImageViewerManager15ImageFileHandleEv @ 9 NONAME + _ZTI22CGlxImageViewerManager @ 10 NONAME + _ZTV22CGlxImageViewerManager @ 11 NONAME diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/controllers/imageviewer/group/glximageviewermanager.mmp --- a/photosgallery/controllers/imageviewer/group/glximageviewermanager.mmp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/controllers/imageviewer/group/glximageviewermanager.mmp Thu Jan 07 12:46:23 2010 +0200 @@ -41,4 +41,4 @@ LIBRARY euser.lib LIBRARY flogger.lib // For Logging Tracer -EXPORTUNFROZEN \ No newline at end of file +//EXPORTUNFROZEN \ No newline at end of file diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/controllers/imageviewer/inc/glximageviewermanager.h --- a/photosgallery/controllers/imageviewer/inc/glximageviewermanager.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/controllers/imageviewer/inc/glximageviewermanager.h Thu Jan 07 12:46:23 2010 +0200 @@ -1,28 +1,20 @@ /* - ============================================================================ - Name : glximageviewermanager.h - Author : Hariharan Narayanan - Version : 1.0 - Copyright : /* - * 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" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: Image Viewer Manager - * - */ +* 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" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Image Viewer Manager header file : CCGlxImageViewerManager declaration +* +*/ -/* - * Description : CCGlxImageViewerManager declaration - */ #ifndef GLXIMAGEVIEWERMANAGER_H #define GLXIMAGEVIEWERMANAGER_H @@ -87,10 +79,12 @@ private: + //need to declare as it is initialised + TInt iRefCount; /// Reference count HBufC* iImageUri; /// image file uri in case of Photos starting as Image viewer RFile64* iFile; /// Handle to image file which will be shown in Image viewer TBool iIsPrivate; /// Flag that stores if the image file is in a private folder. ETrue means the image is private, else EFalse - TInt iRefCount; /// Reference count + }; #include "glximageviewermanager.inl" diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/controllers/imageviewer/inc/glximageviewermanager.inl --- a/photosgallery/controllers/imageviewer/inc/glximageviewermanager.inl Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/controllers/imageviewer/inc/glximageviewermanager.inl Thu Jan 07 12:46:23 2010 +0200 @@ -1,28 +1,21 @@ /* - ============================================================================ - Name : glximageviewermanager.inl - Author : Hariharan Narayanan - Version : 1.0 - Copyright : /* - * 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" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: Image Viewer Manager - * - */ +* 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" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Image Viewer Manager +* +*/ -/* - * Description : CCGlxImageViewerManager declaration - */ + // INCLUDES diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/controllers/imageviewer/src/glximageviewermanager.cpp --- a/photosgallery/controllers/imageviewer/src/glximageviewermanager.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/controllers/imageviewer/src/glximageviewermanager.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -63,10 +63,6 @@ TRACER("CGlxImageViewerManager::~CGlxImageViewerManager()"); delete iImageUri; - if( iFile ) - { - iFile->Close(); - } } CGlxImageViewerManager* CGlxImageViewerManager::NewLC() @@ -82,7 +78,7 @@ { TRACER("CGlxImageViewerManager::NewLC()"); CGlxImageViewerManager* self = CGlxImageViewerManager::NewLC(); - CleanupStack::Pop(); // self; + CleanupStack::Pop(self); return self; } @@ -104,7 +100,14 @@ delete iImageUri; iImageUri = NULL; } - iImageUri = aFileName.AllocL(); + if (aFileName.Length() == 0) + { + User::Leave(KErrNotSupported); + } + else + { + iImageUri = aFileName.AllocL(); + } } // --------------------------------------------------------------------------- diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/gallery/group/glx_reg.rss --- a/photosgallery/gallery/group/glx_reg.rss Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/gallery/group/glx_reg.rss Thu Jan 07 12:46:23 2010 +0200 @@ -33,113 +33,4 @@ localisable_resource_id = R_GLX_LOCALISABLE_APP_INFO; // hidden = KAppIsHidden; - - datatype_list = - { - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/jpeg"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/jpg"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/jp2"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/tiff"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/x-wmf"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/ico"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/gif"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/bmp"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/x-bmp"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/x-bitmap"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/x-xbitmap"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/x-win-bitmap"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/x-windows-bmp"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/ms-bmp"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/x-ms-bmp"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/vnd.wap.wbmp"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/png"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/x-epoc-mbm"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/vnd.nokia.ota-bitmap"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/x-ota-bitmap"; - }, - DATATYPE - { - priority = EDataTypePriorityHigh; - type = "image/mng"; - } - }; } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/gallery/inc/glxdocument.h --- a/photosgallery/gallery/inc/glxdocument.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/gallery/inc/glxdocument.h Thu Jan 07 12:46:23 2010 +0200 @@ -44,6 +44,7 @@ CEikAppUi* CreateAppUiL(); public: // from CEikDocument + CFileStore* OpenFileL( TBool aDoOpen, const TDesC& aFilename, RFs& aFs ); void OpenFileL( CFileStore*& aFileStore, RFile& aFile ); private: diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/gallery/loc/photos.loc --- a/photosgallery/gallery/loc/photos.loc Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/gallery/loc/photos.loc Thu Jan 07 12:46:23 2010 +0200 @@ -1165,6 +1165,11 @@ // #define qtn_lgal_title_places "Places" +// d:Discreet pop-up for fetching location(places) info +// l:popup_discreet_window/opt5 +// r:11.0 +#define qtn_lgal_note_fetching_location "Fetching location data, connecting to server…" + //----------------------------------------------------------------------------- // Slideshow related strings //----------------------------------------------------------------------------- diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/gallery/sis/glxgallery.pkg --- a/photosgallery/gallery/sis/glxgallery.pkg Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/gallery/sis/glxgallery.pkg Thu Jan 07 12:46:23 2010 +0200 @@ -97,12 +97,6 @@ "\epoc32\release\armv5\urel\glxcollectionpluginall.dll" -"!:\sys\bin\glxcollectionpluginall.dll" "\epoc32\data\Z\resource\plugins\glxcollectionpluginall.rsc" -"!:\resource\plugins\glxcollectionpluginall.rsc" "\epoc32\data\Z\resource\plugins\glxpluginall.rsc" -"!:\resource\plugins\glxpluginall.rsc" -"\epoc32\release\armv5\urel\glxcollectionplugincamera.dll" -"!:\sys\bin\glxcollectionplugincamera.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionplugincamera.rsc" -"!:\resource\plugins\glxcollectionplugincamera.rsc" -"\epoc32\data\Z\resource\plugins\glxplugincamera.rsc" -"!:\resource\plugins\glxplugincamera.rsc" -"\epoc32\release\armv5\urel\glxcollectionplugindownloads.dll" -"!:\sys\bin\glxcollectionplugindownloads.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionplugindownloads.rsc" -"!:\resource\plugins\glxcollectionplugindownloads.rsc" -"\epoc32\data\Z\resource\plugins\glxplugindownloads.rsc" -"!:\resource\plugins\glxplugindownloads.rsc" "\epoc32\release\armv5\urel\glxcollectionpluginmonths.dll" -"!:\sys\bin\glxcollectionpluginmonths.dll" "\epoc32\data\Z\resource\plugins\glxcollectionpluginmonths.rsc" -"!:\resource\plugins\glxcollectionpluginmonths.rsc" "\epoc32\data\Z\resource\plugins\glxpluginmonths.rsc" -"!:\resource\plugins\glxpluginmonths.rsc" diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/gallery/sis/glxgallery_stub.pkg --- a/photosgallery/gallery/sis/glxgallery_stub.pkg Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/gallery/sis/glxgallery_stub.pkg Thu Jan 07 12:46:23 2010 +0200 @@ -20,7 +20,7 @@ &EN ; Package header -#{"Photos"},(0x200009EE),9,200,0,TYPE=SA +#{"Photos"},(0x200009EE),9,20,0,TYPE=SA ;Localised Vendor name diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/gallery/src/glxappui.cpp --- a/photosgallery/gallery/src/glxappui.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/gallery/src/glxappui.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -78,7 +78,11 @@ //constants const TInt KGlxGridThumbnailPages = 9 ; // 4 page Down + 4 page Up + 1 Visible page = 9 page const TInt KGlxFullThumbnailCount = 11 ; // 5 Thumnail Front + 5 Thumbnail Rear + 1 Visible = 11 page +#ifdef __MARM const TInt KGlxMaxMegaPixelsSupportedByCamera = 5242880 ; // 5 MB +#else +const TInt KGlxMaxMegaPixelsSupportedByCamera = 2097152 ; // 2 MB +#endif const TInt KGlxMaxMemoryToDecodeCapturedPicture = 2 * KGlxMaxMegaPixelsSupportedByCamera ; const TInt KGlxMemoryForOOMFwk = 1048576 ; // 1 MB const TInt KGlxThumbNailRepresentation = 2; // Thumbnail Representation; Could be 3 also @@ -90,6 +94,7 @@ _LIT8( KPhotosAlbums, "Albums" ); _LIT8( KPhotosAllValue,"Allcs"); +_LIT8( KPhotoSuiteActivationMessage, "mm://root/photossuite?exit=hide" ); _LIT8( KPhotosSuiteExitMessage, "mm://photossuite?action=exit" ); // Matrix uid, needed for activating the suite view. @@ -196,6 +201,7 @@ { LaunchMmViewL( KPhotosSuiteExitMessage ); } + iUiUtility->SetExitingState(ETrue); Exit(); } break; @@ -276,16 +282,21 @@ TRAPD(err, HandleActivationMessageL(aCommand, aDocumentName, aTail)); if ( KErrNone != err ) { - // Open collection for main view - iStartupViewUid = TUid::Null(); - // Open navigational state at root level - CMPXCollectionPath* newState = CMPXCollectionPath::NewL(); - CleanupStack::PushL( newState ); - iNavigationalState->NavigateToL( *newState ); - CleanupStack::PopAndDestroy( newState ); + // Open photos suite view + LaunchMmViewL( KPhotoSuiteActivationMessage ); + Exit(); } - return (EApaCommandOpen == aCommand) && (0 != aDocumentName.Size()); + if(0 == aTail.CompareC(KNullDesC8)) + { + return ETrue; + } + else + { + //other case + return EFalse; + } + } // --------------------------------------------------------------------------- @@ -464,17 +475,16 @@ const TFileName& aDocumentName, const TDesC8& aData) { TRACER("void CGlxAppUi::HandleActivationMessageL(const TApaCommand& aCommand, const TFileName& aDocumentName, const TDesC8& aData)"); + GLX_LOG_INFO1("Glx-HandleActivationMessageL() aCommand=%d", aCommand); + GLX_LOG_INFO1("Glx-HandleActivationMessageL() aDocumentName length=%d", + aDocumentName.Length()); delete iActivationParam; iActivationParam = NULL; - //Check for the IADUpdate - //TBD: Need to check the location this has to be called. - //This might not be proper place. - DoCheckForIADUpdatesL(); - - if ( aDocumentName.Length() > 0 && EApaCommandOpen == aCommand ) + if (aDocumentName.Length() > 0 && 0 == aData.CompareC(KNullDesC8) ) { + GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL() Image Viewer!"); CMPXCollectionPath* path = CMPXCollectionPath::NewL(); CleanupStack::PushL(path); iNavigationalState->SetBackExitStatus( EFalse ); @@ -484,6 +494,7 @@ } else { + GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL(aData)"); HandleActivationMessageL( aData ); } @@ -774,13 +785,13 @@ } // --------------------------------------------------------------------------- -// CCGlxNsAppUi::DoCheckForIADUpdatesL() +// CGlxAppUi::DoCheckForIADUpdatesL() // Check for updates via IAD // --------------------------------------------------------------------------- // void CGlxAppUi::DoCheckForIADUpdatesL() { - TRACER("CGlxNsAppUi::CheckForUpdatesL()"); + TRACER("CGlxAppUi::DoCheckForIADUpdatesL()"); if ( !iIadUpdate ) { diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/gallery/src/glxdocument.cpp --- a/photosgallery/gallery/src/glxdocument.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/gallery/src/glxdocument.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -84,6 +84,20 @@ } // ----------------------------------------------------------------------------- +// OpenFileL() +// Open document. +// ----------------------------------------------------------------------------- +CFileStore* CGlxDocument::OpenFileL( TBool /*aDoOpen*/, + const TDesC& aFilename, RFs& /*aFs*/ ) + { + TRACER("CFileStore* CGlxDocument::OpenFileL"); + // Reset old data + ResetDocument(); + iImageViewerInstance->SetImageUriL(aFilename); + return NULL; + } + +// ----------------------------------------------------------------------------- // CGlxDocument::OpenFileL() // Open document. // ----------------------------------------------------------------------------- diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/group/bld.inf --- a/photosgallery/group/bld.inf Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/group/bld.inf Thu Jan 07 12:46:23 2010 +0200 @@ -78,4 +78,7 @@ #include "../memoryplugin/group/bld.inf" //include Photos Suite Launcher -#include "../photossuitelauncher/group/bld.inf" \ No newline at end of file +#include "../photossuitelauncher/group/bld.inf" + +//include imageviewer +#include "../imgvwr/group/bld.inf" \ No newline at end of file diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/group/bld.inf Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,21 @@ +/* +* 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" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Build information for mgallery application. +* +*/ + + +PRJ_MMPFILES +glxivwr.mmp + diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/group/glxivwr.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/group/glxivwr.mmp Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,107 @@ +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Project definition file for project Photos Image Viewer +* +*/ + + + + +#include +#include + +#include "../../inc/glxcapabilities.hrh" +#include "../../../photos_plat/gallery_utilities_api/inc/glxgallery.hrh" +#include "../../group/glxbuildcommon.mmh" +#include "../../inc/glxalfhelper.mmh" + +TARGET glxivwr.exe +TARGETTYPE exe +UID 0x100039CE 0x200104E7 + +CAPABILITY GLX_CAPABILITIES + +SOURCEPATH ../src +SOURCE glxivwrapplication.cpp +SOURCE glxivwrappui.cpp +SOURCE glxivwrdocument.cpp + +SOURCEPATH ../group + +START RESOURCE glxivwr.rss +HEADER +TARGETPATH /resource/apps +LANGUAGE_IDS +END // RESOURCE + +USERINCLUDE ../inc +USERINCLUDE ../../viewframework/medialists/inc + +APP_LAYER_SYSTEMINCLUDE + +// System includes from the source tree +SYSTEMINCLUDE ../../inc +SYSTEMINCLUDE ../../common/inc +SYSTEMINCLUDE ../../commonui/inc +SYSTEMINCLUDE ../../viewframework/inc +SYSTEMINCLUDE ../../viewframework/uiutilities/inc +SYSTEMINCLUDE ../../viewframework/plugins/gridviewplugin/inc +SYSTEMINCLUDE ../../viewframework/plugins/fullscreenviewplugin/inc +SYSTEMINCLUDE ../../viewframework/commandhandlers/inc +SYSTEMINCLUDE ../../controllers/imageviewer/inc + +LIBRARY apparc.lib +LIBRARY avkon.lib +LIBRARY cone.lib +LIBRARY eikcoctl.lib +LIBRARY eikcore.lib +LIBRARY ws32.lib +LIBRARY estor.lib +LIBRARY euser.lib +LIBRARY mpxcollectionutility.lib +LIBRARY mpxcommon.lib +LIBRARY mpxviewutility.lib +LIBRARY glxuiutilities.lib +LIBRARY glxcommonui.lib // for NGlxZoomStatePublisher::PublishStateL +LIBRARY alfclient.lib // for CAlfEnv +LIBRARY glxmedialists.lib // to get the cache manager handle +LIBRARY apgrfx.lib +LIBRARY glximageviewermanager.lib +LIBRARY glxcommon.lib +LIBRARY efsrv.lib // for RFile + +EPOCHEAPSIZE 0x1000 0xC00000 //HEAP SIZE SET TO DEFAULT MIN OF 4KB AND MAX OF 12 MB +START WINS +END + +START MARM +END + +START RESOURCE glxivwr_loc.rss +HEADER +TARGETPATH /resource/apps +LANGUAGE_IDS +END // RESOURCE + +START RESOURCE glxivwr_reg.rss +DEPENDS glx_loc.rsg +// Do not change the UID 10003a3f below. +TARGETPATH /private/10003a3f/import/apps +LANGUAGE_IDS +END // RESOURCE + + +LIBRARY aknnotify.lib +LIBRARY hal.lib // HAL, HALData +LIBRARY commonengine.lib // for StringLoader diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/group/glxivwr.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/group/glxivwr.rss Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,104 @@ +/* +* 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" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Resource definitions for Image Viewer +* +*/ + + + + +NAME IMVR + +#include +#include +#include +#include + +// --------------------------------------------------------- +// +// Define the resource file signature +// This resource should be empty. +// +// --------------------------------------------------------- +// +RESOURCE RSS_SIGNATURE { } + +// --------------------------------------------------------- +// +// Default Document Name +// +// --------------------------------------------------------- +// +RESOURCE TBUF r_default_document_name { buf=""; } + +// --------------------------------------------------------- +// +// Define default menu and CBA key. +// +// --------------------------------------------------------- +// +RESOURCE EIK_APP_INFO + { + cba = r_glx_default_cba; + status_pane = r_glx_default_pane; + } + +// Title Setting for Main View of Photos +RESOURCE STATUS_PANE_APP_MODEL r_glx_default_pane + { + layout = R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT; + panes= + { + SPANE_PANE + { + id = EEikStatusPaneUidTitle; + type = EAknCtTitlePane; + resource = r_overriden_app_name; + } + }; + } +RESOURCE TITLE_PANE r_overriden_app_name +{ +txt = ""; +} + +// --------------------------------------------------------- +// +// Default CBA keys +// +// --------------------------------------------------------- +// +RESOURCE CBA r_glx_default_cba + { + buttons= + { + CBA_BUTTON + { + txt=""; + id=EAknSoftkeyForwardKeyEvent; + }, + CBA_BUTTON + { + txt=""; + id=EAknSoftkeyForwardKeyEvent; + }, + CBA_BUTTON + { + txt=""; + id=EAknSoftkeyForwardKeyEvent; + } + }; + } + + diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/group/glxivwr_loc.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/group/glxivwr_loc.rss Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,57 @@ +/* +* 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" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Resource definitions for Image Viewer +* +*/ + + + + + +// RESOURCE IDENTIFIER +NAME IVWR +#include +#include +#include +#include + +#include +#include + + +// --------------------------------------------------------- +// +// Define the resource file signature +// This resource should be empty. +// +// --------------------------------------------------------- +// +RESOURCE RSS_SIGNATURE { } + +RESOURCE LOCALISABLE_APP_INFO r_glx_localisable_app_info + { + short_caption = qtn_lgal_title_main_view; + caption_and_icon = + { + CAPTION_AND_ICON_INFO + { + caption=qtn_lgal_title_main_view; + number_of_icons=1; + icon_file="\\resource\\apps\\glx_aif.mif"; + } + }; + } + + + diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/group/glxivwr_reg.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/group/glxivwr_reg.rss Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,144 @@ +/* +* 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" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Application's registration resource file +* +*/ + + + + +#include +#include + +UID2 KUidAppRegistrationResourceFile +UID3 0x200104E7 + +RESOURCE APP_REGISTRATION_INFO + { + app_file="glxivwr"; + // + localisable_resource_file="\\resource\\apps\\glxivwr_loc"; + localisable_resource_id = R_GLX_LOCALISABLE_APP_INFO; + // + hidden = KAppIsHidden; + embeddability = KAppEmbeddableOnly; + datatype_list = + { + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/jpeg"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/jpg"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/jp2"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/tiff"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/x-wmf"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/ico"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/gif"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/bmp"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/x-bmp"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/x-bitmap"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/x-xbitmap"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/x-win-bitmap"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/x-windows-bmp"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/ms-bmp"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/x-ms-bmp"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/vnd.wap.wbmp"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/png"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/x-epoc-mbm"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/vnd.nokia.ota-bitmap"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/x-ota-bitmap"; + }, + DATATYPE + { + priority = EDataTypePriorityHigh; + type = "image/mng"; + } + }; + } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/inc/glxivwrapplication.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/inc/glxivwrapplication.h Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,40 @@ +/* + * 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" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Symbian application class + * + */ + + + + +#ifndef C_GLXIVIEWERAPPLICATION_H +#define C_GLXIVIEWERAPPLICATION_H + +#include + +/** + * CGlxIVwrApplication + * + * @lib ViewerApplication + */ +class CGlxIVwrApplication : public CAknApplication + { +public: // from CAknApplication + TUid AppDllUid() const; + +protected: // from CAknApplication + CApaDocument* CreateDocumentL(); + }; + +#endif // C_GLXIVIEWERAPPLICATION_H diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/inc/glxivwrappui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/inc/glxivwrappui.h Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,146 @@ +/* + * 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" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: AppUi class + * + */ + + + + +#ifndef C_GLXIVIEWERAPPUI_H +#define C_GLXIVIEWERAPPUI_H + +#include +#include +#include +#include +#include "glxiadupdate.h" + +class MMPXViewUtility; +class MMPXCollectionUtility; +class CGlxUiUtility; +class CGlxNavigationalState; +class CAknGlobalNote; + +class CGlxBackServiceWrapper; + +/** + * CGlxIVwrAppUi + * + * @lib ViewerApplication + */ + +class CGlxIVwrAppUi : public CAknViewAppUi, public MGlxNavigationalStateObserver + { +public: + CGlxIVwrAppUi(); + void ConstructL(); + ~CGlxIVwrAppUi(); + +public: // from CAknAppUi + /** + * From CAknAppUi + * Handle user menu selections + * @param aCommand Id of the command + */ + void HandleCommandL(TInt aCommand); + + // From MGlxNavigationalStateObserver + void HandleNavigationalStateChangedL(); + //OOM Method + void HandleApplicationSpecificEventL(TInt aEventType, const TWsEvent& aWsEvent); + +private: // From CEikAppUi + + TBool ProcessCommandParametersL(TApaCommand aCommand, + TFileName& aDocumentName, const TDesC8& aTail); + +private: // From CCoeAppUi + + void HandleForegroundEventL( TBool aForeground ); + +private: + enum TEntryType + { + EEntryTypeStartUp = 0, + EEntryTypeFocusGained + }; + + + /** + * Handle an activation message. + * @param aCommand command data sent from the activating application. + * @param aDocumentName image file name data sent from the activating application. + * @param aData Message data from activating application. + */ + void HandleActivationMessageL(const TApaCommand& aCommand, const TFileName& aDocumentName, const TDesC8& aData); + + /** + * Set activation parameter for startup view, converting to 16-bit + * descriptor used by MPX. + * @param aParam Activation parameter. + */ + void SetActivationParamL(const TDesC8& aParam); + + /** + * Get view scoring ids based on current navigational state + * (using Get in the name since the function does not return anything) + * @param aIns list that will be populated with scoring ids + */ + void GetViewScoringIdsL( RArray& aIds ) const; + + /** + * Get view scoring id for collection plugin + * @param naviState Path to represent navigational state + * @return scoding id + */ + TUid GetViewScoringIdForCollectionPlugin( const CMPXCollectionPath& aNaviState ) const; + + /** + * Get view scoring id for depth in ui hierarchy + * @param naviState Path to represent navigational state + * @return scoding id + */ + TUid ViewScoringIdForNaviStateDepth( const CMPXCollectionPath& aNaviState ) const; + + + /** + * close photos app. + */ + void CloseImgVwr(); + +private: + MMPXViewUtility* iViewUtility; + + /// Singleton that stores gallery's navigational state + CGlxNavigationalState* iNavigationalState; + + /** Optional view plugin UID to activate when the collection is opened */ + TUid iStartupViewUid; + + /** Optional activation parameter for the next view */ + HBufC* iActivationParam; + + + TBool iStartUpSequence; + + ///Ui utility + CGlxUiUtility* iUiUtility; + + CGlxBackServiceWrapper* iBSWrapper; + }; + + +#endif // C_GLXIVIEWERAPPUI_H + diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/inc/glxivwrdocument.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/inc/glxivwrdocument.h Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,61 @@ +/* + * 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" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Document class + * + */ + + + + +#ifndef C_GLXIVWRDOCUMENT_H +#define C_GLXIVWRDOCUMENT_H + +#include + +// Forward references +class CEikApplication; +class MMPXViewUtility; +class CGlxImageViewerManager; + +/** + * CViewerDocument + * + * @lib ViewerApplication + */ +class CGlxIVwrDocument : public CAknDocument + { +public: + static CGlxIVwrDocument* NewL(CEikApplication& aApp); + static CGlxIVwrDocument* NewLC(CEikApplication& aApp); + ~CGlxIVwrDocument(); + +public: // from CAknDocument + CEikAppUi* CreateAppUiL(); + +public: // from CEikDocument + CFileStore* OpenFileL( TBool aDoOpen, const TDesC& aFilename, RFs& aFs ); + void OpenFileL( CFileStore*& aFileStore, RFile& aFile ); + +private: + void ConstructL(); + + CGlxIVwrDocument(CEikApplication& aApp); + void ResetDocument(); + +private: + MMPXViewUtility* iViewUtility; + CGlxImageViewerManager* iImageViewerInstance; + }; + +#endif // C_GLXIVWRDOCUMENT_H diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/src/glxivwrapplication.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/src/glxivwrapplication.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,108 @@ +/* + * 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" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Symbian application class + * + */ + + + + +#include "glxivwrapplication.h" + +#include +#include +#include + +#include "glxivwrdocument.h" + +// UID for the application, this should correspond to the uid defined in the mmp file +static const TUid KUidGlxIvwrApp = {0x200104E7}; + +// ----------------------------------------------------------------------------- +// CreateDocumentL +// ----------------------------------------------------------------------------- +// +CApaDocument* CGlxIVwrApplication::CreateDocumentL() + { + TRACER("CApaIVwrDocument* CGlxApplication::CreateDocumentL()"); + GLX_LOG_INFO("CGlxApplication::CreateDocumentL"); + // Create a Viewer document, and return a pointer to it + CApaDocument* document = CGlxIVwrDocument::NewL(*this); + return document; + } + +// ----------------------------------------------------------------------------- +// AppDllUid +// ----------------------------------------------------------------------------- +// +TUid CGlxIVwrApplication::AppDllUid() const +{ +// Return the UID for the Viewer application +return KUidGlxIvwrApp; +} + +#include + +#ifdef __UI_FRAMEWORKS_V2__ + +// ----------------------------------------------------------------------------- +// NewApplication +// ----------------------------------------------------------------------------- +// +CApaApplication* NewApplication() + { + return new CGlxIVwrApplication; + } + +// ----------------------------------------------------------------------------- +// E32Main +// ----------------------------------------------------------------------------- +// +TInt E32Main() + { + return EikStart::RunApplication(NewApplication); + } + +/////////////////////////////////////////////////////////////////////////////// +// +// The following is required for wins on EKA1 (using the exedll target) +// +#if defined(__WINS__) && !defined(EKA2) +EXPORT_C TInt WinsMain(TDesC* aCmdLine) + { + return EikStart::RunApplication(NewApplication, aCmdLine); + } + +TInt E32Dll(TDllReason) + { + return KErrNone; + } +#endif + +#else // __UI_FRAMEWORKS_V2__ + +// Create an application, and return a pointer to it +EXPORT_C CApaApplication* NewApplication() + { + return new CGlxIVwrApplication; + } + +// DLL entry point, return that everything is ok +GLDEF_C TInt E32Dll(TDllReason) + { + return KErrNone; + } + +#endif // __UI_FRAMEWORKS_V2__ + diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/src/glxivwrappui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/src/glxivwrappui.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,432 @@ +/* + * 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" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: AppUi class + * + */ + + + + +#include "glxivwrappui.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include + +#include +#include + +// ----------------------------------------------------------------------------- +// Constructor +// ----------------------------------------------------------------------------- +// +CGlxIVwrAppUi::CGlxIVwrAppUi() + { + } + +// ----------------------------------------------------------------------------- +// ConstructL is called by the application framework +// ----------------------------------------------------------------------------- +// +void CGlxIVwrAppUi::ConstructL() + { + TRACER("void CGlxIVwrAppUi::ConstructL()"); + + // Enable Avkon skins. + BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible ); + // Create navigational state + iNavigationalState = CGlxNavigationalState::InstanceL(); + + iNavigationalState->AddObserverL( *this ); + + // Create Back Stepping Service wrapper + iBSWrapper = CGlxBackServiceWrapper::NewL( TUid::Uid( KGlxGalleryApplicationUid ) ); + iNavigationalState->SetBackExitStatus(EFalse); + + // Get an instance of view utility + iViewUtility = MMPXViewUtility::UtilityL(); + + iUiUtility = CGlxUiUtility::UtilityL(); + // Always start in default orientation + iUiUtility->SetAppOrientationL(EGlxOrientationDefault); + // publish zoom context, no zoom keys for now + NGlxZoomStatePublisher::PublishStateL( EFalse ); + } + +// ----------------------------------------------------------------------------- +// Destructor +// ----------------------------------------------------------------------------- +// +CGlxIVwrAppUi::~CGlxIVwrAppUi() + { + TRACER("CGlxIVwrAppUi::~CGlxIVwrAppUi()"); + if ( iNavigationalState ) + { + iNavigationalState->RemoveObserver(*this); + iNavigationalState->Close(); + } + + if ( iViewUtility ) + { + iViewUtility->Close(); + } + + delete iActivationParam; + + if ( iUiUtility ) + { + iUiUtility->Close(); + } + + if( iBSWrapper ) + { + delete iBSWrapper; + } + } + +// ----------------------------------------------------------------------------- +// HandleCommandL +// ----------------------------------------------------------------------------- +// +void CGlxIVwrAppUi::HandleCommandL(TInt aCommand) + { + TRACER("void CGlxIVwrAppUi::HandleCommandL(TInt aCommand)"); + GLX_LOG_INFO1("PHOTOS LOGS: void CGlxIVwrAppUi::HandleCommandL(TInt aCommand = %d)",aCommand ); + switch(aCommand) + { + case EEikCmdExit: + { + Exit(); + } + break; + case EAknSoftkeyExit: + { + CloseImgVwr(); + GLX_LOG_INFO("CGlxIVwrAppUi::HandleCommandL: Exit() being Called"); + Exit(); + } + break; + + case EAknSoftkeyBack: + iNavigationalState->ActivatePreviousViewL(); + break; + + default: + break; + } + } + +// --------------------------------------------------------------------------- +// ProcessCommandParametersL +// --------------------------------------------------------------------------- +// +TBool CGlxIVwrAppUi::ProcessCommandParametersL(TApaCommand aCommand, + TFileName& aDocumentName, const TDesC8& aTail) + { + TRACER("TBool CGlxIVwrAppUi::ProcessCommandParametersL(TApaCommand /*aCommand*/,TFileName& /*aDocumentName*/, const TDesC8& aTail)"); + + TRAPD(err, HandleActivationMessageL(aCommand, aDocumentName, aTail)); + if ( KErrNone != err ) + { + // Open collection for main view + iStartupViewUid = TUid::Null(); + // Open navigational state at root level + CMPXCollectionPath* newState = CMPXCollectionPath::NewL(); + CleanupStack::PushL( newState ); + iNavigationalState->NavigateToL( *newState ); + CleanupStack::PopAndDestroy( newState ); + } + if(0 == aTail.CompareC(KNullDesC8)) + { + return ETrue; + } + else + { + return EFalse; + } + + } + +// --------------------------------------------------------------------------- +// Handle navigational state change +// --------------------------------------------------------------------------- +// +void CGlxIVwrAppUi::HandleNavigationalStateChangedL() + { + TRACER("void CGlxIVwrAppUi::HandleNavigationalStateChangedL()"); + // get current navigational state + CMPXCollectionPath* naviState = iNavigationalState->StateLC(); + + // Case: Open photos in grid, go to filemanager via menu and open any image + if (naviState->Id() != TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid)) + { + /* + * This thread chk is added for EDDG-7UUC53. In this scenario we get EPathChanged from MPX. + * That initiates a viewnavigational change from CGlxNavigationalStateImp HandleCollectionMessageL() + * In these types of scenarios we don't want a view switch. So ignoring the event. + */ + TApaTaskList taskList( iCoeEnv->WsSession() ); + TApaTask task = taskList.FindApp( TUid::Uid( KGlxGalleryApplicationUid ) ); + TApaTask taskForeGround = taskList.FindByPos(0); // get fopreground app + if ( task.Exists() && task.ThreadId() != taskForeGround.ThreadId() ) + { + GLX_LOG_INFO("CGlxIVwrAppUi ::HandleNavigationalStateChanged: Return "); + return; + } + } + + CleanupStack::PopAndDestroy( naviState ); + + HBufC* activationParam = iActivationParam; + iActivationParam = NULL; // release ownership + CleanupStack::PushL( activationParam ); + + if ( TUid::Null() != iStartupViewUid ) + { + GLX_LOG_INFO("CGlxAppUi::HandleNavigationalStateChanged: Activating startup view"); + // Activate startup view + iViewUtility->ActivateViewL( iStartupViewUid, activationParam ); + iStartupViewUid = TUid::Null(); + } + else + { + GLX_LOG_INFO("CGlxAppUi::HandleNavigationalStateChanged: Activating view"); + + // get ids for scoring a view + RArray< TUid > scoringIds; + CleanupClosePushL( scoringIds ); + GetViewScoringIdsL( scoringIds ); + + GLX_LOG_INFO1( "CGlxIVwrAppUi::HandleNavigationalStateChanged: Uid count %d", scoringIds.Count()); + // let view utility to select the best view based on scoring ids + iViewUtility->ActivateViewL( scoringIds, activationParam ); + + CleanupStack::PopAndDestroy( &scoringIds ); + } + + CleanupStack::PopAndDestroy( activationParam ); + } + +// --------------------------------------------------------------------------- +// Populate array with view scoring ids +// --------------------------------------------------------------------------- +// +void CGlxIVwrAppUi::GetViewScoringIdsL( RArray& aIds ) const +{ +TRACER("void CGlxIVwrAppUi::GetViewScoringIdsL( RArray& aIds ) const"); + +aIds.Reset(); // For maintenance safety + +// get current navigational state +CMPXCollectionPath* naviState = iNavigationalState->StateLC(); + +// no if check in needed here ,it makes the aapui aware of the list view depth +// to be removed.added by gopa +if ( naviState->Levels() >= 1) + { + if (iNavigationalState->ViewingMode() == NGlxNavigationalState::EBrowse) + { + // For image viewer collection, goto view mode + if (naviState->Id() == TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid)) + { + aIds.AppendL( TUid::Uid( KGlxViewingModeView ) ); + } + else + { + aIds.AppendL( TUid::Uid( KGlxViewingModeBrowse ) ); + } + } + else + { + aIds.AppendL( TUid::Uid( KGlxViewingModeView ) ); + } + } + +if( TUid::Null() != GetViewScoringIdForCollectionPlugin( *naviState ) ) + { + // add scoring id for collection plugin + aIds.AppendL( GetViewScoringIdForCollectionPlugin( *naviState ) ); + } + +if( TUid::Null() != ViewScoringIdForNaviStateDepth( *naviState ) ) + { + // add scoring id for depth in the ui hierarchy + aIds.AppendL( ViewScoringIdForNaviStateDepth( *naviState ) ); + } + +CleanupStack::PopAndDestroy( naviState ); +} +// --------------------------------------------------------------------------- +// Handles the foreground events +// --------------------------------------------------------------------------- +// +void CGlxIVwrAppUi::HandleForegroundEventL( TBool aForeground ) + { + TRACER("void CGlxIVwrAppUi::HandleForegroundEventL( TBool aForeground )"); + + // first let base class handle it so that we dont break anything + CAknViewAppUi::HandleForegroundEventL( aForeground ); + + } +// --------------------------------------------------------------------------- +// Return scoring id for collection plugin +// --------------------------------------------------------------------------- +// +TUid CGlxIVwrAppUi::GetViewScoringIdForCollectionPlugin( const CMPXCollectionPath& aNaviState ) const +{ +TRACER("TUid CGlxIVwrAppUi::GetViewScoringIdForCollectionPluginL( const CMPXCollectionPath& aNaviState ) const"); + +GLX_LOG_INFO1( "CGlxIVwrAppUi::GetViewScoringIdForCollectionPluginL: Depth %d", aNaviState.Levels() ); +// score view based on collection plugin if not on root level +if ( aNaviState.Levels() ) + { + return TUid::Uid( aNaviState.Id( 0 ) ); + } +// return null as id to be ignored in scoring +return TUid::Null(); +} + +// --------------------------------------------------------------------------- +// Return scoring id for depth +// --------------------------------------------------------------------------- +// +TUid CGlxIVwrAppUi::ViewScoringIdForNaviStateDepth( const CMPXCollectionPath& aNaviState ) const +{ +TRACER("TUid CGlxIVwrAppUi::ViewScoringIdForNaviStateDepthL( const CMPXCollectionPath& aNaviState ) const"); +GLX_LOG_INFO1( "CGlxIVwrAppUi::ViewScoringIdForNaviStateDepthL: Level %d", aNaviState.Levels() ); + +switch ( aNaviState.Levels() ) + { + case 0: + + GLX_LOG_INFO1( "CGlxIVwrAppUi::ViewScoringIdForNaviStateDepthL: \ + Depth case 0 %x", TUid::Uid( KGlxDepthOne ) ); + return TUid::Uid( KGlxDepthOne ); + + case 1: + + GLX_LOG_INFO1( "CGlxIVwrAppUi::ViewScoringIdForNaviStateDepthL: \ + Depth case 1 %x", TUid::Uid( KGlxDepthTwo ) ); + return TUid::Uid( KGlxDepthTwo ); + + + case 2: + + GLX_LOG_INFO1( "CGlxIVwrAppUi::GetViewScoringIdForUiHieararchyDepthL: \ + Depth case 2 %x", TUid::Uid( KGlxDepthThree ) ); + return TUid::Uid( KGlxDepthThree ); + + default: + GLX_LOG_WARNING( "CGlxIVwrAppUi::GetViewScoringIdsL: Navigational state deeper than supported" ); + // return null as an id to be ignored in scoring + return TUid::Null(); + } +} + +// --------------------------------------------------------------------------- +// HandleActivationMessageL +// --------------------------------------------------------------------------- +// +void CGlxIVwrAppUi::HandleActivationMessageL(const TApaCommand& aCommand, + const TFileName& aDocumentName, const TDesC8& aData) + { + TRACER("void CGlxIVwrAppUi::HandleActivationMessageL(const TApaCommand& aCommand, const TFileName& aDocumentName, const TDesC8& aData)"); + + delete iActivationParam; + iActivationParam = NULL; + + if ( 0 == aData.CompareC(KNullDesC8) ) + { + CMPXCollectionPath* path = CMPXCollectionPath::NewL(); + CleanupStack::PushL(path); + path->AppendL( KGlxCollectionPluginImageViewerImplementationUid ); + iNavigationalState->NavigateToL( *path ); + CleanupStack::PopAndDestroy( path ); + } + + // Introduced to fix bug EMJN-78GH6N. Rowland Cook 10/12/2007 + if (0 != iEikonEnv->RootWin().OrdinalPosition()) + { + iEikonEnv->RootWin().SetOrdinalPosition(0); + } + } + +// --------------------------------------------------------------------------- +// SetActivationParamL +// --------------------------------------------------------------------------- +// +void CGlxIVwrAppUi::SetActivationParamL(const TDesC8& aParam) + { + TRACER("void CGlxIVwrAppUi::SetActivationParamL(const TDesC8& aParam)"); + iActivationParam = HBufC::NewL(aParam.Length()); + iActivationParam->Des().Copy(aParam); + } + +// --------------------------------------------------------------------------- +// HandleApplicationSpecificEventL +// +// --------------------------------------------------------------------------- +// + +void CGlxIVwrAppUi::HandleApplicationSpecificEventL(TInt aEventType, const TWsEvent& aWsEvent) + { + TRACER("CGlxIVwrAppUi::HandleApplicationSpecificEventL"); + CAknViewAppUi::HandleApplicationSpecificEventL(aEventType,aWsEvent); + if(aWsEvent.Type() == KAknUidValueEndKeyCloseEvent) + { + CloseImgVwr(); + } + } + +// ----------------------------------------------------------------------------- +// CloseImgVwr +// ----------------------------------------------------------------------------- +// +void CGlxIVwrAppUi::CloseImgVwr() + { + TRACER("CGlxNsAppUi::CloseImgVwr()"); + iUiUtility->SetViewNavigationDirection(EGlxNavigationBackwards); + iUiUtility->SetExitingState(ETrue); + } + diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/imgvwr/src/glxivwrdocument.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/photosgallery/imgvwr/src/glxivwrdocument.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -0,0 +1,140 @@ +/* + * 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" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Document class + * + */ + +#include + +#include "glxivwrappui.h" +#include "glxivwrdocument.h" +#include +#include + +// ----------------------------------------------------------------------------- +// NewL +// ----------------------------------------------------------------------------- +// +CGlxIVwrDocument* CGlxIVwrDocument::NewL(CEikApplication& aApp) + { + TRACER("CGlxIVwrDocument::NewL"); + CGlxIVwrDocument* self = NewLC(aApp); + CleanupStack::Pop(self); + return self; + } + +// ----------------------------------------------------------------------------- +// NewLC +// ----------------------------------------------------------------------------- +// +CGlxIVwrDocument* CGlxIVwrDocument::NewLC(CEikApplication& aApp) + { + TRACER("CGlxIVwrDocument::NewLC"); + CGlxIVwrDocument* self = new (ELeave) CGlxIVwrDocument(aApp); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +// ----------------------------------------------------------------------------- +// ConstructL +// ----------------------------------------------------------------------------- +// +void CGlxIVwrDocument::ConstructL() + { + TRACER("CGlxIVwrDocument::ConstructL"); + iViewUtility = MMPXViewUtility::UtilityL(); + iImageViewerInstance = CGlxImageViewerManager::InstanceL(); + } + +// ----------------------------------------------------------------------------- +// Constructor +// ----------------------------------------------------------------------------- +// +CGlxIVwrDocument::CGlxIVwrDocument(CEikApplication& aApp) : CAknDocument(aApp) + { + } + +// ----------------------------------------------------------------------------- +// Destructor +// ----------------------------------------------------------------------------- +// +CGlxIVwrDocument::~CGlxIVwrDocument() + { + TRACER("CGlxIVwrDocument::~CGlxDocument()"); + if (iViewUtility != NULL) + { + iViewUtility->Close(); + } + if ( NULL != iImageViewerInstance) + { + iImageViewerInstance->DeleteInstance(); + } + } + +// ----------------------------------------------------------------------------- +// OpenFileL() +// Open document. +// ----------------------------------------------------------------------------- +CFileStore* CGlxIVwrDocument::OpenFileL( TBool /*aDoOpen*/, + const TDesC& aFilename, RFs& /*aFs*/ ) + { + TRACER("CFileStore* CGlxIVwrDocument::OpenFileL"); + // Reset old data + ResetDocument(); + iImageViewerInstance->SetImageUriL(aFilename); + return NULL; + } + +// ----------------------------------------------------------------------------- +// CGlxDocument::OpenFileL() +// Open document. +// ----------------------------------------------------------------------------- +void CGlxIVwrDocument::OpenFileL( CFileStore*& /*aFileStore*/, RFile& aFile ) + { + TRACER("CGlxIVwrDocument::OpenFileL()"); + // Make sure that aFile is closed in leave situation + CleanupClosePushL( aFile ); + + // Reset old data + ResetDocument(); + iImageViewerInstance->SetImageFileHandleL(aFile); + CleanupStack::PopAndDestroy(); // Close aFile + } + +// ---------------------------------------------------------------------------- +// CGlxDocument::ResetDocument +// Reset the document +// ---------------------------------------------------------------------------- +// +void CGlxIVwrDocument::ResetDocument() + { + TRACER("CGlxIVwrDocument::ResetDocument()"); + // Set document to NULL + iImageViewerInstance->Reset(); + } + +// ----------------------------------------------------------------------------- +// CreateAppUiL +// ----------------------------------------------------------------------------- +// +CEikAppUi* CGlxIVwrDocument::CreateAppUiL() + { + TRACER("CGlxIVwrDocument::CreateAppUiL()"); + // Create the application user interface, and return a pointer to it, + // the framework takes ownership of this object + CEikAppUi* appUi = new (ELeave) CGlxIVwrAppUi(); + return appUi; + } + diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/rom/glxgallery.iby --- a/photosgallery/rom/glxgallery.iby Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/rom/glxgallery.iby Thu Jan 07 12:46:23 2010 +0200 @@ -24,6 +24,9 @@ data=\epoc32\data\z\private\10003a3f\import\apps\glx_reg.rsc private\10003a3f\import\apps\glx_reg.rsc +// photos image viewer +data=\epoc32\data\z\private\10003a3f\import\apps\glxivwr_reg.rsc private\10003a3f\import\apps\glxivwr_reg.rsc + //photosuitelauncher application resource file data=\epoc32\data\z\private\10003a3f\import\apps\photossuitelauncher_reg.rsc private\10003a3f\import\apps\photossuitelauncher_reg.rsc @@ -34,6 +37,10 @@ //photosuitelauncher application S60_APP_EXE(photossuitelauncher) + +//photos image viewer exe +S60_APP_EXE(glxivwr) + data=DATAZ_\APP_RESOURCE_DIR\photossuitelauncher.mif APP_RESOURCE_DIR\photossuitelauncher.mif diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/rom/glxgallery_resources.iby --- a/photosgallery/rom/glxgallery_resources.iby Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/rom/glxgallery_resources.iby Thu Jan 07 12:46:23 2010 +0200 @@ -26,7 +26,10 @@ data=DATAZ_\APP_RESOURCE_DIR\glx_loc.Rsc APP_RESOURCE_DIR\glx_loc.Rsc -data=DATAZ_\APP_RESOURCE_DIR\glx.Rsc APP_RESOURCE_DIR\glx.Rsc +data=DATAZ_\APP_RESOURCE_DIR\glx.Rsc APP_RESOURCE_DIR\glx.Rsc + +data=DATAZ_\APP_RESOURCE_DIR\glxivwr_loc.Rsc APP_RESOURCE_DIR\glxivwr_loc.Rsc +data=DATAZ_\APP_RESOURCE_DIR\glxivwr.Rsc APP_RESOURCE_DIR\glxivwr.Rsc //photosuitelauncher application resource file data=DATAZ_\APP_RESOURCE_DIR\photossuitelauncher.Rsc APP_RESOURCE_DIR\photossuitelauncher.Rsc diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/slideshow/settingsdialog/src/shwslideshowsettingslist.cpp --- a/photosgallery/slideshow/settingsdialog/src/shwslideshowsettingslist.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/slideshow/settingsdialog/src/shwslideshowsettingslist.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -1235,7 +1235,7 @@ query->SetPromptL(*titleText); CleanupStack::Pop(query); TInt retVal = query->ExecuteLD(R_SHW_CONFIRMATION_QUERY); - CleanupStack::PopAndDestroy(); //titleText + CleanupStack::PopAndDestroy(titleText); return (retVal == EAknSoftkeyOk || retVal == EAknSoftkeyYes); } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/commandhandlers/commoncommandhandlers/bwins/glxcommoncommandhandlersu.def --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/bwins/glxcommoncommandhandlersu.def Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/bwins/glxcommoncommandhandlersu.def Thu Jan 07 12:46:23 2010 +0200 @@ -1,68 +1,67 @@ EXPORTS - ??1CGlxCommandHandlerFilterImagesOrVideos@@UAE@XZ @ 1 NONAME ; CGlxCommandHandlerFilterImagesOrVideos::~CGlxCommandHandlerFilterImagesOrVideos(void) - ?OfferKeyEventL@CGlxSingleGraphicPopupMenuStyleListBox@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 2 NONAME ; enum TKeyResponse CGlxSingleGraphicPopupMenuStyleListBox::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) - ??0CGlxMediaListAdaptor@@QAE@PBVMGlxMediaList@@H@Z @ 3 NONAME ; CGlxMediaListAdaptor::CGlxMediaListAdaptor(class MGlxMediaList const *, int) - ?NewL@CGlxCommandHandlerRename@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 4 NONAME ; class CGlxCommandHandlerRename * CGlxCommandHandlerRename::NewL(class MGlxMediaListProvider *, int) - ?NewL@CGlxCommandHandlerSend@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 5 NONAME ; class CGlxCommandHandlerSend * CGlxCommandHandlerSend::NewL(class MGlxMediaListProvider *, int) - ??1CGlxCommandHandlerNewMedia@@UAE@XZ @ 6 NONAME ; CGlxCommandHandlerNewMedia::~CGlxCommandHandlerNewMedia(void) - ??1CGlxCommandHandlerSave@@UAE@XZ @ 7 NONAME ; CGlxCommandHandlerSave::~CGlxCommandHandlerSave(void) - ?NewL@CGlxCommandHandlerDelete@@SAPAV1@PAVMGlxMediaListProvider@@HH@Z @ 8 NONAME ; class CGlxCommandHandlerDelete * CGlxCommandHandlerDelete::NewL(class MGlxMediaListProvider *, int, int) - ?NewL@CGlxCommandHandlerRotate@@SAPAV1@PAVMGlxMediaListProvider@@PAVMGlxLayoutOwner@@H@Z @ 9 NONAME ; class CGlxCommandHandlerRotate * CGlxCommandHandlerRotate::NewL(class MGlxMediaListProvider *, class MGlxLayoutOwner *, int) - ?ExecuteLD@CGlxMediaSelectionPopup@@QAEPAVCMPXCollectionPath@@AAV2@AAHHHPAVCMPXMedia@@@Z @ 10 NONAME ; class CMPXCollectionPath * CGlxMediaSelectionPopup::ExecuteLD(class CMPXCollectionPath &, int &, int, int, class CMPXMedia *) - ?OkToExit@CGlxCommandHandlerNewMedia@@UBEHXZ @ 11 NONAME ; int CGlxCommandHandlerNewMedia::OkToExit(void) const - ??1CGlxCommandHandlerBack@@UAE@XZ @ 12 NONAME ; CGlxCommandHandlerBack::~CGlxCommandHandlerBack(void) - ?NewPreviousViewCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 13 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewPreviousViewCommandHandlerL(class MGlxMediaListProvider *) - ?NewL@CGlxCommandHandlerVideoPlayback@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 14 NONAME ; class CGlxCommandHandlerVideoPlayback * CGlxCommandHandlerVideoPlayback::NewL(class MGlxMediaListProvider *) - ??0TGlxHelpContext@@QAE@XZ @ 15 NONAME ; TGlxHelpContext::TGlxHelpContext(void) - ??1CGlxCommandHandlerSortOrder@@UAE@XZ @ 16 NONAME ; CGlxCommandHandlerSortOrder::~CGlxCommandHandlerSortOrder(void) - ??1CGlxCommandHandlerRemoveFrom@@UAE@XZ @ 17 NONAME ; CGlxCommandHandlerRemoveFrom::~CGlxCommandHandlerRemoveFrom(void) - ?ImageUri@CGlxImageViewerManager@@QAEPAVHBufC16@@XZ @ 18 NONAME ; class HBufC16 * CGlxImageViewerManager::ImageUri(void) - ?NewL@CGlxCommandHandlerOpen@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 19 NONAME ; class CGlxCommandHandlerOpen * CGlxCommandHandlerOpen::NewL(class MGlxMediaListProvider *) - ??1CGlxCommandHandlerDelete@@UAE@XZ @ 20 NONAME ; CGlxCommandHandlerDelete::~CGlxCommandHandlerDelete(void) - ??1CGlxCommandHandlerDownload@@UAE@XZ @ 21 NONAME ; CGlxCommandHandlerDownload::~CGlxCommandHandlerDownload(void) - ??1CGlxCommandHandlerOpen@@UAE@XZ @ 22 NONAME ; CGlxCommandHandlerOpen::~CGlxCommandHandlerOpen(void) - ?NewL@CGlxCommandHandlerSlideshow@@SAPAV1@PAVMGlxMediaListProvider@@HH@Z @ 23 NONAME ; class CGlxCommandHandlerSlideshow * CGlxCommandHandlerSlideshow::NewL(class MGlxMediaListProvider *, int, int) - ?IsPrivate@CGlxImageViewerManager@@QAEHXZ @ 24 NONAME ; int CGlxImageViewerManager::IsPrivate(void) - ?NewL@CGlxCommandHandlerAiwShareOnOvi@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 25 NONAME ; class CGlxCommandHandlerAiwShareOnOvi * CGlxCommandHandlerAiwShareOnOvi::NewL(class MGlxMediaListProvider *, int) - ?NewAddToAlbumCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 26 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL(class MGlxMediaListProvider *, int) - ?MdcaPoint@CGlxMediaListAdaptor@@UBE?AVTPtrC16@@H@Z @ 27 NONAME ; class TPtrC16 CGlxMediaListAdaptor::MdcaPoint(int) const - ?NewL@CGlxCommandHandlerDownload@@SAPAV1@XZ @ 28 NONAME ; class CGlxCommandHandlerDownload * CGlxCommandHandlerDownload::NewL(void) - ??1CGlxCommandHandlerHelp@@UAE@XZ @ 29 NONAME ; CGlxCommandHandlerHelp::~CGlxCommandHandlerHelp(void) - ?BypassFiltersForExecute@CGlxCommandHandlerNewMedia@@UBEHXZ @ 30 NONAME ; int CGlxCommandHandlerNewMedia::BypassFiltersForExecute(void) const - ?NewL@CGlxCommandHandlerDetails@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 31 NONAME ; class CGlxCommandHandlerDetails * CGlxCommandHandlerDetails::NewL(class MGlxMediaListProvider *) - ?NewL@CGlxCommandHandlerAiwEdit@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 32 NONAME ; class CGlxCommandHandlerAiwEdit * CGlxCommandHandlerAiwEdit::NewL(class MGlxMediaListProvider *, int) - ?NewL@CGlxCommandHandlerHelp@@SAPAV1@VTGlxHelpContext@@@Z @ 33 NONAME ; class CGlxCommandHandlerHelp * CGlxCommandHandlerHelp::NewL(class TGlxHelpContext) - ?ExecuteLD@CGlxCommandHandlerNewMedia@@QAEHAAVTGlxMediaId@@@Z @ 34 NONAME ; int CGlxCommandHandlerNewMedia::ExecuteLD(class TGlxMediaId &) - ?HandleItemAddedL@CGlxCommandHandlerNewMedia@@MAEXHHPAVMGlxMediaList@@@Z @ 35 NONAME ; void CGlxCommandHandlerNewMedia::HandleItemAddedL(int, int, class MGlxMediaList *) - ?IncrementRefCount@CGlxImageViewerManager@@QAEXXZ @ 36 NONAME ; void CGlxImageViewerManager::IncrementRefCount(void) - ?NewRemFromFavCommandHandlerL@CGlxCommandHandlerRemoveFrom@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 37 NONAME ; class CGlxCommandHandlerRemoveFrom * CGlxCommandHandlerRemoveFrom::NewRemFromFavCommandHandlerL(class MGlxMediaListProvider *) - ?NewL@CGlxCommandHandlerUpload@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 38 NONAME ; class CGlxCommandHandlerUpload * CGlxCommandHandlerUpload::NewL(class MGlxMediaListProvider *, int) - ??1CGlxCommandHandlerUpload@@UAE@XZ @ 39 NONAME ; CGlxCommandHandlerUpload::~CGlxCommandHandlerUpload(void) - ??1CGlxCommandHandlerSlideshow@@UAE@XZ @ 40 NONAME ; CGlxCommandHandlerSlideshow::~CGlxCommandHandlerSlideshow(void) - ?NewL@CGlxCommandHandlerAiwShowMap@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 41 NONAME ; class CGlxCommandHandlerAiwShowMap * CGlxCommandHandlerAiwShowMap::NewL(class MGlxMediaListProvider *, int) - ??1CGlxCommandHandlerAddToContainer@@UAE@XZ @ 42 NONAME ; CGlxCommandHandlerAddToContainer::~CGlxCommandHandlerAddToContainer(void) - ??0CGlxMediaSelectionPopup@@QAE@XZ @ 43 NONAME ; CGlxMediaSelectionPopup::CGlxMediaSelectionPopup(void) - ?NewL@CGlxCommandHandlerNewMedia@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 44 NONAME ; class CGlxCommandHandlerNewMedia * CGlxCommandHandlerNewMedia::NewL(class MGlxMediaListProvider *) - ?NewL@CGlxCommandHandlerRemoveFrom@@SAPAV1@PAVMGlxMediaListProvider@@W4TMPXGeneralCategory@@H@Z @ 45 NONAME ; class CGlxCommandHandlerRemoveFrom * CGlxCommandHandlerRemoveFrom::NewL(class MGlxMediaListProvider *, enum TMPXGeneralCategory, int) - ?NewL@CGlxCommandHandlerCopyAndMove@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 46 NONAME ; class CGlxCommandHandlerCopyAndMove * CGlxCommandHandlerCopyAndMove::NewL(class MGlxMediaListProvider *, int) - ??1CGlxCommandHandlerCopyAndMove@@UAE@XZ @ 47 NONAME ; CGlxCommandHandlerCopyAndMove::~CGlxCommandHandlerCopyAndMove(void) - ?SetContainerId@CGlxCommandHandlerRemoveFrom@@QAEXVTGlxMediaId@@@Z @ 48 NONAME ; void CGlxCommandHandlerRemoveFrom::SetContainerId(class TGlxMediaId) - ?MdcaCount@CGlxMediaListAdaptor@@UBEHXZ @ 49 NONAME ; int CGlxMediaListAdaptor::MdcaCount(void) const - ?NewL@CGlxCommandHandlerFilterImagesOrVideos@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 50 NONAME ; class CGlxCommandHandlerFilterImagesOrVideos * CGlxCommandHandlerFilterImagesOrVideos::NewL(class MGlxMediaListProvider *) - ?NewL@CGlxCommandHandlerAiwShowMapHardKey@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 51 NONAME ; class CGlxCommandHandlerAiwShowMapHardKey * CGlxCommandHandlerAiwShowMapHardKey::NewL(class MGlxMediaListProvider *, int) - ?NewL@CGlxCommandHandlerHideUi@@SAPAV1@XZ @ 52 NONAME ; class CGlxCommandHandlerHideUi * CGlxCommandHandlerHideUi::NewL(void) - ??1CGlxCommandHandlerSend@@UAE@XZ @ 53 NONAME ; CGlxCommandHandlerSend::~CGlxCommandHandlerSend(void) - ?NewL@CGlxCommandHandlerAiwAssign@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 54 NONAME ; class CGlxCommandHandlerAiwAssign * CGlxCommandHandlerAiwAssign::NewL(class MGlxMediaListProvider *, int) - ?NewAddToTagCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 55 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL(class MGlxMediaListProvider *, int) - ??1CGlxCommandHandlerDetails@@UAE@XZ @ 56 NONAME ; CGlxCommandHandlerDetails::~CGlxCommandHandlerDetails(void) - ?NewL@CGlxCommandHandlerSave@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 57 NONAME ; class CGlxCommandHandlerSave * CGlxCommandHandlerSave::NewL(class MGlxMediaListProvider *, int) - ??1CGlxCommandHandlerVideoPlayback@@UAE@XZ @ 58 NONAME ; CGlxCommandHandlerVideoPlayback::~CGlxCommandHandlerVideoPlayback(void) - ??1CGlxCommandHandlerRename@@UAE@XZ @ 59 NONAME ; CGlxCommandHandlerRename::~CGlxCommandHandlerRename(void) - ?NewL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@HH@Z @ 60 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewL(class MGlxMediaListProvider *, int, int) - ?ImageFileHandle@CGlxImageViewerManager@@QBEAAVRFile64@@XZ @ 61 NONAME ; class RFile64 & CGlxImageViewerManager::ImageFileHandle(void) const - ?NewL@CGlxCommandHandlerAiwPrintPreview@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 62 NONAME ; class CGlxCommandHandlerAiwPrintPreview * CGlxCommandHandlerAiwPrintPreview::NewL(class MGlxMediaListProvider *, int) - ?NewL@CGlxCommandHandlerSortOrder@@SAPAV1@PAVMGlxMediaListProvider@@K@Z @ 63 NONAME ; class CGlxCommandHandlerSortOrder * CGlxCommandHandlerSortOrder::NewL(class MGlxMediaListProvider *, unsigned long) - ?NewBackCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@XZ @ 64 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewBackCommandHandlerL(void) + ?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) + ?IncrementRefCount@CGlxImageViewerManager@@QAEXXZ @ 6 NONAME ; void CGlxImageViewerManager::IncrementRefCount(void) + ??0CGlxMediaListAdaptor@@QAE@PBVMGlxMediaList@@H@Z @ 7 NONAME ; CGlxMediaListAdaptor::CGlxMediaListAdaptor(class MGlxMediaList const *, int) + ?NewL@CGlxCommandHandlerUpload@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 8 NONAME ; class CGlxCommandHandlerUpload * CGlxCommandHandlerUpload::NewL(class MGlxMediaListProvider *, int) + ?NewL@CGlxCommandHandlerRename@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 9 NONAME ; class CGlxCommandHandlerRename * CGlxCommandHandlerRename::NewL(class MGlxMediaListProvider *, int) + ?NewL@CGlxCommandHandlerSend@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 10 NONAME ; class CGlxCommandHandlerSend * CGlxCommandHandlerSend::NewL(class MGlxMediaListProvider *, int) + ??1CGlxCommandHandlerUpload@@UAE@XZ @ 11 NONAME ; CGlxCommandHandlerUpload::~CGlxCommandHandlerUpload(void) + ??1CGlxCommandHandlerNewMedia@@UAE@XZ @ 12 NONAME ; CGlxCommandHandlerNewMedia::~CGlxCommandHandlerNewMedia(void) + ??1CGlxCommandHandlerSlideshow@@UAE@XZ @ 13 NONAME ; CGlxCommandHandlerSlideshow::~CGlxCommandHandlerSlideshow(void) + ?NewL@CGlxCommandHandlerAiwShowMap@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 14 NONAME ; class CGlxCommandHandlerAiwShowMap * CGlxCommandHandlerAiwShowMap::NewL(class MGlxMediaListProvider *, int) + ??1CGlxCommandHandlerSave@@UAE@XZ @ 15 NONAME ; CGlxCommandHandlerSave::~CGlxCommandHandlerSave(void) + ?NewL@CGlxCommandHandlerDelete@@SAPAV1@PAVMGlxMediaListProvider@@HH@Z @ 16 NONAME ; class CGlxCommandHandlerDelete * CGlxCommandHandlerDelete::NewL(class MGlxMediaListProvider *, int, int) + ??1CGlxCommandHandlerAddToContainer@@UAE@XZ @ 17 NONAME ; CGlxCommandHandlerAddToContainer::~CGlxCommandHandlerAddToContainer(void) + ??0CGlxMediaSelectionPopup@@QAE@XZ @ 18 NONAME ; CGlxMediaSelectionPopup::CGlxMediaSelectionPopup(void) + ?NewL@CGlxCommandHandlerRotate@@SAPAV1@PAVMGlxMediaListProvider@@PAVMGlxLayoutOwner@@H@Z @ 19 NONAME ; class CGlxCommandHandlerRotate * CGlxCommandHandlerRotate::NewL(class MGlxMediaListProvider *, class MGlxLayoutOwner *, int) + ?NewL@CGlxCommandHandlerNewMedia@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 20 NONAME ; class CGlxCommandHandlerNewMedia * CGlxCommandHandlerNewMedia::NewL(class MGlxMediaListProvider *) + ?ExecuteLD@CGlxMediaSelectionPopup@@QAEPAVCMPXCollectionPath@@AAV2@AAHHHPAVCMPXMedia@@@Z @ 21 NONAME ; class CMPXCollectionPath * CGlxMediaSelectionPopup::ExecuteLD(class CMPXCollectionPath &, int &, int, int, class CMPXMedia *) + ?NewL@CGlxCommandHandlerCopyAndMove@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 22 NONAME ; class CGlxCommandHandlerCopyAndMove * CGlxCommandHandlerCopyAndMove::NewL(class MGlxMediaListProvider *, int) + ?OkToExit@CGlxCommandHandlerNewMedia@@UBEHXZ @ 23 NONAME ; int CGlxCommandHandlerNewMedia::OkToExit(void) const + ??1CGlxCommandHandlerBack@@UAE@XZ @ 24 NONAME ; CGlxCommandHandlerBack::~CGlxCommandHandlerBack(void) + ?NewPreviousViewCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 25 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewPreviousViewCommandHandlerL(class MGlxMediaListProvider *) + ??1CGlxCommandHandlerCopyAndMove@@UAE@XZ @ 26 NONAME ; CGlxCommandHandlerCopyAndMove::~CGlxCommandHandlerCopyAndMove(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) + ?NewAddToTagCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 38 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToTagCommandHandlerL(class MGlxMediaListProvider *, int) + ?ImageUri@CGlxImageViewerManager@@QAEPAVHBufC16@@XZ @ 39 NONAME ; class HBufC16 * CGlxImageViewerManager::ImageUri(void) + ?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) + ??1CGlxCommandHandlerOpen@@UAE@XZ @ 44 NONAME ; CGlxCommandHandlerOpen::~CGlxCommandHandlerOpen(void) + ?NewL@CGlxCommandHandlerSlideshow@@SAPAV1@PAVMGlxMediaListProvider@@HH@Z @ 45 NONAME ; class CGlxCommandHandlerSlideshow * CGlxCommandHandlerSlideshow::NewL(class MGlxMediaListProvider *, int, int) + ?IsPrivate@CGlxImageViewerManager@@QAEHXZ @ 46 NONAME ; int CGlxImageViewerManager::IsPrivate(void) + ?NewL@CGlxCommandHandlerSave@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 47 NONAME ; class CGlxCommandHandlerSave * CGlxCommandHandlerSave::NewL(class MGlxMediaListProvider *, int) + ?NewL@CGlxCommandHandlerAiwShareOnOvi@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 48 NONAME ; class CGlxCommandHandlerAiwShareOnOvi * CGlxCommandHandlerAiwShareOnOvi::NewL(class MGlxMediaListProvider *, int) + ?NewAddToAlbumCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 49 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToAlbumCommandHandlerL(class MGlxMediaListProvider *, int) + ??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) + ?ImageFileHandle@CGlxImageViewerManager@@QBEAAVRFile64@@XZ @ 54 NONAME ; class RFile64 & CGlxImageViewerManager::ImageFileHandle(void) const + ?NewL@CGlxCommandHandlerDownload@@SAPAV1@XZ @ 55 NONAME ; class CGlxCommandHandlerDownload * CGlxCommandHandlerDownload::NewL(void) + ??1CGlxCommandHandlerHelp@@UAE@XZ @ 56 NONAME ; CGlxCommandHandlerHelp::~CGlxCommandHandlerHelp(void) + ?BypassFiltersForExecute@CGlxCommandHandlerNewMedia@@UBEHXZ @ 57 NONAME ; int CGlxCommandHandlerNewMedia::BypassFiltersForExecute(void) const + ?NewL@CGlxCommandHandlerRemoveFrom@@SAPAV1@PAVMGlxMediaListProvider@@W4TMPXGeneralCategory@@@Z @ 58 NONAME ; class CGlxCommandHandlerRemoveFrom * CGlxCommandHandlerRemoveFrom::NewL(class MGlxMediaListProvider *, enum TMPXGeneralCategory) + ?NewL@CGlxCommandHandlerDetails@@SAPAV1@PAVMGlxMediaListProvider@@@Z @ 59 NONAME ; class CGlxCommandHandlerDetails * CGlxCommandHandlerDetails::NewL(class MGlxMediaListProvider *) + ?NewL@CGlxCommandHandlerAiwPrintPreview@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 60 NONAME ; class CGlxCommandHandlerAiwPrintPreview * CGlxCommandHandlerAiwPrintPreview::NewL(class MGlxMediaListProvider *, int) + ?NewL@CGlxCommandHandlerSortOrder@@SAPAV1@PAVMGlxMediaListProvider@@K@Z @ 61 NONAME ; class CGlxCommandHandlerSortOrder * CGlxCommandHandlerSortOrder::NewL(class MGlxMediaListProvider *, unsigned long) + ?NewBackCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@XZ @ 62 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewBackCommandHandlerL(void) + ?NewL@CGlxCommandHandlerAiwEdit@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 63 NONAME ; class CGlxCommandHandlerAiwEdit * CGlxCommandHandlerAiwEdit::NewL(class MGlxMediaListProvider *, int) + ?NewContainerPreviousViewCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 64 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewContainerPreviousViewCommandHandlerL(class MGlxMediaListProvider *, int) ?NewAddToFavCommandHandlerL@CGlxCommandHandlerAddToContainer@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 65 NONAME ; class CGlxCommandHandlerAddToContainer * CGlxCommandHandlerAddToContainer::NewAddToFavCommandHandlerL(class MGlxMediaListProvider *, int) - ?NewContainerPreviousViewCommandHandlerL@CGlxCommandHandlerBack@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 66 NONAME ; class CGlxCommandHandlerBack * CGlxCommandHandlerBack::NewContainerPreviousViewCommandHandlerL(class MGlxMediaListProvider *, int) diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/commandhandlers/commoncommandhandlers/eabi/glxcommoncommandhandlersu.def --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/eabi/glxcommoncommandhandlersu.def Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/eabi/glxcommoncommandhandlersu.def Thu Jan 07 12:46:23 2010 +0200 @@ -25,53 +25,53 @@ _ZN22CGlxCommandHandlerSendD0Ev @ 24 NONAME _ZN22CGlxCommandHandlerSendD1Ev @ 25 NONAME _ZN22CGlxCommandHandlerSendD2Ev @ 26 NONAME - _ZN22CGlxImageViewerManager8ImageUriEv @ 27 NONAME - _ZN22CGlxImageViewerManager9IsPrivateEv @ 28 NONAME - _ZN23CGlxMediaSelectionPopup9ExecuteLDER18CMPXCollectionPathRiiiP9CMPXMedia @ 29 NONAME - _ZN23CGlxMediaSelectionPopupC1Ev @ 30 NONAME - _ZN23CGlxMediaSelectionPopupC2Ev @ 31 NONAME - _ZN24CGlxCommandHandlerDelete4NewLEP21MGlxMediaListProviderii @ 32 NONAME - _ZN24CGlxCommandHandlerDeleteD0Ev @ 33 NONAME - _ZN24CGlxCommandHandlerDeleteD1Ev @ 34 NONAME - _ZN24CGlxCommandHandlerDeleteD2Ev @ 35 NONAME - _ZN24CGlxCommandHandlerHideUi4NewLEv @ 36 NONAME - _ZN24CGlxCommandHandlerRename4NewLEP21MGlxMediaListProvideri @ 37 NONAME - _ZN24CGlxCommandHandlerRenameD0Ev @ 38 NONAME - _ZN24CGlxCommandHandlerRenameD1Ev @ 39 NONAME - _ZN24CGlxCommandHandlerRenameD2Ev @ 40 NONAME - _ZN24CGlxCommandHandlerRotate4NewLEP21MGlxMediaListProviderP15MGlxLayoutOwneri @ 41 NONAME - _ZN24CGlxCommandHandlerUpload4NewLEP21MGlxMediaListProvideri @ 42 NONAME - _ZN24CGlxCommandHandlerUploadD0Ev @ 43 NONAME - _ZN24CGlxCommandHandlerUploadD1Ev @ 44 NONAME - _ZN24CGlxCommandHandlerUploadD2Ev @ 45 NONAME - _ZN25CGlxCommandHandlerAiwEdit4NewLEP21MGlxMediaListProvideri @ 46 NONAME - _ZN25CGlxCommandHandlerDetails4NewLEP21MGlxMediaListProvider @ 47 NONAME - _ZN25CGlxCommandHandlerDetailsD0Ev @ 48 NONAME - _ZN25CGlxCommandHandlerDetailsD1Ev @ 49 NONAME - _ZN25CGlxCommandHandlerDetailsD2Ev @ 50 NONAME - _ZN26CGlxCommandHandlerDownload4NewLEv @ 51 NONAME - _ZN26CGlxCommandHandlerDownloadD0Ev @ 52 NONAME - _ZN26CGlxCommandHandlerDownloadD1Ev @ 53 NONAME - _ZN26CGlxCommandHandlerDownloadD2Ev @ 54 NONAME - _ZN26CGlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 55 NONAME - _ZN26CGlxCommandHandlerNewMedia4NewLEP21MGlxMediaListProvider @ 56 NONAME - _ZN26CGlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaId @ 57 NONAME - _ZN26CGlxCommandHandlerNewMediaD0Ev @ 58 NONAME - _ZN26CGlxCommandHandlerNewMediaD1Ev @ 59 NONAME - _ZN26CGlxCommandHandlerNewMediaD2Ev @ 60 NONAME - _ZN27CGlxCommandHandlerAiwAssign4NewLEP21MGlxMediaListProvideri @ 61 NONAME - _ZN27CGlxCommandHandlerSlideshow4NewLEP21MGlxMediaListProviderii @ 62 NONAME - _ZN27CGlxCommandHandlerSlideshowD0Ev @ 63 NONAME - _ZN27CGlxCommandHandlerSlideshowD1Ev @ 64 NONAME - _ZN27CGlxCommandHandlerSlideshowD2Ev @ 65 NONAME - _ZN27CGlxCommandHandlerSortOrder4NewLEP21MGlxMediaListProviderm @ 66 NONAME - _ZN27CGlxCommandHandlerSortOrderD0Ev @ 67 NONAME - _ZN27CGlxCommandHandlerSortOrderD1Ev @ 68 NONAME - _ZN27CGlxCommandHandlerSortOrderD2Ev @ 69 NONAME - _ZN28CGlxCommandHandlerAiwShowMap4NewLEP21MGlxMediaListProvideri @ 70 NONAME - _ZN28CGlxCommandHandlerRemoveFrom14SetContainerIdE11TGlxMediaId @ 71 NONAME - _ZN28CGlxCommandHandlerRemoveFrom28NewRemFromFavCommandHandlerLEP21MGlxMediaListProvider @ 72 NONAME - _ZN28CGlxCommandHandlerRemoveFrom4NewLEP21MGlxMediaListProvider19TMPXGeneralCategoryi @ 73 NONAME + _ZN22CGlxImageViewerManager17IncrementRefCountEv @ 27 NONAME + _ZN22CGlxImageViewerManager8ImageUriEv @ 28 NONAME + _ZN22CGlxImageViewerManager9IsPrivateEv @ 29 NONAME + _ZN23CGlxMediaSelectionPopup9ExecuteLDER18CMPXCollectionPathRiiiP9CMPXMedia @ 30 NONAME + _ZN23CGlxMediaSelectionPopupC1Ev @ 31 NONAME + _ZN23CGlxMediaSelectionPopupC2Ev @ 32 NONAME + _ZN24CGlxCommandHandlerDelete4NewLEP21MGlxMediaListProviderii @ 33 NONAME + _ZN24CGlxCommandHandlerDeleteD0Ev @ 34 NONAME + _ZN24CGlxCommandHandlerDeleteD1Ev @ 35 NONAME + _ZN24CGlxCommandHandlerDeleteD2Ev @ 36 NONAME + _ZN24CGlxCommandHandlerHideUi4NewLEv @ 37 NONAME + _ZN24CGlxCommandHandlerRename4NewLEP21MGlxMediaListProvideri @ 38 NONAME + _ZN24CGlxCommandHandlerRenameD0Ev @ 39 NONAME + _ZN24CGlxCommandHandlerRenameD1Ev @ 40 NONAME + _ZN24CGlxCommandHandlerRenameD2Ev @ 41 NONAME + _ZN24CGlxCommandHandlerRotate4NewLEP21MGlxMediaListProviderP15MGlxLayoutOwneri @ 42 NONAME + _ZN24CGlxCommandHandlerUpload4NewLEP21MGlxMediaListProvideri @ 43 NONAME + _ZN24CGlxCommandHandlerUploadD0Ev @ 44 NONAME + _ZN24CGlxCommandHandlerUploadD1Ev @ 45 NONAME + _ZN24CGlxCommandHandlerUploadD2Ev @ 46 NONAME + _ZN25CGlxCommandHandlerAiwEdit4NewLEP21MGlxMediaListProvideri @ 47 NONAME + _ZN25CGlxCommandHandlerDetails4NewLEP21MGlxMediaListProvider @ 48 NONAME + _ZN25CGlxCommandHandlerDetailsD0Ev @ 49 NONAME + _ZN25CGlxCommandHandlerDetailsD1Ev @ 50 NONAME + _ZN25CGlxCommandHandlerDetailsD2Ev @ 51 NONAME + _ZN26CGlxCommandHandlerDownload4NewLEv @ 52 NONAME + _ZN26CGlxCommandHandlerDownloadD0Ev @ 53 NONAME + _ZN26CGlxCommandHandlerDownloadD1Ev @ 54 NONAME + _ZN26CGlxCommandHandlerDownloadD2Ev @ 55 NONAME + _ZN26CGlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 56 NONAME + _ZN26CGlxCommandHandlerNewMedia4NewLEP21MGlxMediaListProvider @ 57 NONAME + _ZN26CGlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaId @ 58 NONAME + _ZN26CGlxCommandHandlerNewMediaD0Ev @ 59 NONAME + _ZN26CGlxCommandHandlerNewMediaD1Ev @ 60 NONAME + _ZN26CGlxCommandHandlerNewMediaD2Ev @ 61 NONAME + _ZN27CGlxCommandHandlerAiwAssign4NewLEP21MGlxMediaListProvideri @ 62 NONAME + _ZN27CGlxCommandHandlerSlideshow4NewLEP21MGlxMediaListProviderii @ 63 NONAME + _ZN27CGlxCommandHandlerSlideshowD0Ev @ 64 NONAME + _ZN27CGlxCommandHandlerSlideshowD1Ev @ 65 NONAME + _ZN27CGlxCommandHandlerSlideshowD2Ev @ 66 NONAME + _ZN27CGlxCommandHandlerSortOrder4NewLEP21MGlxMediaListProviderm @ 67 NONAME + _ZN27CGlxCommandHandlerSortOrderD0Ev @ 68 NONAME + _ZN27CGlxCommandHandlerSortOrderD1Ev @ 69 NONAME + _ZN27CGlxCommandHandlerSortOrderD2Ev @ 70 NONAME + _ZN28CGlxCommandHandlerAiwShowMap4NewLEP21MGlxMediaListProvideri @ 71 NONAME + _ZN28CGlxCommandHandlerRemoveFrom14SetContainerIdE11TGlxMediaId @ 72 NONAME + _ZN28CGlxCommandHandlerRemoveFrom4NewLEP21MGlxMediaListProvider19TMPXGeneralCategory @ 73 NONAME _ZN28CGlxCommandHandlerRemoveFromD0Ev @ 74 NONAME _ZN28CGlxCommandHandlerRemoveFromD1Ev @ 75 NONAME _ZN28CGlxCommandHandlerRemoveFromD2Ev @ 76 NONAME @@ -100,9 +100,10 @@ _ZN38CGlxSingleGraphicPopupMenuStyleListBox14OfferKeyEventLERK9TKeyEvent10TEventCode @ 99 NONAME _ZNK20CGlxMediaListAdaptor9MdcaCountEv @ 100 NONAME _ZNK20CGlxMediaListAdaptor9MdcaPointEi @ 101 NONAME - _ZNK26CGlxCommandHandlerNewMedia23BypassFiltersForExecuteEv @ 102 NONAME - _ZNK26CGlxCommandHandlerNewMedia8OkToExitEv @ 103 NONAME - _ZThn48_N26CGlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 104 NONAME - _ZThn4_NK20CGlxMediaListAdaptor9MdcaCountEv @ 105 NONAME - _ZThn4_NK20CGlxMediaListAdaptor9MdcaPointEi @ 106 NONAME + _ZNK22CGlxImageViewerManager15ImageFileHandleEv @ 102 NONAME + _ZNK26CGlxCommandHandlerNewMedia23BypassFiltersForExecuteEv @ 103 NONAME + _ZNK26CGlxCommandHandlerNewMedia8OkToExitEv @ 104 NONAME + _ZThn48_N26CGlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 105 NONAME + _ZThn4_NK20CGlxMediaListAdaptor9MdcaCountEv @ 106 NONAME + _ZThn4_NK20CGlxMediaListAdaptor9MdcaPointEi @ 107 NONAME diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerremovefrom.h --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerremovefrom.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerremovefrom.h Thu Jan 07 12:46:23 2010 +0200 @@ -48,17 +48,8 @@ * unsupported types. */ IMPORT_C static CGlxCommandHandlerRemoveFrom* NewL( - MGlxMediaListProvider* aMediaListProvider, - TMPXGeneralCategory aContainerType, TInt aCommandId = NULL); + MGlxMediaListProvider* aMediaListProvider, TMPXGeneralCategory aContainerType); - /** - * Create remove (from) Favourites command handler - * @param aMediaListProvider object that provides the media list. - */ - IMPORT_C static CGlxCommandHandlerRemoveFrom* NewRemFromFavCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider); - - /** Destructor */ IMPORT_C ~CGlxCommandHandlerRemoveFrom(); @@ -79,15 +70,13 @@ /** See CGlxMpxCommandCommandHandler::ConfirmationTextL */ virtual HBufC* ConfirmationTextL(TInt aCommandId, TBool aMultiSelection) const; - virtual HBufC* CompletionTextL() const; - protected: // from CGlxCommandHandler /** See @ref CGlxCommandHandler::DoActivateL */ void DoActivateL(TInt /*aViewId*/); private: /** Second phase constructor */ - void ConstructL(TInt aCommandId); + void ConstructL(); /** Constructor */ CGlxCommandHandlerRemoveFrom(MGlxMediaListProvider* aMediaListProvider, TMPXGeneralCategory aContainerType); @@ -97,7 +86,6 @@ TInt iResourceOffset; TGlxMediaId iRemoveFromContainerId; TMPXGeneralCategory iContainerType; - TInt iCommandId; }; #endif // __C_GLXCOMMANDHANDLERREMOVEFROM_H__ diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -199,25 +200,36 @@ break; } case EGlxCmdPreviousView: - { - GLX_LOG_INFO("CGlxCommandHandlerBack::ExecuteL::Go back \ - to the previous view"); - if (!(iNavigationalState->BackExitStatus())) - { - if(iAppUi) - { - iAppUi->ProcessCommandL(EAknSoftkeyExit); - } - } - if( iIsViewActivated ) - { - iIsViewActivated = EFalse; - iNavigationalState->ActivatePreviousViewL(); - - } - consume = ETrue; - break; - } + { + GLX_LOG_INFO("CGlxCommandHandlerBack::ExecuteL::Go back \ + to the previous view"); + CMPXCollectionPath* path = iNavigationalState->StateLC(); + if (path->Id() == TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid)) + { + if(iAppUi) + { + iAppUi->ProcessCommandL(EAknSoftkeyExit); + } + } + else + { + if (!(iNavigationalState->BackExitStatus())) + { + if(iAppUi) + { + iAppUi->ProcessCommandL(EAknSoftkeyExit); + } + } + if( iIsViewActivated ) + { + iIsViewActivated = EFalse; + iNavigationalState->ActivatePreviousViewL(); + } + } + CleanupStack::PopAndDestroy( path ); + consume = ETrue; + break; + } case EGlxCmdContainerPreviousView: { diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -37,30 +37,15 @@ #include "glxcommandfactory.h" // --------------------------------------------------------------------------- -// Return add (to) tags command handler -// --------------------------------------------------------------------------- -// -EXPORT_C CGlxCommandHandlerRemoveFrom* - CGlxCommandHandlerRemoveFrom::NewRemFromFavCommandHandlerL( - MGlxMediaListProvider* aMediaListProvider) - { - return CGlxCommandHandlerRemoveFrom::NewL(aMediaListProvider, - EMPXAlbum, EGlxCmdRemoveFromFavourites); - } - - -// --------------------------------------------------------------------------- // Two-phased constructor. // --------------------------------------------------------------------------- // EXPORT_C CGlxCommandHandlerRemoveFrom* CGlxCommandHandlerRemoveFrom::NewL( - MGlxMediaListProvider* aMediaListProvider, TMPXGeneralCategory aContainerType, - TInt aCommandId) + MGlxMediaListProvider* aMediaListProvider, TMPXGeneralCategory aContainerType) { - CGlxCommandHandlerRemoveFrom* self = new (ELeave) CGlxCommandHandlerRemoveFrom( - aMediaListProvider, aContainerType); + CGlxCommandHandlerRemoveFrom* self = new (ELeave) CGlxCommandHandlerRemoveFrom(aMediaListProvider, aContainerType); CleanupStack::PushL(self); - self->ConstructL(aCommandId); + self->ConstructL(); CleanupStack::Pop(self); return self; } @@ -70,9 +55,8 @@ // might leave. // --------------------------------------------------------------------------- // -CGlxCommandHandlerRemoveFrom::CGlxCommandHandlerRemoveFrom(MGlxMediaListProvider* - aMediaListProvider, TMPXGeneralCategory aContainerType): - CGlxMpxCommandCommandHandler(aMediaListProvider), iContainerType(aContainerType) +CGlxCommandHandlerRemoveFrom::CGlxCommandHandlerRemoveFrom(MGlxMediaListProvider* aMediaListProvider, TMPXGeneralCategory aContainerType) + : CGlxMpxCommandCommandHandler(aMediaListProvider), iContainerType(aContainerType) { // Do nothing } @@ -81,7 +65,7 @@ // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void CGlxCommandHandlerRemoveFrom::ConstructL(TInt aCommandId) +void CGlxCommandHandlerRemoveFrom::ConstructL() { // Load resource file TParse parse; @@ -97,15 +81,6 @@ info.iMinSelectionLength = 1; info.iMaxSelectionLength = KMaxTInt; AddCommandL(info); - - // Add Remove From Favourites Command - TCommandInfo removeFav(EGlxCmdRemoveFromFavourites); - removeFav.iMinSelectionLength = 1; - removeFav.iMaxSelectionLength = 1; - AddCommandL(removeFav); - - // Store this value to show the correct Text - iCommandId = aCommandId; } // --------------------------------------------------------------------------- @@ -133,62 +108,37 @@ // Create an add to container command // --------------------------------------------------------------------------- // -CMPXCommand* CGlxCommandHandlerRemoveFrom::CreateCommandL(TInt aCommandId, +CMPXCommand* CGlxCommandHandlerRemoveFrom::CreateCommandL(TInt /*aCommandId*/, MGlxMediaList& aMediaList, TBool& /*aConsume*/) const { CMPXCollectionPath* path = aMediaList.PathLC(); + CMPXCommand* command = NULL; - if (aCommandId == EGlxCmdRemoveFromFavourites) - { - // Hardcoding this to the favourites - TGlxMediaId favId(1); - - command = TGlxCommandFactory::RemoveFromContainerCommandLC(favId, *path); - } + if (iRemoveFromContainerId == KGlxIdNone) + { + command = TGlxCommandFactory::RemoveFromContainerCommandLC(*path); + } else - { - if (iRemoveFromContainerId == KGlxIdNone) - { - command = TGlxCommandFactory::RemoveFromContainerCommandLC(*path); - } - else - { - command = TGlxCommandFactory::RemoveFromContainerCommandLC(iRemoveFromContainerId, *path); - } - } + { + command = TGlxCommandFactory::RemoveFromContainerCommandLC(iRemoveFromContainerId, *path); + } CleanupStack::Pop(command); CleanupStack::PopAndDestroy(path); return command; } // ----------------------------------------------------------------------------- -// CGlxCommandHandlerAddToFavourites::CompletionTextL -// ----------------------------------------------------------------------------- -// -HBufC* CGlxCommandHandlerRemoveFrom::CompletionTextL() const - { - HBufC* text = NULL; - if (iCommandId == EGlxCmdRemoveFromFavourites) - { - text = StringLoader::LoadL(R_GLX_COMPLETION_REM_FROM_FAVOURITES); - } - return text; - } - - -// ----------------------------------------------------------------------------- // Return confirmation string // ----------------------------------------------------------------------------- // -HBufC* CGlxCommandHandlerRemoveFrom::ConfirmationTextL(TInt aCommandId, +HBufC* CGlxCommandHandlerRemoveFrom::ConfirmationTextL(TInt /*aCommandId*/, TBool aMultiSelection) const { - HBufC* text = NULL; - if (EGlxCmdRemoveFromFavourites != aCommandId) - { - switch (iContainerType) - { - case EMPXAlbum: + HBufC* text = NULL; + switch (iContainerType) + { +/// @todo Rowland Cook 08/06/07 Check the indenting is correct here + case EMPXAlbum: if (aMultiSelection) { text = StringLoader::LoadL(R_GLX_CONFIRMATION_REMOVE_ITEMS_ALBUM); @@ -208,9 +158,8 @@ text = StringLoader::LoadL(R_GLX_CONFIRMATION_REMOVE_NAME_TAG); } break; - default: break; // return NULL - } - } + default: break; // return NULL + } return text; } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxmediaselectionpopup.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxmediaselectionpopup.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxmediaselectionpopup.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -197,6 +197,7 @@ switch(aEventType) { case EEventItemClicked : + case EEventItemSingleClicked : { CGlxMediaListAdaptor* mediaListAdaptor = static_cast (Model()->ItemTextArray()); if (mediaListAdaptor->MultiSelectionEnabled() && View()->CurrentItemIndex() >= 0 ) diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/dataprovider/bwins/glxdataprovideru.def --- a/photosgallery/viewframework/dataprovider/bwins/glxdataprovideru.def Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/dataprovider/bwins/glxdataprovideru.def Thu Jan 07 12:46:23 2010 +0200 @@ -1,39 +1,40 @@ EXPORTS - ??0TGlxMulBindingSetFactory@@IAE@XZ @ 1 NONAME ; TGlxMulBindingSetFactory::TGlxMulBindingSetFactory(void) - ??1CGlxDetailsMulModelProvider@@UAE@XZ @ 2 NONAME ; CGlxDetailsMulModelProvider::~CGlxDetailsMulModelProvider(void) - ??1CGlxMediaListMulModelProvider@@UAE@XZ @ 3 NONAME ; CGlxMediaListMulModelProvider::~CGlxMediaListMulModelProvider(void) - ??1TGlxMulBindingSetFactory@@MAE@XZ @ 4 NONAME ; TGlxMulBindingSetFactory::~TGlxMulBindingSetFactory(void) - ?AddCommandBindingL@TGlxMulBindingSetFactory@@IBEXPAVMGlxBoundCommand@@@Z @ 5 NONAME ; void TGlxMulBindingSetFactory::AddCommandBindingL(class MGlxBoundCommand *) const - ?AddContainerListBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@ABVCMPXCollectionPath@@@Z @ 6 NONAME ; void TGlxMulBindingSetFactory::AddContainerListBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, class CMPXCollectionPath const &) const - ?AddEntryL@CGlxDetailsMulModelProvider@@QAEXABVTGlxMulBindingSetFactory@@@Z @ 7 NONAME ; void CGlxDetailsMulModelProvider::AddEntryL(class TGlxMulBindingSetFactory const &) - ?AddFullScreenThumbnailBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@@Z @ 8 NONAME ; void TGlxMulBindingSetFactory::AddFullScreenThumbnailBindingL(enum Alf::mulvisualitem::TVisualAttribute const &) const - ?AddIconBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@PBVCGlxMulIconProvider@@ABVTSize@@@Z @ 9 NONAME ; void TGlxMulBindingSetFactory::AddIconBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, class CGlxMulIconProvider const *, class TSize const &) const - ?AddMpxAttributeBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@ABVTMPXAttribute@@H@Z @ 10 NONAME ; void TGlxMulBindingSetFactory::AddMpxAttributeBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, class TMPXAttribute const &, int) const + ?NewL@CGlxResolutionBoundCommand@@SAPAV1@XZ @ 1 NONAME ; class CGlxResolutionBoundCommand * CGlxResolutionBoundCommand::NewL(void) + ?NewL@CGlxDurationBoundCommand@@SAPAV1@XZ @ 2 NONAME ; class CGlxDurationBoundCommand * CGlxDurationBoundCommand::NewL(void) + ?NewL@CGlxAlbumsBoundCommand@@SAPAV1@XZ @ 3 NONAME ; class CGlxAlbumsBoundCommand * CGlxAlbumsBoundCommand::NewL(void) + ?OfferCommandL@CGlxDetailsMulModelProvider@@QAEHH@Z @ 4 NONAME ; int CGlxDetailsMulModelProvider::OfferCommandL(int) + ?SetDetailsDailogObserver@CGlxDetailsMulModelProvider@@QAEXAAVMGlxMetadataDialogObserver@@@Z @ 5 NONAME ; void CGlxDetailsMulModelProvider::SetDetailsDailogObserver(class MGlxMetadataDialogObserver &) + ?InitMenuL@CGlxDetailsMulModelProvider@@QAEXAAVCEikMenuPane@@@Z @ 6 NONAME ; void CGlxDetailsMulModelProvider::InitMenuL(class CEikMenuPane &) + ?NewL@CGlxUsageRightsBoundCommand@@SAPAV1@XZ @ 7 NONAME ; class CGlxUsageRightsBoundCommand * CGlxUsageRightsBoundCommand::NewL(void) + ?NewL@CGlxTagsBoundCommand@@SAPAV1@XZ @ 8 NONAME ; class CGlxTagsBoundCommand * CGlxTagsBoundCommand::NewL(void) + ?AddContainerListBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@ABVCMPXCollectionPath@@@Z @ 9 NONAME ; void TGlxMulBindingSetFactory::AddContainerListBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, class CMPXCollectionPath const &) const + ?NewL@CGlxLocationBoundCommand@@SAPAV1@XZ @ 10 NONAME ; class CGlxLocationBoundCommand * CGlxLocationBoundCommand::NewL(void) ?AddPreviewThumbnailBindingL@TGlxMulBindingSetFactory@@IBEXXZ @ 11 NONAME ; void TGlxMulBindingSetFactory::AddPreviewThumbnailBindingL(void) const - ?AddStringBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@H@Z @ 12 NONAME ; void TGlxMulBindingSetFactory::AddStringBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, int) const - ?AddTemplateBindingL@TGlxMulBindingSetFactory@@IBEXW4TLogicalTemplate@mulwidget@Alf@@0@Z @ 13 NONAME ; void TGlxMulBindingSetFactory::AddTemplateBindingL(enum Alf::mulwidget::TLogicalTemplate, enum Alf::mulwidget::TLogicalTemplate) const - ?AddThumbnailBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@ABVTSize@@@Z @ 14 NONAME ; void TGlxMulBindingSetFactory::AddThumbnailBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, class TSize const &) const - ?EnableMskL@CGlxDetailsMulModelProvider@@QAEXXZ @ 15 NONAME ; void CGlxDetailsMulModelProvider::EnableMskL(void) - ?HideLocationMenuItem@CGlxDetailsMulModelProvider@@QAEXAAVCEikMenuPane@@@Z @ 16 NONAME ; void CGlxDetailsMulModelProvider::HideLocationMenuItem(class CEikMenuPane &) - ?InitMenuL@CGlxDetailsMulModelProvider@@QAEXAAVCEikMenuPane@@@Z @ 17 NONAME ; void CGlxDetailsMulModelProvider::InitMenuL(class CEikMenuPane &) - ?NewL@CGlxAlbumsBoundCommand@@SAPAV1@XZ @ 18 NONAME ; class CGlxAlbumsBoundCommand * CGlxAlbumsBoundCommand::NewL(void) - ?NewL@CGlxAttributeRequirements@@SAPAV1@AAVMGlxMediaList@@@Z @ 19 NONAME ; class CGlxAttributeRequirements * CGlxAttributeRequirements::NewL(class MGlxMediaList &) - ?NewL@CGlxDateAndTimeBoundCommand@@SAPAV1@XZ @ 20 NONAME ; class CGlxDateAndTimeBoundCommand * CGlxDateAndTimeBoundCommand::NewL(void) - ?NewL@CGlxDescriptionBoundCommand@@SAPAV1@XZ @ 21 NONAME ; class CGlxDescriptionBoundCommand * CGlxDescriptionBoundCommand::NewL(void) - ?NewL@CGlxDetailsMulModelProvider@@SAPAV1@AAVCAlfEnv@@AAVIMulWidget@Alf@@AAVMGlxMediaList@@W4TLogicalTemplate@mulwidget@4@H@Z @ 22 NONAME ; class CGlxDetailsMulModelProvider * CGlxDetailsMulModelProvider::NewL(class CAlfEnv &, class Alf::IMulWidget &, class MGlxMediaList &, enum Alf::mulwidget::TLogicalTemplate, int) - ?NewL@CGlxDurationBoundCommand@@SAPAV1@XZ @ 23 NONAME ; class CGlxDurationBoundCommand * CGlxDurationBoundCommand::NewL(void) - ?NewL@CGlxFileSizeBoundCommand@@SAPAV1@XZ @ 24 NONAME ; class CGlxFileSizeBoundCommand * CGlxFileSizeBoundCommand::NewL(void) - ?NewL@CGlxLocationBoundCommand@@SAPAV1@XZ @ 25 NONAME ; class CGlxLocationBoundCommand * CGlxLocationBoundCommand::NewL(void) - ?NewL@CGlxMediaListMulModelProvider@@SAPAV1@AAVCAlfEnv@@AAVIMulWidget@Alf@@AAVMGlxMediaList@@ABVTGlxMulBindingSetFactory@@W4TLogicalTemplate@mulwidget@4@H@Z @ 26 NONAME ; class CGlxMediaListMulModelProvider * CGlxMediaListMulModelProvider::NewL(class CAlfEnv &, class Alf::IMulWidget &, class MGlxMediaList &, class TGlxMulBindingSetFactory const &, enum Alf::mulwidget::TLogicalTemplate, int) - ?NewL@CGlxMulDRMIconProvider@@SAPAV1@XZ @ 27 NONAME ; class CGlxMulDRMIconProvider * CGlxMulDRMIconProvider::NewL(void) - ?NewL@CGlxMulDriveIconProvider@@SAPAV1@XZ @ 28 NONAME ; class CGlxMulDriveIconProvider * CGlxMulDriveIconProvider::NewL(void) + ?UpdateItems@CGlxMediaListMulModelProvider@@QAEXHH@Z @ 12 NONAME ; void CGlxMediaListMulModelProvider::UpdateItems(int, int) + ?AddEntryL@CGlxDetailsMulModelProvider@@QAEXABVTGlxMulBindingSetFactory@@@Z @ 13 NONAME ; void CGlxDetailsMulModelProvider::AddEntryL(class TGlxMulBindingSetFactory const &) + ??1TGlxMulBindingSetFactory@@MAE@XZ @ 14 NONAME ; TGlxMulBindingSetFactory::~TGlxMulBindingSetFactory(void) + ?NewL@CGlxMulDRMIconProvider@@SAPAV1@XZ @ 15 NONAME ; class CGlxMulDRMIconProvider * CGlxMulDRMIconProvider::NewL(void) + ?NewL@CGlxTitleBoundCommand@@SAPAV1@XZ @ 16 NONAME ; class CGlxTitleBoundCommand * CGlxTitleBoundCommand::NewL(void) + ?AddStringBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@H@Z @ 17 NONAME ; void TGlxMulBindingSetFactory::AddStringBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, int) const + ?AddMpxAttributeBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@ABVTMPXAttribute@@H@Z @ 18 NONAME ; void TGlxMulBindingSetFactory::AddMpxAttributeBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, class TMPXAttribute const &, int) const + ??0TGlxMulBindingSetFactory@@IAE@XZ @ 19 NONAME ; TGlxMulBindingSetFactory::TGlxMulBindingSetFactory(void) + ??1CGlxDetailsMulModelProvider@@UAE@XZ @ 20 NONAME ; CGlxDetailsMulModelProvider::~CGlxDetailsMulModelProvider(void) + ??1CGlxMediaListMulModelProvider@@UAE@XZ @ 21 NONAME ; CGlxMediaListMulModelProvider::~CGlxMediaListMulModelProvider(void) + ?NewL@CGlxMediaListMulModelProvider@@SAPAV1@AAVCAlfEnv@@AAVIMulWidget@Alf@@AAVMGlxMediaList@@ABVTGlxMulBindingSetFactory@@W4TLogicalTemplate@mulwidget@4@H@Z @ 22 NONAME ; class CGlxMediaListMulModelProvider * CGlxMediaListMulModelProvider::NewL(class CAlfEnv &, class Alf::IMulWidget &, class MGlxMediaList &, class TGlxMulBindingSetFactory const &, enum Alf::mulwidget::TLogicalTemplate, int) + ?HideLocationMenuItem@CGlxDetailsMulModelProvider@@QAEXAAVCEikMenuPane@@@Z @ 23 NONAME ; void CGlxDetailsMulModelProvider::HideLocationMenuItem(class CEikMenuPane &) + ?NewL@CGlxDescriptionBoundCommand@@SAPAV1@XZ @ 24 NONAME ; class CGlxDescriptionBoundCommand * CGlxDescriptionBoundCommand::NewL(void) + ?AddFullScreenThumbnailBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@@Z @ 25 NONAME ; void TGlxMulBindingSetFactory::AddFullScreenThumbnailBindingL(enum Alf::mulvisualitem::TVisualAttribute const &) const + ?AddIconBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@PBVCGlxMulIconProvider@@ABVTSize@@@Z @ 26 NONAME ; void TGlxMulBindingSetFactory::AddIconBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, class CGlxMulIconProvider const *, class TSize const &) const + ?NewL@CGlxAttributeRequirements@@SAPAV1@AAVMGlxMediaList@@@Z @ 27 NONAME ; class CGlxAttributeRequirements * CGlxAttributeRequirements::NewL(class MGlxMediaList &) + ?EnableMskL@CGlxDetailsMulModelProvider@@QAEXXZ @ 28 NONAME ; void CGlxDetailsMulModelProvider::EnableMskL(void) ?NewL@CGlxMulLocationIconProvider@@SAPAV1@XZ @ 29 NONAME ; class CGlxMulLocationIconProvider * CGlxMulLocationIconProvider::NewL(void) - ?NewL@CGlxMulStaticIconProvider@@SAPAV1@H@Z @ 30 NONAME ; class CGlxMulStaticIconProvider * CGlxMulStaticIconProvider::NewL(int) - ?NewL@CGlxMulVideoIconProvider@@SAPAV1@H@Z @ 31 NONAME ; class CGlxMulVideoIconProvider * CGlxMulVideoIconProvider::NewL(int) - ?NewL@CGlxResolutionBoundCommand@@SAPAV1@XZ @ 32 NONAME ; class CGlxResolutionBoundCommand * CGlxResolutionBoundCommand::NewL(void) - ?NewL@CGlxTagsBoundCommand@@SAPAV1@XZ @ 33 NONAME ; class CGlxTagsBoundCommand * CGlxTagsBoundCommand::NewL(void) - ?NewL@CGlxTitleBoundCommand@@SAPAV1@XZ @ 34 NONAME ; class CGlxTitleBoundCommand * CGlxTitleBoundCommand::NewL(void) - ?NewL@CGlxUsageRightsBoundCommand@@SAPAV1@XZ @ 35 NONAME ; class CGlxUsageRightsBoundCommand * CGlxUsageRightsBoundCommand::NewL(void) - ?OfferCommandL@CGlxDetailsMulModelProvider@@QAEHH@Z @ 36 NONAME ; int CGlxDetailsMulModelProvider::OfferCommandL(int) - ?SetDetailsDailogObserver@CGlxDetailsMulModelProvider@@QAEXAAVMGlxMetadataDialogObserver@@@Z @ 37 NONAME ; void CGlxDetailsMulModelProvider::SetDetailsDailogObserver(class MGlxMetadataDialogObserver &) + ?AddCommandBindingL@TGlxMulBindingSetFactory@@IBEXPAVMGlxBoundCommand@@@Z @ 30 NONAME ; void TGlxMulBindingSetFactory::AddCommandBindingL(class MGlxBoundCommand *) const + ?NewL@CGlxDateAndTimeBoundCommand@@SAPAV1@XZ @ 31 NONAME ; class CGlxDateAndTimeBoundCommand * CGlxDateAndTimeBoundCommand::NewL(void) + ?AddTemplateBindingL@TGlxMulBindingSetFactory@@IBEXW4TLogicalTemplate@mulwidget@Alf@@0@Z @ 32 NONAME ; void TGlxMulBindingSetFactory::AddTemplateBindingL(enum Alf::mulwidget::TLogicalTemplate, enum Alf::mulwidget::TLogicalTemplate) const + ?NewL@CGlxFileSizeBoundCommand@@SAPAV1@XZ @ 33 NONAME ; class CGlxFileSizeBoundCommand * CGlxFileSizeBoundCommand::NewL(void) + ?NewL@CGlxMulStaticIconProvider@@SAPAV1@H@Z @ 34 NONAME ; class CGlxMulStaticIconProvider * CGlxMulStaticIconProvider::NewL(int) + ?NewL@CGlxMulVideoIconProvider@@SAPAV1@H@Z @ 35 NONAME ; class CGlxMulVideoIconProvider * CGlxMulVideoIconProvider::NewL(int) + ?AddThumbnailBindingL@TGlxMulBindingSetFactory@@IBEXABW4TVisualAttribute@mulvisualitem@Alf@@ABVTSize@@@Z @ 36 NONAME ; void TGlxMulBindingSetFactory::AddThumbnailBindingL(enum Alf::mulvisualitem::TVisualAttribute const &, class TSize const &) const + ?NewL@CGlxMulDriveIconProvider@@SAPAV1@XZ @ 37 NONAME ; class CGlxMulDriveIconProvider * CGlxMulDriveIconProvider::NewL(void) + ?NewL@CGlxDetailsMulModelProvider@@SAPAV1@AAVCAlfEnv@@AAVIMulWidget@Alf@@AAVMGlxMediaList@@W4TLogicalTemplate@mulwidget@4@H@Z @ 38 NONAME ; class CGlxDetailsMulModelProvider * CGlxDetailsMulModelProvider::NewL(class CAlfEnv &, class Alf::IMulWidget &, class MGlxMediaList &, enum Alf::mulwidget::TLogicalTemplate, int) diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/dataprovider/eabi/glxdataprovideru.def --- a/photosgallery/viewframework/dataprovider/eabi/glxdataprovideru.def Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/dataprovider/eabi/glxdataprovideru.def Thu Jan 07 12:46:23 2010 +0200 @@ -29,18 +29,19 @@ _ZN27CGlxDetailsMulModelProviderD2Ev @ 28 NONAME _ZN27CGlxMulLocationIconProvider4NewLEv @ 29 NONAME _ZN27CGlxUsageRightsBoundCommand4NewLEv @ 30 NONAME - _ZN29CGlxMediaListMulModelProvider4NewLER7CAlfEnvRN3Alf10IMulWidgetER13MGlxMediaListRK24TGlxMulBindingSetFactoryNS2_9mulwidget16TLogicalTemplateEi @ 31 NONAME - _ZNK24TGlxMulBindingSetFactory15AddIconBindingLERKN3Alf13mulvisualitem16TVisualAttributeEPK19CGlxMulIconProviderRK5TSize @ 32 NONAME - _ZNK24TGlxMulBindingSetFactory17AddStringBindingLERKN3Alf13mulvisualitem16TVisualAttributeEi @ 33 NONAME - _ZNK24TGlxMulBindingSetFactory18AddCommandBindingLEP16MGlxBoundCommand @ 34 NONAME - _ZNK24TGlxMulBindingSetFactory19AddTemplateBindingLEN3Alf9mulwidget16TLogicalTemplateES2_ @ 35 NONAME - _ZNK24TGlxMulBindingSetFactory20AddThumbnailBindingLERKN3Alf13mulvisualitem16TVisualAttributeERK5TSize @ 36 NONAME - _ZNK24TGlxMulBindingSetFactory23AddMpxAttributeBindingLERKN3Alf13mulvisualitem16TVisualAttributeERK13TMPXAttributei @ 37 NONAME - _ZNK24TGlxMulBindingSetFactory24AddContainerListBindingLERKN3Alf13mulvisualitem16TVisualAttributeERK18CMPXCollectionPath @ 38 NONAME - _ZNK24TGlxMulBindingSetFactory27AddPreviewThumbnailBindingLEv @ 39 NONAME - _ZNK24TGlxMulBindingSetFactory30AddFullScreenThumbnailBindingLERKN3Alf13mulvisualitem16TVisualAttributeE @ 40 NONAME - _ZTI24TGlxMulBindingSetFactory @ 41 NONAME ; ## - _ZTI25CGlxAttributeRequirements @ 42 NONAME ; ## - _ZTV24TGlxMulBindingSetFactory @ 43 NONAME ; ## - _ZTV25CGlxAttributeRequirements @ 44 NONAME ; ## + _ZN29CGlxMediaListMulModelProvider11UpdateItemsEii @ 31 NONAME + _ZN29CGlxMediaListMulModelProvider4NewLER7CAlfEnvRN3Alf10IMulWidgetER13MGlxMediaListRK24TGlxMulBindingSetFactoryNS2_9mulwidget16TLogicalTemplateEi @ 32 NONAME + _ZNK24TGlxMulBindingSetFactory15AddIconBindingLERKN3Alf13mulvisualitem16TVisualAttributeEPK19CGlxMulIconProviderRK5TSize @ 33 NONAME + _ZNK24TGlxMulBindingSetFactory17AddStringBindingLERKN3Alf13mulvisualitem16TVisualAttributeEi @ 34 NONAME + _ZNK24TGlxMulBindingSetFactory18AddCommandBindingLEP16MGlxBoundCommand @ 35 NONAME + _ZNK24TGlxMulBindingSetFactory19AddTemplateBindingLEN3Alf9mulwidget16TLogicalTemplateES2_ @ 36 NONAME + _ZNK24TGlxMulBindingSetFactory20AddThumbnailBindingLERKN3Alf13mulvisualitem16TVisualAttributeERK5TSize @ 37 NONAME + _ZNK24TGlxMulBindingSetFactory23AddMpxAttributeBindingLERKN3Alf13mulvisualitem16TVisualAttributeERK13TMPXAttributei @ 38 NONAME + _ZNK24TGlxMulBindingSetFactory24AddContainerListBindingLERKN3Alf13mulvisualitem16TVisualAttributeERK18CMPXCollectionPath @ 39 NONAME + _ZNK24TGlxMulBindingSetFactory27AddPreviewThumbnailBindingLEv @ 40 NONAME + _ZNK24TGlxMulBindingSetFactory30AddFullScreenThumbnailBindingLERKN3Alf13mulvisualitem16TVisualAttributeE @ 41 NONAME + _ZTI24TGlxMulBindingSetFactory @ 42 NONAME + _ZTI25CGlxAttributeRequirements @ 43 NONAME + _ZTV24TGlxMulBindingSetFactory @ 44 NONAME + _ZTV25CGlxAttributeRequirements @ 45 NONAME diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/dataprovider/inc/glxmedialistmulmodelprovider.h --- a/photosgallery/viewframework/dataprovider/inc/glxmedialistmulmodelprovider.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/dataprovider/inc/glxmedialistmulmodelprovider.h Thu Jan 07 12:46:23 2010 +0200 @@ -57,6 +57,14 @@ * Destructor */ IMPORT_C ~CGlxMediaListMulModelProvider(); + + /** + * Requests the data model to update + * + * @param aIndex Position from where items have to be updated. + * @param aCount Number of items to be updated. + */ + IMPORT_C void UpdateItems( TInt aIndex, TInt aCount ); private: CGlxMediaListMulModelProvider(); diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/dataprovider/inc/glxmedialistmulmodelproviderimpl.h --- a/photosgallery/viewframework/dataprovider/inc/glxmedialistmulmodelproviderimpl.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/dataprovider/inc/glxmedialistmulmodelproviderimpl.h Thu Jan 07 12:46:23 2010 +0200 @@ -69,6 +69,14 @@ */ ~CGlxMediaListMulModelProviderImpl(); + /** + * Requests the data model to update + * + * @param aIndex Position from where items have to be updated. + * @param aCount Number of items to be updated. + */ + void UpdateItems( TInt aIndex, TInt aCount ); + private: /** * Constructor diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/dataprovider/src/glxattributerequirement.cpp --- a/photosgallery/viewframework/dataprovider/src/glxattributerequirement.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/dataprovider/src/glxattributerequirement.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -118,7 +118,7 @@ TRACER("CGlxAttributeRequirements::AddThumbnailL"); if( aSize.iHeight > 200 ) { - iFromFocusOutwardIterator.SetRangeOffsets( 2,2 ); + iFromFocusOutwardIterator.SetRangeOffsets( 5,5 ); //check if Fullscreen thumbnail context is initialized if(!iFsThumbnailContext) { diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelprovider.cpp --- a/photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelprovider.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelprovider.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -73,3 +73,12 @@ delete iImpl; } +// ---------------------------------------------------------------------------- +// UpdateItems +// ---------------------------------------------------------------------------- +// +EXPORT_C void CGlxMediaListMulModelProvider::UpdateItems( TInt aIndex, TInt aCount ) + { + TRACER("CGlxMediaListMulModelProvider::UpdateItems"); + iImpl->UpdateItems(aIndex, aCount); + } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelproviderimpl.cpp --- a/photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelproviderimpl.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelproviderimpl.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -267,7 +267,7 @@ { for(int i = aIndex; i < aIndex + aCount ; i++) { - SetDataT( *iBindingSet, iMediaList.Item(i), i ); + SetDataT( *iBindingSet, iMediaList.Item(i), i ); } } else @@ -308,3 +308,13 @@ for(TInt index = 0;index 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) + ??ETGlxSelectionIterator@@UAEHH@Z @ 1 NONAME ; int TGlxSelectionIterator::operator++(int) + ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 2 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void) + ?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 3 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &) + ??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 4 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void) + ?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 5 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int) + ?InstanceL@MGlxCache@@SAPAV1@XZ @ 6 NONAME ; class MGlxCache * MGlxCache::InstanceL(void) + ??ETGlxWindowIterator@@QAEHH@Z @ 7 NONAME ; int TGlxWindowIterator::operator++(int) + ?ImageFileHandle@CGlxImageViewerManager@@QBEAAVRFile64@@XZ @ 8 NONAME ; class RFile64 & CGlxImageViewerManager::ImageFileHandle(void) const + ??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 9 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &) + ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 10 NONAME ; class CBase * CGlxListWindow::At(int) + ??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 11 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void) + ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 12 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int) + ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 13 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) + ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 14 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const + ?MatchById@TGlxMedia@@SAHABV1@0@Z @ 15 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &) + ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 16 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &) + ?GetSize@TGlxMedia@@QBEHAAH@Z @ 17 NONAME ; int TGlxMedia::GetSize(int &) const + ?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 18 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const + ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 19 NONAME ; int CGlxAttributeContext::AttributeCount(void) + ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 20 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void) + ??1TGlxExclusionIterator@@QAE@XZ @ 21 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void) + ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 22 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &) + ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 23 NONAME ; int TGlxMedia::GetDrmProtected(int &) const + ??0TGlxSequentialIterator@@QAE@XZ @ 24 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void) + ?SetRangeOffsets@CGlxDefaultThumbnailContext@@QAEXHH@Z @ 25 NONAME ; void CGlxDefaultThumbnailContext::SetRangeOffsets(int, int) + ?GetCoordinate@TGlxMedia@@QBEHAAVTCoordinate@@@Z @ 26 NONAME ; int TGlxMedia::GetCoordinate(class TCoordinate &) const + ?SetToFirst@TGlxSelectionIterator@@UAEXPBVMGlxMediaList@@@Z @ 27 NONAME ; void TGlxSelectionIterator::SetToFirst(class MGlxMediaList const *) ?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) - ?ImageUri@CGlxImageViewerManager@@QAEPAVHBufC16@@XZ @ 40 NONAME ; class HBufC16 * CGlxImageViewerManager::ImageUri(void) - ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 41 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const - ?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 42 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int) - ?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 43 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int) - ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 44 NONAME ; void CGlxMedia::HandleModified(class RArray const &) - ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 45 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const - ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 46 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const - ?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 47 NONAME ; void TGlxSelectionIterator::SetRange(int) - ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 48 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const - ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 49 NONAME ; int TGlxMedia::GetDate(class TTime &) const - ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 50 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const - ?IsPrivate@CGlxImageViewerManager@@QAEHXZ @ 51 NONAME ; int CGlxImageViewerManager::IsPrivate(void) - ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 52 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) - ?IsStatic@TGlxMedia@@QBEHXZ @ 53 NONAME ; int TGlxMedia::IsStatic(void) const - ??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 54 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &) - ?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 55 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int) - ??1CGlxDefaultAttributeContext@@UAE@XZ @ 56 NONAME ; CGlxDefaultAttributeContext::~CGlxDefaultAttributeContext(void) - ?ThumbnailAttribute@TGlxMedia@@QBEPBVCGlxThumbnailAttribute@@AAVTMPXAttribute@@@Z @ 57 NONAME ; class CGlxThumbnailAttribute const * TGlxMedia::ThumbnailAttribute(class TMPXAttribute &) const - ??1TGlxFirstThenLastIterator@@QAE@XZ @ 58 NONAME ; TGlxFirstThenLastIterator::~TGlxFirstThenLastIterator(void) - ?Title@TGlxMedia@@QBEABVTDesC16@@XZ @ 59 NONAME ; class TDesC16 const & TGlxMedia::Title(void) const - ??ETGlxSelectionIterator@@UAEHH@Z @ 60 NONAME ; int TGlxSelectionIterator::operator++(int) - ?AddAttributeL@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 61 NONAME ; void CGlxAttributeContext::AddAttributeL(class TMPXAttribute const &) - ?SetRangeOffsets@CGlxDefaultThumbnailContext@@QAEXHH@Z @ 62 NONAME ; void CGlxDefaultThumbnailContext::SetRangeOffsets(int, int) - ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 63 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const - ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 64 NONAME ; int TGlxMedia::GetDuration(float &) const - ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 65 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) - ?IncrementRefCount@CGlxImageViewerManager@@QAEXXZ @ 66 NONAME ; void CGlxImageViewerManager::IncrementRefCount(void) - ?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 67 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId const &, class CMPXMedia *) - ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 68 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) - ?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 69 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int) - ?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 70 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const - ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 71 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const - ??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 72 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *) - ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 73 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const - ?__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) - ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 79 NONAME ; int CGlxAttributeContext::AttributeCount(void) - ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 80 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const - ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 81 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const - ?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 82 NONAME ; void CGlxListWindow::SetFocusIndex(int, int) - ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 83 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) - ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 84 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 85 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 86 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) - ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 87 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const - ??1CGlxMedia@@UAE@XZ @ 88 NONAME ; CGlxMedia::~CGlxMedia(void) - ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 89 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const - ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 90 NONAME ; int TGlxMedia::IsDrmProtected(void) const - ??1CGlxThumbnailContext@@UAE@XZ @ 91 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void) - ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 92 NONAME ; int TGlxMedia::GetDrmProtected(int &) const - ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 93 NONAME ; int TGlxMedia::GetSystemItem(int &) const - ?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 94 NONAME ; void CGlxListWindow::RemoveObjects(int, int) - ?Close@TGlxFetchContextRemover@@QAEXXZ @ 95 NONAME ; void TGlxFetchContextRemover::Close(void) - ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 96 NONAME ; class CBase const * CGlxListWindow::At(int) const - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 97 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) - ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 98 NONAME ; class CBase * CGlxListWindow::At(int) - ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 99 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void) - ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 100 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &) - ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 101 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void) - ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 102 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) - ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 103 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void) - ?Cleanup@CGlxListWindow@@QAEXXZ @ 104 NONAME ; void CGlxListWindow::Cleanup(void) - ??1TGlxExclusionIterator@@QAE@XZ @ 105 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void) - ??1TGlxFetchContextRemover@@QAE@XZ @ 106 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void) - ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 107 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int) - ?ImageFileHandle@CGlxImageViewerManager@@QBEAAVRFile64@@XZ @ 108 NONAME ; class RFile64 & CGlxImageViewerManager::ImageFileHandle(void) const - ??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) - ?AsStringL@CGlxUStringConverter@@QBEXABVTGlxMedia@@ABVTMPXAttribute@@HAAPAVHBufC16@@@Z @ 118 NONAME ; void CGlxUStringConverter::AsStringL(class TGlxMedia const &, class TMPXAttribute const &, int, class HBufC16 * &) const - ?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 - ??1TGlxFromFocusOutwardIterator@@QAE@XZ @ 123 NONAME ; TGlxFromFocusOutwardIterator::~TGlxFromFocusOutwardIterator(void) - ?InRange@TGlxSelectionIterator@@UBEHH@Z @ 124 NONAME ; int TGlxSelectionIterator::InRange(int) const + ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 29 NONAME ; void CGlxMedia::HandleModified(class RArray const &) + ??1TGlxFetchContextRemover@@QAE@XZ @ 30 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void) + ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 31 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) + ?AddAttributeL@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 32 NONAME ; void CGlxAttributeContext::AddAttributeL(class TMPXAttribute const &) + ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 33 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const + ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 34 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const + ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 35 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const + ??0TGlxSelectionIterator@@QAE@XZ @ 36 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void) + ??1TGlxFromFocusOutwardIterator@@QAE@XZ @ 37 NONAME ; TGlxFromFocusOutwardIterator::~TGlxFromFocusOutwardIterator(void) + ??1TGlxSelectionIterator@@QAE@XZ @ 38 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void) + ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 39 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) + ?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 40 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int) + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 41 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) + ??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 42 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void) + ??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 43 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *) + ??1CGlxDefaultAttributeContext@@UAE@XZ @ 44 NONAME ; CGlxDefaultAttributeContext::~CGlxDefaultAttributeContext(void) + ?ConstructL@CGlxListWindow@@QAEXXZ @ 45 NONAME ; void CGlxListWindow::ConstructL(void) + ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 46 NONAME ; int TGlxMedia::GetSystemItem(int &) const + ??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 47 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId const &, class TGlxMediaId) + ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 48 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const + ?SetToFirst@TGlxExclusionIterator@@UAEXPBVMGlxMediaList@@@Z @ 49 NONAME ; void TGlxExclusionIterator::SetToFirst(class MGlxMediaList const *) + ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 50 NONAME ; int TGlxMedia::GetDuration(float &) const + ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 51 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void) + ?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 52 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int) + ?SetRangeOffsets@CGlxDefaultAttributeContext@@QAEXHH@Z @ 53 NONAME ; void CGlxDefaultAttributeContext::SetRangeOffsets(int, int) + ?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 54 NONAME ; void CGlxListWindow::RemoveObjects(int, int) + ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 55 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const + ??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 56 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void) + ??1TGlxFirstThenLastIterator@@QAE@XZ @ 57 NONAME ; TGlxFirstThenLastIterator::~TGlxFirstThenLastIterator(void) + ?IsSlideShowPlayableContent@TGlxMedia@@QBEHXZ @ 58 NONAME ; int TGlxMedia::IsSlideShowPlayableContent(void) const + ??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 59 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void) + ?IncrementRefCount@CGlxImageViewerManager@@QAEXXZ @ 60 NONAME ; void CGlxImageViewerManager::IncrementRefCount(void) + ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 61 NONAME ; class CBase const * CGlxListWindow::At(int) const + ?SetRangeOffsets@TGlxFromFocusOutwardIterator@@QAEXHH@Z @ 62 NONAME ; void TGlxFromFocusOutwardIterator::SetRangeOffsets(int, int) + ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 63 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) + ?InRange@TGlxSelectionIterator@@UBEHH@Z @ 64 NONAME ; int TGlxSelectionIterator::InRange(int) const + ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 65 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const + ?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 66 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId const &, class CMPXMedia *) + ?Reset@CGlxMedia@@QAEXXZ @ 67 NONAME ; void CGlxMedia::Reset(void) + ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 68 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const + ?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 69 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int) + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 70 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?MimeType@TGlxMedia@@QBEABVTDesC16@@XZ @ 71 NONAME ; class TDesC16 const & TGlxMedia::MimeType(void) const + ?AddObjects@CGlxListWindow@@QAEXHH@Z @ 72 NONAME ; void CGlxListWindow::AddObjects(int, int) + ?SetDisabledIfMoreThanRangeSelected@TGlxSelectionIterator@@QAEXH@Z @ 73 NONAME ; void TGlxSelectionIterator::SetDisabledIfMoreThanRangeSelected(int) + ??0TGlxWindowIterator@@QAE@ABV0@@Z @ 74 NONAME ; TGlxWindowIterator::TGlxWindowIterator(class TGlxWindowIterator const &) + ?AsStringL@CGlxUStringConverter@@QBEXABVTGlxMedia@@ABVTMPXAttribute@@HAAPAVHBufC16@@@Z @ 75 NONAME ; void CGlxUStringConverter::AsStringL(class TGlxMedia const &, class TMPXAttribute const &, int, class HBufC16 * &) const + ?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 76 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int) + ?NewL@CGlxThumbnailContext@@SAPAV1@PAVMGlxMediaListIterator@@@Z @ 77 NONAME ; class CGlxThumbnailContext * CGlxThumbnailContext::NewL(class MGlxMediaListIterator *) + ?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 78 NONAME ; void CGlxListWindow::SetFocusIndex(int, int) + ?ValueCObject@CGlxMedia@@QBEPBVCBase@@ABVTMPXAttribute@@@Z @ 79 NONAME ; class CBase const * CGlxMedia::ValueCObject(class TMPXAttribute const &) const + ??0TGlxExclusionIterator@@QAE@AAVMGlxMediaListIterator@@0@Z @ 80 NONAME ; TGlxExclusionIterator::TGlxExclusionIterator(class MGlxMediaListIterator &, class MGlxMediaListIterator &) + ?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 81 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int) + ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 82 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) + ??1CGlxMedia@@UAE@XZ @ 83 NONAME ; CGlxMedia::~CGlxMedia(void) + ?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 84 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const + ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 85 NONAME ; int TGlxMedia::IsDrmProtected(void) const + ?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 86 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int) + ?NewL@CGlxDefaultThumbnailContext@@SAPAV1@XZ @ 87 NONAME ; class CGlxDefaultThumbnailContext * CGlxDefaultThumbnailContext::NewL(void) + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 88 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) + ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 89 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const + ??1CGlxThumbnailContext@@UAE@XZ @ 90 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void) + ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 91 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) + ?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 92 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int) + ?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 93 NONAME ; void TGlxSequentialIterator::SetRange(int) + ??1CGlxAttributeContext@@UAE@XZ @ 94 NONAME ; CGlxAttributeContext::~CGlxAttributeContext(void) + ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 95 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const + ?SetHighQualityOnly@CGlxThumbnailContext@@QAEXH@Z @ 96 NONAME ; void CGlxThumbnailContext::SetHighQualityOnly(int) + ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 97 NONAME ; class TGlxId TGlxMedia::IdSpaceId(void) const + ??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 98 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &) + ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 99 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 100 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const + ?IsPrivate@CGlxImageViewerManager@@QAEHXZ @ 101 NONAME ; int CGlxImageViewerManager::IsPrivate(void) + ?AddObjects@CGlxListWindow@@QAEXHHHH@Z @ 102 NONAME ; void CGlxListWindow::AddObjects(int, int, int, int) + ?ThumbnailAttribute@TGlxMedia@@QBEPBVCGlxThumbnailAttribute@@AAVTMPXAttribute@@@Z @ 103 NONAME ; class CGlxThumbnailAttribute const * TGlxMedia::ThumbnailAttribute(class TMPXAttribute &) const + ??0TGlxFetchContextRemover@@QAE@PAVMGlxFetchContext@@AAVMGlxMediaList@@@Z @ 104 NONAME ; TGlxFetchContextRemover::TGlxFetchContextRemover(class MGlxFetchContext *, class MGlxMediaList &) + ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 105 NONAME ; int TGlxMedia::GetFrameCount(int &) const + ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 106 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 107 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const + ?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 108 NONAME ; void TGlxSelectionIterator::SetRange(int) + ??0TGlxFirstThenLastIterator@@QAE@XZ @ 109 NONAME ; TGlxFirstThenLastIterator::TGlxFirstThenLastIterator(void) + ?NewL@CGlxDefaultAttributeContext@@SAPAV1@XZ @ 110 NONAME ; class CGlxDefaultAttributeContext * CGlxDefaultAttributeContext::NewL(void) + ??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 111 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *) + ?Close@TGlxFetchContextRemover@@QAEXXZ @ 112 NONAME ; void TGlxFetchContextRemover::Close(void) + ?NewL@CGlxUStringConverter@@SAPAV1@XZ @ 113 NONAME ; class CGlxUStringConverter * CGlxUStringConverter::NewL(void) + ?IsStatic@TGlxMedia@@QBEHXZ @ 114 NONAME ; int TGlxMedia::IsStatic(void) const + ??1CGlxDefaultThumbnailContext@@UAE@XZ @ 115 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void) + ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 116 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const + ?Title@TGlxMedia@@QBEABVTDesC16@@XZ @ 117 NONAME ; class TDesC16 const & TGlxMedia::Title(void) const + ??1CGlxListWindow@@UAE@XZ @ 118 NONAME ; CGlxListWindow::~CGlxListWindow(void) + ?__DbgTestInvariant@CGlxListWindow@@QBEXXZ @ 119 NONAME ; void CGlxListWindow::__DbgTestInvariant(void) const + ?Cleanup@CGlxListWindow@@QAEXXZ @ 120 NONAME ; void CGlxListWindow::Cleanup(void) + ?SetFocusIndex@CGlxListWindow@@QAEXH@Z @ 121 NONAME ; void CGlxListWindow::SetFocusIndex(int) + ?ImageUri@CGlxImageViewerManager@@QAEPAVHBufC16@@XZ @ 122 NONAME ; class HBufC16 * CGlxImageViewerManager::ImageUri(void) + ?Uri@TGlxMedia@@QBEABVTDesC16@@XZ @ 123 NONAME ; class TDesC16 const & TGlxMedia::Uri(void) const + ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 124 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 125 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int) diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/medialists/eabi/glxmedialistsu.def --- a/photosgallery/viewframework/medialists/eabi/glxmedialistsu.def Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/medialists/eabi/glxmedialistsu.def Thu Jan 07 12:46:23 2010 +0200 @@ -26,170 +26,171 @@ _ZN19GlxThumbnailUtility16ClosestThumbnailERK5TSizeRK9CGlxMediai @ 25 NONAME _ZN20CGlxAttributeContext13AddAttributeLERK13TMPXAttribute @ 26 NONAME _ZN20CGlxAttributeContext14AttributeCountEv @ 27 NONAME - _ZN20CGlxAttributeContext14SetGranularityEj @ 28 NONAME - _ZN20CGlxAttributeContext15RemoveAttributeERK13TMPXAttribute @ 29 NONAME - _ZN20CGlxAttributeContextC1EP21MGlxMediaListIterator @ 30 NONAME - _ZN20CGlxAttributeContextC2EP21MGlxMediaListIterator @ 31 NONAME - _ZN20CGlxAttributeContextD0Ev @ 32 NONAME - _ZN20CGlxAttributeContextD1Ev @ 33 NONAME - _ZN20CGlxAttributeContextD2Ev @ 34 NONAME - _ZN20CGlxThumbnailContext14SetDefaultSpecEii @ 35 NONAME - _ZN20CGlxThumbnailContext15AddSpecForItemLEiii @ 36 NONAME - _ZN20CGlxThumbnailContext18SetHighQualityOnlyEi @ 37 NONAME - _ZN20CGlxThumbnailContext4NewLEP21MGlxMediaListIterator @ 38 NONAME - _ZN20CGlxThumbnailContextC1EP21MGlxMediaListIterator @ 39 NONAME - _ZN20CGlxThumbnailContextC2EP21MGlxMediaListIterator @ 40 NONAME - _ZN20CGlxThumbnailContextD0Ev @ 41 NONAME - _ZN20CGlxThumbnailContextD1Ev @ 42 NONAME - _ZN20CGlxThumbnailContextD2Ev @ 43 NONAME - _ZN20CGlxUStringConverter4NewLEv @ 44 NONAME - _ZN21TGlxExclusionIterator10SetToFirstEPK13MGlxMediaList @ 45 NONAME - _ZN21TGlxExclusionIteratorC1ER21MGlxMediaListIteratorS1_ @ 46 NONAME - _ZN21TGlxExclusionIteratorC2ER21MGlxMediaListIteratorS1_ @ 47 NONAME - _ZN21TGlxExclusionIteratorD1Ev @ 48 NONAME - _ZN21TGlxExclusionIteratorD2Ev @ 49 NONAME - _ZN21TGlxSelectionIterator10SetToFirstEPK13MGlxMediaList @ 50 NONAME - _ZN21TGlxSelectionIterator34SetDisabledIfMoreThanRangeSelectedEi @ 51 NONAME - _ZN21TGlxSelectionIterator8SetRangeEi @ 52 NONAME - _ZN21TGlxSelectionIteratorC1Ev @ 53 NONAME - _ZN21TGlxSelectionIteratorC2Ev @ 54 NONAME - _ZN21TGlxSelectionIteratorD1Ev @ 55 NONAME - _ZN21TGlxSelectionIteratorD2Ev @ 56 NONAME - _ZN21TGlxSelectionIteratorppEi @ 57 NONAME - _ZN22CGlxImageViewerManager8ImageUriEv @ 58 NONAME - _ZN22CGlxImageViewerManager9IsPrivateEv @ 59 NONAME - _ZN22TGlxSequentialIterator8SetRangeEi @ 60 NONAME - _ZN22TGlxSequentialIteratorC1Ev @ 61 NONAME - _ZN22TGlxSequentialIteratorC2Ev @ 62 NONAME - _ZN22TGlxSpecificIdIteratorC1ERK6TGlxIdI17TGlxIdSpaceIdBaseE11TGlxMediaId @ 63 NONAME - _ZN22TGlxSpecificIdIteratorC2ERK6TGlxIdI17TGlxIdSpaceIdBaseE11TGlxMediaId @ 64 NONAME - _ZN23TGlxFetchContextRemover5CloseEv @ 65 NONAME - _ZN23TGlxFetchContextRemoverC1EP16MGlxFetchContextR13MGlxMediaList @ 66 NONAME - _ZN23TGlxFetchContextRemoverC2EP16MGlxFetchContextR13MGlxMediaList @ 67 NONAME - _ZN23TGlxFetchContextRemoverD1Ev @ 68 NONAME - _ZN23TGlxFetchContextRemoverD2Ev @ 69 NONAME - _ZN25TGlxFirstThenLastIteratorC1Ev @ 70 NONAME - _ZN25TGlxFirstThenLastIteratorC2Ev @ 71 NONAME - _ZN25TGlxFirstThenLastIteratorD1Ev @ 72 NONAME - _ZN25TGlxFirstThenLastIteratorD2Ev @ 73 NONAME - _ZN27CGlxDefaultAttributeContext15SetRangeOffsetsEii @ 74 NONAME - _ZN27CGlxDefaultAttributeContext4NewLEv @ 75 NONAME - _ZN27CGlxDefaultAttributeContextD0Ev @ 76 NONAME - _ZN27CGlxDefaultAttributeContextD1Ev @ 77 NONAME - _ZN27CGlxDefaultAttributeContextD2Ev @ 78 NONAME - _ZN27CGlxDefaultThumbnailContext15SetRangeOffsetsEii @ 79 NONAME - _ZN27CGlxDefaultThumbnailContext4NewLEv @ 80 NONAME - _ZN27CGlxDefaultThumbnailContextD0Ev @ 81 NONAME - _ZN27CGlxDefaultThumbnailContextD1Ev @ 82 NONAME - _ZN27CGlxDefaultThumbnailContextD2Ev @ 83 NONAME - _ZN28TGlxFromFocusOutwardIterator15SetRangeOffsetsEii @ 84 NONAME - _ZN28TGlxFromFocusOutwardIteratorC1Ev @ 85 NONAME - _ZN28TGlxFromFocusOutwardIteratorC2Ev @ 86 NONAME - _ZN28TGlxFromFocusOutwardIteratorD1Ev @ 87 NONAME - _ZN28TGlxFromFocusOutwardIteratorD2Ev @ 88 NONAME - _ZN33TGlxFromManualIndexBlockyIterator15SetRangeOffsetsEii @ 89 NONAME - _ZN33TGlxFromManualIndexBlockyIteratorC1Ev @ 90 NONAME - _ZN33TGlxFromManualIndexBlockyIteratorC2Ev @ 91 NONAME - _ZN33TGlxFromManualIndexBlockyIteratorD1Ev @ 92 NONAME - _ZN33TGlxFromManualIndexBlockyIteratorD2Ev @ 93 NONAME - _ZN34TGlxFromFocusOutwardBlockyIteratorC1Ev @ 94 NONAME - _ZN34TGlxFromFocusOutwardBlockyIteratorC2Ev @ 95 NONAME - _ZN34TGlxFromFocusOutwardBlockyIteratorD1Ev @ 96 NONAME - _ZN34TGlxFromFocusOutwardBlockyIteratorD2Ev @ 97 NONAME - _ZN34TGlxFromIndexOutwardBlockyIterator15SetRangeOffsetsEii @ 98 NONAME - _ZN34TGlxFromIndexOutwardBlockyIteratorC1ERKNS_9MGlxIndexE @ 99 NONAME - _ZN34TGlxFromIndexOutwardBlockyIteratorC2ERKNS_9MGlxIndexE @ 100 NONAME - _ZN34TGlxFromIndexOutwardBlockyIteratorD1Ev @ 101 NONAME - _ZN34TGlxFromIndexOutwardBlockyIteratorD2Ev @ 102 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIterator8SetIndexEi @ 103 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIteratorC1Ev @ 104 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIteratorC2Ev @ 105 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIteratorD1Ev @ 106 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIteratorD2Ev @ 107 NONAME - _ZN9CGlxMedia13SetTextValueLERK13TMPXAttributeRK7TDesC16 @ 108 NONAME - _ZN9CGlxMedia14HandleModifiedERK6RArrayI13TMPXAttributeE @ 109 NONAME - _ZN9CGlxMedia15DeleteAttributeERK13TMPXAttribute @ 110 NONAME - _ZN9CGlxMedia16SetCObjectValueLERK13TMPXAttributeP5CBase @ 111 NONAME - _ZN9CGlxMedia5ResetEv @ 112 NONAME - _ZN9CGlxMedia9SetValueLERK13TMPXAttributePv17TMPXAttributeType @ 113 NONAME - _ZN9CGlxMediaC1ERK11TGlxMediaId @ 114 NONAME - _ZN9CGlxMediaC2ERK11TGlxMediaId @ 115 NONAME - _ZN9CGlxMediaD0Ev @ 116 NONAME - _ZN9CGlxMediaD1Ev @ 117 NONAME - _ZN9CGlxMediaD2Ev @ 118 NONAME - _ZN9MGlxCache9InstanceLEv @ 119 NONAME - _ZN9TGlxMedia23DeleteLocationAttributeEv @ 120 NONAME - _ZN9TGlxMedia9MatchByIdERKS_S1_ @ 121 NONAME - _ZNK14CGlxListWindow2AtEi @ 122 NONAME - _ZNK14CGlxListWindow8IteratorEv @ 123 NONAME - _ZNK20CGlxUStringConverter9AsStringLERK9TGlxMediaRK13TMPXAttributeiRP7HBufC16 @ 124 NONAME - _ZNK21TGlxSelectionIterator7InRangeEi @ 125 NONAME - _ZNK22CGlxImageViewerManager15ImageFileHandleEv @ 126 NONAME - _ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 127 NONAME - _ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 128 NONAME - _ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 129 NONAME - _ZNK9TGlxMedia11GetDurationERf @ 130 NONAME - _ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 131 NONAME - _ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 132 NONAME - _ZNK9TGlxMedia13GetDimensionsER5TSize @ 133 NONAME - _ZNK9TGlxMedia13GetFrameCountERi @ 134 NONAME - _ZNK9TGlxMedia13GetSystemItemERi @ 135 NONAME - _ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 136 NONAME - _ZNK9TGlxMedia14IsDrmProtectedEv @ 137 NONAME - _ZNK9TGlxMedia15GetDrmProtectedERi @ 138 NONAME - _ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 139 NONAME - _ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 140 NONAME - _ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 141 NONAME - _ZNK9TGlxMedia20GetStaticItemCommandERi @ 142 NONAME - _ZNK9TGlxMedia21GetContainedItemCountERi @ 143 NONAME - _ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 144 NONAME - _ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 145 NONAME - _ZNK9TGlxMedia3UriEv @ 146 NONAME - _ZNK9TGlxMedia5TitleEv @ 147 NONAME - _ZNK9TGlxMedia7CommentEv @ 148 NONAME - _ZNK9TGlxMedia7GetDateER5TTime @ 149 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 150 NONAME - _ZNK9TGlxMedia8CategoryEv @ 151 NONAME - _ZNK9TGlxMedia8IsStaticEv @ 152 NONAME - _ZNK9TGlxMedia8MimeTypeEv @ 153 NONAME - _ZNK9TGlxMedia8SubTitleEv @ 154 NONAME - _ZNK9TGlxMedia9IdSpaceIdEv @ 155 NONAME - _ZTI13CGlxMediaList @ 156 NONAME - _ZTI14CGlxListWindow @ 157 NONAME - _ZTI15CGlxImageReader @ 158 NONAME - _ZTI16CGlxCacheManager @ 159 NONAME - _ZTI20CGlxAttributeContext @ 160 NONAME - _ZTI20CGlxGarbageCollector @ 161 NONAME - _ZTI20CGlxThumbnailContext @ 162 NONAME - _ZTI21TGlxExclusionIterator @ 163 NONAME - _ZTI21TGlxSelectionIterator @ 164 NONAME - _ZTI22TGlxSequentialIterator @ 165 NONAME - _ZTI22TGlxSpecificIdIterator @ 166 NONAME - _ZTI25TGlxFirstThenLastIterator @ 167 NONAME - _ZTI27CGlxDefaultAttributeContext @ 168 NONAME - _ZTI27CGlxDefaultThumbnailContext @ 169 NONAME - _ZTI28TGlxFromFocusOutwardIterator @ 170 NONAME - _ZTI33TGlxFromManualIndexBlockyIterator @ 171 NONAME - _ZTI34TGlxFromFocusOutwardBlockyIterator @ 172 NONAME - _ZTI34TGlxFromIndexOutwardBlockyIterator @ 173 NONAME - _ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 174 NONAME - _ZTV13CGlxMediaList @ 175 NONAME - _ZTV14CGlxListWindow @ 176 NONAME - _ZTV15CGlxImageReader @ 177 NONAME - _ZTV16CGlxCacheManager @ 178 NONAME - _ZTV20CGlxAttributeContext @ 179 NONAME - _ZTV20CGlxGarbageCollector @ 180 NONAME - _ZTV20CGlxThumbnailContext @ 181 NONAME - _ZTV21TGlxExclusionIterator @ 182 NONAME - _ZTV21TGlxSelectionIterator @ 183 NONAME - _ZTV22TGlxSequentialIterator @ 184 NONAME - _ZTV22TGlxSpecificIdIterator @ 185 NONAME - _ZTV25TGlxFirstThenLastIterator @ 186 NONAME - _ZTV27CGlxDefaultAttributeContext @ 187 NONAME - _ZTV27CGlxDefaultThumbnailContext @ 188 NONAME - _ZTV28TGlxFromFocusOutwardIterator @ 189 NONAME - _ZTV33TGlxFromManualIndexBlockyIterator @ 190 NONAME - _ZTV34TGlxFromFocusOutwardBlockyIterator @ 191 NONAME - _ZTV34TGlxFromIndexOutwardBlockyIterator @ 192 NONAME - _ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 193 NONAME + _ZN20CGlxAttributeContext14SetDefaultSpecEii @ 28 NONAME + _ZN20CGlxAttributeContext14SetGranularityEj @ 29 NONAME + _ZN20CGlxAttributeContext15RemoveAttributeERK13TMPXAttribute @ 30 NONAME + _ZN20CGlxAttributeContextC1EP21MGlxMediaListIterator @ 31 NONAME + _ZN20CGlxAttributeContextC2EP21MGlxMediaListIterator @ 32 NONAME + _ZN20CGlxAttributeContextD0Ev @ 33 NONAME + _ZN20CGlxAttributeContextD1Ev @ 34 NONAME + _ZN20CGlxAttributeContextD2Ev @ 35 NONAME + _ZN20CGlxThumbnailContext14SetDefaultSpecEii @ 36 NONAME + _ZN20CGlxThumbnailContext15AddSpecForItemLEiii @ 37 NONAME + _ZN20CGlxThumbnailContext18SetHighQualityOnlyEi @ 38 NONAME + _ZN20CGlxThumbnailContext4NewLEP21MGlxMediaListIterator @ 39 NONAME + _ZN20CGlxThumbnailContextC1EP21MGlxMediaListIterator @ 40 NONAME + _ZN20CGlxThumbnailContextC2EP21MGlxMediaListIterator @ 41 NONAME + _ZN20CGlxThumbnailContextD0Ev @ 42 NONAME + _ZN20CGlxThumbnailContextD1Ev @ 43 NONAME + _ZN20CGlxThumbnailContextD2Ev @ 44 NONAME + _ZN20CGlxUStringConverter4NewLEv @ 45 NONAME + _ZN21TGlxExclusionIterator10SetToFirstEPK13MGlxMediaList @ 46 NONAME + _ZN21TGlxExclusionIteratorC1ER21MGlxMediaListIteratorS1_ @ 47 NONAME + _ZN21TGlxExclusionIteratorC2ER21MGlxMediaListIteratorS1_ @ 48 NONAME + _ZN21TGlxExclusionIteratorD1Ev @ 49 NONAME + _ZN21TGlxExclusionIteratorD2Ev @ 50 NONAME + _ZN21TGlxSelectionIterator10SetToFirstEPK13MGlxMediaList @ 51 NONAME + _ZN21TGlxSelectionIterator34SetDisabledIfMoreThanRangeSelectedEi @ 52 NONAME + _ZN21TGlxSelectionIterator8SetRangeEi @ 53 NONAME + _ZN21TGlxSelectionIteratorC1Ev @ 54 NONAME + _ZN21TGlxSelectionIteratorC2Ev @ 55 NONAME + _ZN21TGlxSelectionIteratorD1Ev @ 56 NONAME + _ZN21TGlxSelectionIteratorD2Ev @ 57 NONAME + _ZN21TGlxSelectionIteratorppEi @ 58 NONAME + _ZN22CGlxImageViewerManager8ImageUriEv @ 59 NONAME + _ZN22CGlxImageViewerManager9IsPrivateEv @ 60 NONAME + _ZN22TGlxSequentialIterator8SetRangeEi @ 61 NONAME + _ZN22TGlxSequentialIteratorC1Ev @ 62 NONAME + _ZN22TGlxSequentialIteratorC2Ev @ 63 NONAME + _ZN22TGlxSpecificIdIteratorC1ERK6TGlxIdI17TGlxIdSpaceIdBaseE11TGlxMediaId @ 64 NONAME + _ZN22TGlxSpecificIdIteratorC2ERK6TGlxIdI17TGlxIdSpaceIdBaseE11TGlxMediaId @ 65 NONAME + _ZN23TGlxFetchContextRemover5CloseEv @ 66 NONAME + _ZN23TGlxFetchContextRemoverC1EP16MGlxFetchContextR13MGlxMediaList @ 67 NONAME + _ZN23TGlxFetchContextRemoverC2EP16MGlxFetchContextR13MGlxMediaList @ 68 NONAME + _ZN23TGlxFetchContextRemoverD1Ev @ 69 NONAME + _ZN23TGlxFetchContextRemoverD2Ev @ 70 NONAME + _ZN25TGlxFirstThenLastIteratorC1Ev @ 71 NONAME + _ZN25TGlxFirstThenLastIteratorC2Ev @ 72 NONAME + _ZN25TGlxFirstThenLastIteratorD1Ev @ 73 NONAME + _ZN25TGlxFirstThenLastIteratorD2Ev @ 74 NONAME + _ZN27CGlxDefaultAttributeContext15SetRangeOffsetsEii @ 75 NONAME + _ZN27CGlxDefaultAttributeContext4NewLEv @ 76 NONAME + _ZN27CGlxDefaultAttributeContextD0Ev @ 77 NONAME + _ZN27CGlxDefaultAttributeContextD1Ev @ 78 NONAME + _ZN27CGlxDefaultAttributeContextD2Ev @ 79 NONAME + _ZN27CGlxDefaultThumbnailContext15SetRangeOffsetsEii @ 80 NONAME + _ZN27CGlxDefaultThumbnailContext4NewLEv @ 81 NONAME + _ZN27CGlxDefaultThumbnailContextD0Ev @ 82 NONAME + _ZN27CGlxDefaultThumbnailContextD1Ev @ 83 NONAME + _ZN27CGlxDefaultThumbnailContextD2Ev @ 84 NONAME + _ZN28TGlxFromFocusOutwardIterator15SetRangeOffsetsEii @ 85 NONAME + _ZN28TGlxFromFocusOutwardIteratorC1Ev @ 86 NONAME + _ZN28TGlxFromFocusOutwardIteratorC2Ev @ 87 NONAME + _ZN28TGlxFromFocusOutwardIteratorD1Ev @ 88 NONAME + _ZN28TGlxFromFocusOutwardIteratorD2Ev @ 89 NONAME + _ZN33TGlxFromManualIndexBlockyIterator15SetRangeOffsetsEii @ 90 NONAME + _ZN33TGlxFromManualIndexBlockyIteratorC1Ev @ 91 NONAME + _ZN33TGlxFromManualIndexBlockyIteratorC2Ev @ 92 NONAME + _ZN33TGlxFromManualIndexBlockyIteratorD1Ev @ 93 NONAME + _ZN33TGlxFromManualIndexBlockyIteratorD2Ev @ 94 NONAME + _ZN34TGlxFromFocusOutwardBlockyIteratorC1Ev @ 95 NONAME + _ZN34TGlxFromFocusOutwardBlockyIteratorC2Ev @ 96 NONAME + _ZN34TGlxFromFocusOutwardBlockyIteratorD1Ev @ 97 NONAME + _ZN34TGlxFromFocusOutwardBlockyIteratorD2Ev @ 98 NONAME + _ZN34TGlxFromIndexOutwardBlockyIterator15SetRangeOffsetsEii @ 99 NONAME + _ZN34TGlxFromIndexOutwardBlockyIteratorC1ERKNS_9MGlxIndexE @ 100 NONAME + _ZN34TGlxFromIndexOutwardBlockyIteratorC2ERKNS_9MGlxIndexE @ 101 NONAME + _ZN34TGlxFromIndexOutwardBlockyIteratorD1Ev @ 102 NONAME + _ZN34TGlxFromIndexOutwardBlockyIteratorD2Ev @ 103 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIterator8SetIndexEi @ 104 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIteratorC1Ev @ 105 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIteratorC2Ev @ 106 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIteratorD1Ev @ 107 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIteratorD2Ev @ 108 NONAME + _ZN9CGlxMedia13SetTextValueLERK13TMPXAttributeRK7TDesC16 @ 109 NONAME + _ZN9CGlxMedia14HandleModifiedERK6RArrayI13TMPXAttributeE @ 110 NONAME + _ZN9CGlxMedia15DeleteAttributeERK13TMPXAttribute @ 111 NONAME + _ZN9CGlxMedia16SetCObjectValueLERK13TMPXAttributeP5CBase @ 112 NONAME + _ZN9CGlxMedia5ResetEv @ 113 NONAME + _ZN9CGlxMedia9SetValueLERK13TMPXAttributePv17TMPXAttributeType @ 114 NONAME + _ZN9CGlxMediaC1ERK11TGlxMediaId @ 115 NONAME + _ZN9CGlxMediaC2ERK11TGlxMediaId @ 116 NONAME + _ZN9CGlxMediaD0Ev @ 117 NONAME + _ZN9CGlxMediaD1Ev @ 118 NONAME + _ZN9CGlxMediaD2Ev @ 119 NONAME + _ZN9MGlxCache9InstanceLEv @ 120 NONAME + _ZN9TGlxMedia23DeleteLocationAttributeEv @ 121 NONAME + _ZN9TGlxMedia9MatchByIdERKS_S1_ @ 122 NONAME + _ZNK14CGlxListWindow2AtEi @ 123 NONAME + _ZNK14CGlxListWindow8IteratorEv @ 124 NONAME + _ZNK20CGlxUStringConverter9AsStringLERK9TGlxMediaRK13TMPXAttributeiRP7HBufC16 @ 125 NONAME + _ZNK21TGlxSelectionIterator7InRangeEi @ 126 NONAME + _ZNK22CGlxImageViewerManager15ImageFileHandleEv @ 127 NONAME + _ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 128 NONAME + _ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 129 NONAME + _ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 130 NONAME + _ZNK9TGlxMedia11GetDurationERf @ 131 NONAME + _ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 132 NONAME + _ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 133 NONAME + _ZNK9TGlxMedia13GetDimensionsER5TSize @ 134 NONAME + _ZNK9TGlxMedia13GetFrameCountERi @ 135 NONAME + _ZNK9TGlxMedia13GetSystemItemERi @ 136 NONAME + _ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 137 NONAME + _ZNK9TGlxMedia14IsDrmProtectedEv @ 138 NONAME + _ZNK9TGlxMedia15GetDrmProtectedERi @ 139 NONAME + _ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 140 NONAME + _ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 141 NONAME + _ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 142 NONAME + _ZNK9TGlxMedia20GetStaticItemCommandERi @ 143 NONAME + _ZNK9TGlxMedia21GetContainedItemCountERi @ 144 NONAME + _ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 145 NONAME + _ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 146 NONAME + _ZNK9TGlxMedia3UriEv @ 147 NONAME + _ZNK9TGlxMedia5TitleEv @ 148 NONAME + _ZNK9TGlxMedia7CommentEv @ 149 NONAME + _ZNK9TGlxMedia7GetDateER5TTime @ 150 NONAME + _ZNK9TGlxMedia7GetSizeERi @ 151 NONAME + _ZNK9TGlxMedia8CategoryEv @ 152 NONAME + _ZNK9TGlxMedia8IsStaticEv @ 153 NONAME + _ZNK9TGlxMedia8MimeTypeEv @ 154 NONAME + _ZNK9TGlxMedia8SubTitleEv @ 155 NONAME + _ZNK9TGlxMedia9IdSpaceIdEv @ 156 NONAME + _ZTI13CGlxMediaList @ 157 NONAME + _ZTI14CGlxListWindow @ 158 NONAME + _ZTI15CGlxImageReader @ 159 NONAME + _ZTI16CGlxCacheManager @ 160 NONAME + _ZTI20CGlxAttributeContext @ 161 NONAME + _ZTI20CGlxGarbageCollector @ 162 NONAME + _ZTI20CGlxThumbnailContext @ 163 NONAME + _ZTI21TGlxExclusionIterator @ 164 NONAME + _ZTI21TGlxSelectionIterator @ 165 NONAME + _ZTI22TGlxSequentialIterator @ 166 NONAME + _ZTI22TGlxSpecificIdIterator @ 167 NONAME + _ZTI25TGlxFirstThenLastIterator @ 168 NONAME + _ZTI27CGlxDefaultAttributeContext @ 169 NONAME + _ZTI27CGlxDefaultThumbnailContext @ 170 NONAME + _ZTI28TGlxFromFocusOutwardIterator @ 171 NONAME + _ZTI33TGlxFromManualIndexBlockyIterator @ 172 NONAME + _ZTI34TGlxFromFocusOutwardBlockyIterator @ 173 NONAME + _ZTI34TGlxFromIndexOutwardBlockyIterator @ 174 NONAME + _ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 175 NONAME + _ZTV13CGlxMediaList @ 176 NONAME + _ZTV14CGlxListWindow @ 177 NONAME + _ZTV15CGlxImageReader @ 178 NONAME + _ZTV16CGlxCacheManager @ 179 NONAME + _ZTV20CGlxAttributeContext @ 180 NONAME + _ZTV20CGlxGarbageCollector @ 181 NONAME + _ZTV20CGlxThumbnailContext @ 182 NONAME + _ZTV21TGlxExclusionIterator @ 183 NONAME + _ZTV21TGlxSelectionIterator @ 184 NONAME + _ZTV22TGlxSequentialIterator @ 185 NONAME + _ZTV22TGlxSpecificIdIterator @ 186 NONAME + _ZTV25TGlxFirstThenLastIterator @ 187 NONAME + _ZTV27CGlxDefaultAttributeContext @ 188 NONAME + _ZTV27CGlxDefaultThumbnailContext @ 189 NONAME + _ZTV28TGlxFromFocusOutwardIterator @ 190 NONAME + _ZTV33TGlxFromManualIndexBlockyIterator @ 191 NONAME + _ZTV34TGlxFromFocusOutwardBlockyIterator @ 192 NONAME + _ZTV34TGlxFromIndexOutwardBlockyIterator @ 193 NONAME + _ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 194 NONAME diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/medialists/inc/glxattributecontext.h --- a/photosgallery/viewframework/medialists/inc/glxattributecontext.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/medialists/inc/glxattributecontext.h Thu Jan 07 12:46:23 2010 +0200 @@ -70,6 +70,13 @@ * Sets granularity of the item index array returned from AttributeRequestL */ IMPORT_C void SetGranularity(TUint aGranularity); + + /** + * Sets the default fetch specification. + * @param aWidth the width of required bitmap. + * @param aHeight the heigth of required bitmap. + */ + IMPORT_C void SetDefaultSpec(TInt aWidth, TInt aHeight); public: // From MGlxFetchContext /// See @ref MGlxFetchContext::AttributeRequestL @@ -114,6 +121,9 @@ * Granularity of the item index array returned from AttributeRequestL */ TUint iGranularity; + + /** Size of the default spec */ + TSize iDefaultSpecSize; /** Tester class */ friend class T_CGlxAttributeContext; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/medialists/src/glxattributecontext.cpp --- a/photosgallery/viewframework/medialists/src/glxattributecontext.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/medialists/src/glxattributecontext.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -23,6 +23,7 @@ #include "glxtracer.h" #include "glxlog.h" #include "glxlistutils.h" +#include "glxthumbnailattributeinfo.h" // Default granularity of items to request for const TUint KGlxAttributeContextDefaultGranularity = 200; @@ -120,7 +121,7 @@ // TInt CGlxAttributeContext::AttributeRequestL(const MGlxMediaList* aList, RArray& aItemIndices, RArray& aAttributes, - CMPXAttributeSpecs*& /*aDetailedSpecs*/) const + CMPXAttributeSpecs*& aDetailedSpecs) const { TRACER("CGlxAttributeContext::AttributeRequestL"); @@ -170,6 +171,34 @@ error = KErrNone; } } + + + // If the attribute request is for Thumbnail, Check if there is a match found. + // And set the size and thumbnail quality + TIdentityRelation matchContent(&TMPXAttribute::MatchContentId); + TMPXAttribute tnAttr(KGlxMediaIdThumbnail, 0); + + if (iAttributes.Find(tnAttr, matchContent) != KErrNotFound) + { + // Allocate CMPXAttributeSpecs + CMPXAttributeSpecs* attributeSpecs = CMPXAttributeSpecs::NewL(); + CleanupStack::PushL(attributeSpecs); + + attributeSpecs->SetTObjectValueL( + TMPXAttribute( KGlxMediaIdThumbnail, + KGlxAttribSpecThumbnailSize ), + TSize(iDefaultSpecSize.iWidth,iDefaultSpecSize.iHeight) ); + + attributeSpecs->SetTObjectValueL( + TMPXAttribute( KGlxMediaIdThumbnail, + KGlxAttribSpecThumbnailQualityOverSpeed ), ETrue ); + + aDetailedSpecs = attributeSpecs; + + // Pop from stack + CleanupStack::Pop(attributeSpecs); + + } // If an error was found, return KErrGeneral if (error != KErrNone) @@ -372,3 +401,16 @@ iFromFocusIterator.SetRangeOffsets(aRearOffset, aFrontOffset); } + +// ----------------------------------------------------------------------------- +// Sets the default fetch specification +// ----------------------------------------------------------------------------- +// +EXPORT_C void CGlxAttributeContext::SetDefaultSpec(TInt aWidth, TInt aHeight) + + { + TRACER( " CGlxAttributeContext::SetDefaultSpec"); + + iDefaultSpecSize = TSize(aWidth, aHeight); + } + diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/medialists/src/glxcachemanager.cpp --- a/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -50,6 +50,7 @@ _LIT(KFileIdentifier, ":\\"); #endif +_LIT(KDefaultType, "image/jpg"); /// How long to wait before rechecking for cleared temporary errors /// @todo Find optimal value for this const TInt KGlxTemporaryErrorRecheckPeriodInSeconds = 5; @@ -629,27 +630,23 @@ if (list->Collection().UidL().iUid == KGlxCollectionPluginImageViewerImplementationUid) { - RDebug::Printf("void CGlxCacheManager::MaintainCacheL:ABC: IV TN"); _LIT( KPrivateFolder, "\\Private\\" ); // Platsec private folder TParsePtrC parse( item.Uri() ); if( parse.PathPresent() && parse.Path().Length() > KPrivateFolder().Length() && parse.Path().Left( KPrivateFolder().Length() ).CompareF( KPrivateFolder ) == 0 ) { - RDebug::Printf("void CGlxCacheManager::MaintainCacheL:ABC: In if"); GLX_DEBUG1("KGlxCollectionPluginImageViewerImplementationUid - Fetch (Private) TN!"); CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(iImageViewerInstance->ImageFileHandle()); iThumbnailRequestIds.AppendL(TLoadingTN(iTnEngine->GetThumbnailL(*source), spaceId, tnSize, itemId)); - CleanupStack::PopAndDestroy(); - + CleanupStack::PopAndDestroy(source); } else { - RDebug::Printf("void CGlxCacheManager::MaintainCacheL:ABC: In else"); GLX_DEBUG1("KGlxCollectionPluginImageViewerImplementationUid - Fetch TN!"); CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(item.Uri(), 0); iThumbnailRequestIds.AppendL(TLoadingTN(iTnEngine->GetThumbnailL(*source), spaceId, tnSize, itemId)); - CleanupStack::PopAndDestroy(); + CleanupStack::PopAndDestroy(source); } } else @@ -659,7 +656,7 @@ #else CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(item.Uri(), 0); iThumbnailRequestIds.AppendL(TLoadingTN(iTnEngine->GetThumbnailL(*source), spaceId, tnSize, itemId)); - CleanupStack::PopAndDestroy(); + CleanupStack::PopAndDestroy(source); #endif } iThumbnailId = itemId; @@ -704,7 +701,7 @@ if (collection.UidL().iUid == KGlxCollectionPluginImageViewerImplementationUid) { TInt mediaCnt = list->Count(); - + TInt errInImage = KErrNone; GLX_DEBUG3("Image Viewer Collection - Attrib population! mediaCnt=%d, Media Id=%d", @@ -714,15 +711,27 @@ iMPXMedia = NULL; TFileName fileName; - fileName.Append(iImageViewerInstance->ImageUri()->Des()); - + //retrieve the filename as per the caller app. + if(!iImageViewerInstance->IsPrivate()) + { + //filemngr + fileName.Append(iImageViewerInstance->ImageUri()->Des()); + } + else + { + //msging + fileName.Append(iImageViewerInstance->ImageFileHandle().FullName(fileName)); + } iMPXMedia = CMPXMedia::NewL(); if(!iReader) { - iReader = CGlxImageReader::NewL(*this); - iSchedulerWait->Start(); + TRAP(errInImage,iReader = CGlxImageReader::NewL(*this)); + if(errInImage == KErrNone) + { + iSchedulerWait->Start(); + } } - + for ( TInt i = 0; i < iRequestedAttrs.Count(); i++ ) { if ( iRequestedAttrs[i] == KMPXMediaGeneralId ) @@ -761,7 +770,30 @@ } else if ( iRequestedAttrs[i] == KMPXMediaGeneralSize ) { - iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, 1000); + if(errInImage == KErrNone) + { + RFs fs; + TInt err = fs.Connect(); + if(err == KErrNone) + { + TEntry entry; + fs.Entry(fileName,entry); + TInt sz; + sz = entry.iSize; + fs.Close(); + iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, sz); + } + else + { + iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, 0); + } + } + // If any error while image is being decoded by image decorder, Need to set + // default vaule for that image. Typical case is corrupted image. + else + { + iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, 0); + } } else if ( iRequestedAttrs[i] == KMPXMediaGeneralDrive ) { @@ -770,9 +802,16 @@ } else if ( iRequestedAttrs[i] == KMPXMediaGeneralMimeType ) { - TDataType dataType; - GetMimeType(fileName, dataType); - iMPXMedia->SetTextValueL(KMPXMediaGeneralMimeType, dataType.Des()); + if(errInImage == KErrNone) + { + TDataType dataType; + GetMimeType(fileName, dataType); + iMPXMedia->SetTextValueL(KMPXMediaGeneralMimeType, dataType.Des()); + } + else + { + iMPXMedia->SetTextValueL(KMPXMediaGeneralMimeType, KDefaultType); + } } else if ( iRequestedAttrs[i] == KMPXMediaGeneralDuration ) { @@ -784,10 +823,17 @@ } else if ( iRequestedAttrs[i] == KGlxMediaGeneralDimensions ) { - //need to fetch the original file dimensions - TSize dimensions(iImgSz.iWidth,iImgSz.iHeight); - - iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions); + if(errInImage == KErrNone) + { + //need to fetch the original file dimensions + TSize dimensions(iImgSz.iWidth,iImgSz.iHeight); + iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions); + } + else + { + TSize dimensions(0,0); + iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions); + } } else if ( iRequestedAttrs[i] == KGlxMediaGeneralFramecount ) { @@ -1368,7 +1414,7 @@ TUid uid; User::LeaveIfError( session.AppForDocument( aFileName, uid, aMimeType ) ); - CleanupStack::PopAndDestroy(); // session + CleanupStack::PopAndDestroy(&session); } void CGlxCacheManager::ImageReadyL(const TInt& aError, const TSize aSz) diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/medialists/src/glximagereader.cpp --- a/photosgallery/viewframework/medialists/src/glximagereader.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/medialists/src/glximagereader.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -69,10 +69,17 @@ CGlxImageReader::~CGlxImageReader() { TRACER("CGlxImageReader::~"); - - Cancel(); - delete iFrame; - delete iImageDecoder; + if(iImageDecoder) + { + Cancel(); + delete iImageDecoder; + } + + if(iFrame) + { + delete iFrame; + } + if(iImgViewerMgr) { iImgViewerMgr->DeleteInstance(); @@ -89,7 +96,6 @@ CActiveScheduler::Add(this); iIsLaunchedFromFMngr = EFalse; - TDataType imageType; iImgViewerMgr = CGlxImageViewerManager::InstanceL(); if (iImgViewerMgr && iImgViewerMgr->IsPrivate()) @@ -97,47 +103,27 @@ iIsLaunchedFromFMngr = ETrue; } - GetFileTypeL(imageType); + TInt errInImage = KErrNone; if (iIsLaunchedFromFMngr) { // TODO type cast handle to RFile - iImageDecoder = CImageDecoder::FileNewL(iImgViewerMgr->ImageFileHandle(), ContentAccess::EPeek); + TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(iImgViewerMgr->ImageFileHandle(), ContentAccess::EPeek)); } else - { - iImageDecoder = CImageDecoder::FileNewL(CCoeEnv::Static()->FsSession(), iImgViewerMgr->ImageUri()->Des()); + { + TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(CCoeEnv::Static()->FsSession(), iImgViewerMgr->ImageUri()->Des())); } + if(errInImage != KErrNone) + { + User::Leave(errInImage); + } iFrame = new(ELeave)CFbsBitmap(); iFrame->Create(iImageDecoder->FrameInfo(0).iOverallSizeInPixels,iImageDecoder->FrameInfo(0).iFrameDisplayMode); iImageDecoder->Convert(&iStatus,*iFrame,0); SetActive(); } -// --------------------------------------------------------- -// CGlxImageReader::GetFileTypeL -// --------------------------------------------------------- -// -void CGlxImageReader::GetFileTypeL(TDataType aMimeType) - { - TRACER("CGlxImageReader::GetFileTypeL"); - - RApaLsSession session; - User::LeaveIfError(session.Connect()); - CleanupClosePushL(session); - - TUid uid; - if(iIsLaunchedFromFMngr) - { - // TODO type cast handle to RFile - User::LeaveIfError(session.AppForDocument(iImgViewerMgr->ImageFileHandle(), uid, aMimeType)); - } - else - { - User::LeaveIfError(session.AppForDocument(iImgViewerMgr->ImageUri()->Des(),uid,aMimeType)); - } - CleanupStack::PopAndDestroy(); // session - } // --------------------------------------------------------- // CGlxImageReader::DoCancel @@ -189,13 +175,13 @@ attributeSet.GetValue(EIsProtected,drmProtected); if(!drmProtected) { - CleanupStack::PopAndDestroy(); + CleanupStack::PopAndDestroy(&attributeSet); delete content; content = NULL; return EFalse; } attributeSet.GetValue(ECanView,rights); - CleanupStack::PopAndDestroy(); + CleanupStack::PopAndDestroy(&attributeSet); if(content) { diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/medialists/src/glxmedialist.cpp --- a/photosgallery/viewframework/medialists/src/glxmedialist.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/medialists/src/glxmedialist.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -39,16 +39,6 @@ #include "mglxmedialistobserver.h" #include "glxmediastaticitemdefs.h" -/** - * Min & Max wait interval for a modify event, in microseconds - * This is to allow thumbnail manager to procees the event first. - */ -const TInt KModifyEventMinWaitInterval = 2000000; -const TInt KModifyEventMaxWaitInterval = 3000000; -/** - * Maximum items count for minimum wait interval. - */ -const TInt KMaxItemsCount = 500; namespace NGlxMediaList { /** @@ -1520,31 +1510,6 @@ } CleanupStack::PopAndDestroy(&itemIndices); - RPointerArray& mediaLists = iMediaListArray->Array(); - TInt listCount = mediaLists.Count(); - GLX_DEBUG2("ML:HandleItemModifiedL listCount=%d", listCount); - if (listCount > 0) - { - CGlxMediaList* mediaList = mediaLists[listCount-1]; - // Force a delay to allow TNM to process the modified event - if (mediaList == this) - { - GLX_DEBUG3("ML:HandleItemModifiedL(wait) listCount=%d, Id=%d", - listCount, id.Value()); - TTimeIntervalMicroSeconds32 timeout; - timeout = (mediaList->Count() > KMaxItemsCount ? - KModifyEventMaxWaitInterval : KModifyEventMinWaitInterval ); - RTimer timer; - CleanupClosePushL(timer); - TRequestStatus status; - timer.CreateLocal(); - timer.After(status, timeout); - // User::WaitForRequest() will add codescanner warning but is necessary - // as User::WaitForAnyRequest() cannot be used in this case - User::WaitForRequest(status); - CleanupStack::PopAndDestroy(&timer); - } - } } } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/plugins/fullscreenviewplugin/data/2000A7C3.rss --- a/photosgallery/viewframework/plugins/fullscreenviewplugin/data/2000A7C3.rss Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/plugins/fullscreenviewplugin/data/2000A7C3.rss Thu Jan 07 12:46:23 2010 +0200 @@ -158,9 +158,9 @@ { implementation_uid = KGlxImageViewerFullScreenViewImplementationId; version_no = 1; - display_name = "Tag fullscreen view"; + display_name = "Image Viewer fullscreen view"; default_data = ""; - opaque_data = "

0x200104DD;0x200071CC;0x200104E6;0x200104E6;0x200104E6;0x200104E6

" + opaque_data = "

0x200104DD;0x2000A775;0x200104E6;0x200104E6;0x200104E6;0x200104E6

" "0x2000D24F" "0x0002" ""EMPXViewPluginPriorityLowest""; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxtagfullscreenviewplugin.cpp --- a/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxtagfullscreenviewplugin.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxtagfullscreenviewplugin.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -98,7 +98,7 @@ //For tag tile view GLX_LOG_INFO("Adding CGlxCommandHandlerRemoveFrom"); - //iTileView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL(iTileView, EMPXTag)); + iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom::NewL(iFullScreenView, EMPXTag)); // set up help context info TGlxHelpContext helpInfo; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/plugins/fullscreenviewpluginbase/eabi/glxfullscreenviewpluginbaseu.def --- a/photosgallery/viewframework/plugins/fullscreenviewpluginbase/eabi/glxfullscreenviewpluginbaseu.def Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/plugins/fullscreenviewpluginbase/eabi/glxfullscreenviewpluginbaseu.def Thu Jan 07 12:46:23 2010 +0200 @@ -1,12 +1,16 @@ EXPORTS - _ZN28CGlxFullScreenViewPluginBase15ConstructViewLCEv @ 1 NONAME - _ZN28CGlxFullScreenViewPluginBase19AddCommandHandlersLEv @ 2 NONAME - _ZN28CGlxFullScreenViewPluginBase20GetResourceFilenameLER4TBufILi256EE @ 3 NONAME - _ZN28CGlxFullScreenViewPluginBaseC1Ev @ 4 NONAME - _ZN28CGlxFullScreenViewPluginBaseC2Ev @ 5 NONAME - _ZN28CGlxFullScreenViewPluginBaseD0Ev @ 6 NONAME - _ZN28CGlxFullScreenViewPluginBaseD1Ev @ 7 NONAME - _ZN28CGlxFullScreenViewPluginBaseD2Ev @ 8 NONAME - _ZTI28CGlxFullScreenViewPluginBase @ 9 NONAME - _ZTV28CGlxFullScreenViewPluginBase @ 10 NONAME + _ZN22CGlxImageViewerManager17IncrementRefCountEv @ 1 NONAME + _ZN22CGlxImageViewerManager8ImageUriEv @ 2 NONAME + _ZN22CGlxImageViewerManager9IsPrivateEv @ 3 NONAME + _ZN28CGlxFullScreenViewPluginBase15ConstructViewLCEv @ 4 NONAME + _ZN28CGlxFullScreenViewPluginBase19AddCommandHandlersLEv @ 5 NONAME + _ZN28CGlxFullScreenViewPluginBase20GetResourceFilenameLER4TBufILi256EE @ 6 NONAME + _ZN28CGlxFullScreenViewPluginBaseC1Ev @ 7 NONAME + _ZN28CGlxFullScreenViewPluginBaseC2Ev @ 8 NONAME + _ZN28CGlxFullScreenViewPluginBaseD0Ev @ 9 NONAME + _ZN28CGlxFullScreenViewPluginBaseD1Ev @ 10 NONAME + _ZN28CGlxFullScreenViewPluginBaseD2Ev @ 11 NONAME + _ZNK22CGlxImageViewerManager15ImageFileHandleEv @ 12 NONAME + _ZTI28CGlxFullScreenViewPluginBase @ 13 NONAME + _ZTV28CGlxFullScreenViewPluginBase @ 14 NONAME diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/plugins/fullscreenviewpluginbase/src/glxfullscreenviewpluginbase.cpp --- a/photosgallery/viewframework/plugins/fullscreenviewpluginbase/src/glxfullscreenviewpluginbase.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/plugins/fullscreenviewpluginbase/src/glxfullscreenviewpluginbase.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -257,15 +257,6 @@ GLX_LOG_INFO("Adding CGlxCommandHandlerAiwShowMapHardKey"); iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAiwShowMapHardKey::NewL( iFullScreenView, ETrue)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerRemoveFrom"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom:: - NewL(iFullScreenView, EMPXTag)); - - GLX_LOG_INFO("Adding CGlxCommandHandlerRemoveFromFavourites"); - iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerRemoveFrom:: - NewRemFromFavCommandHandlerL(iFullScreenView )); - } // --------------------------------------------------------------------------- diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/plugins/gridviewplugin/data/glxgridviewdata.rss --- a/photosgallery/viewframework/plugins/gridviewplugin/data/glxgridviewdata.rss Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/plugins/gridviewplugin/data/glxgridviewdata.rss Thu Jan 07 12:46:23 2010 +0200 @@ -223,7 +223,8 @@ txt = qtn_lgal_options_add_to_album; flags = EEikMenuItemSpecific; }, MENU_ITEM { command = EGlxCmdAddTag; - txt = qtn_lgal_options_properties_add_tag; }, + txt = qtn_lgal_options_properties_add_tag; + flags = EEikMenuItemSpecific;}, MENU_ITEM { command = EGlxCmdAiwAssign; txt = qtn_lgal_options_use_items; cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; }, @@ -272,14 +273,15 @@ MENU_ITEM { command = EGlxCmdAiwEdit; txt = qtn_lgal_options_edit; cascade = AIW_INTELLIGENT_CASCADE_ID|AIW_LOCK_SUBMENU_TITLE; - flags = EEikMenuItemSpecific;}, + flags = EEikMenuItemSpecificListQuery;}, MENU_ITEM { command = EGlxCmdDetails; txt = qtn_lgal_options_details; }, MENU_ITEM { command = EGlxCmdMarkingSubmenu; txt = qtn_options_list; cascade = r_viu_editlist_menu; }, MENU_ITEM { command = EGlxCmdAddToAlbum; - txt = qtn_lgal_options_add_to_album; }, + txt = qtn_lgal_options_add_to_album; + flags = EEikMenuItemSpecific;}, MENU_ITEM { command = EGlxCmdAddTag; txt = qtn_lgal_options_properties_add_tag; flags = EEikMenuItemSpecific; }, diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/texturemanager/bwins/glxtexturemanageru.def --- a/photosgallery/viewframework/texturemanager/bwins/glxtexturemanageru.def Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/texturemanager/bwins/glxtexturemanageru.def Thu Jan 07 12:46:23 2010 +0200 @@ -1,17 +1,19 @@ EXPORTS - ?CreateColorAvkonIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTAknsItemID@@HVTRgb@@0HVTSize@@@Z @ 1 NONAME ; class CAlfTexture & CGlxTextureManager::CreateColorAvkonIconTextureL(class TAknsItemID const &, int, class TRgb, class TAknsItemID const &, int, class TSize) - ?CreateFlatColourTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@VTRgb@@@Z @ 2 NONAME ; class CAlfTexture & CGlxTextureManager::CreateFlatColourTextureL(class TRgb) - ?CreateAvkonIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTAknsItemID@@HVTSize@@@Z @ 3 NONAME ; class CAlfTexture & CGlxTextureManager::CreateAvkonIconTextureL(class TAknsItemID const &, int, class TSize) - ?CreateIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@HAAVTDesC16@@VTSize@@@Z @ 4 NONAME ; class CAlfTexture & CGlxTextureManager::CreateIconTextureL(int, class TDesC16 &, class TSize) - ?CreateZoomedTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTGlxMedia@@ABVTMPXAttribute@@V?$TGlxId@VTGlxIdSpaceIdBase@@@@PAVMGlxTextureObserver@@@Z @ 5 NONAME ; class CAlfTexture & CGlxTextureManager::CreateZoomedTextureL(class TGlxMedia const &, class TMPXAttribute const &, class TGlxId, class MGlxTextureObserver *) - ?NewL@CGlxTextureManager@@SAPAV1@AAVCAlfTextureManager@@@Z @ 6 NONAME ; class CGlxTextureManager * CGlxTextureManager::NewL(class CAlfTextureManager &) - ?RemoveTexture@CGlxTextureManager@@QAEXABVTGlxMediaId@@H@Z @ 7 NONAME ; void CGlxTextureManager::RemoveTexture(class TGlxMediaId const &, int) - ?TextureNeedsUpdating@CGlxTextureManager@@QAEHVTGlxMedia@@V?$TGlxId@VTGlxIdSpaceIdBase@@@@ABVTSize@@@Z @ 8 NONAME ; int CGlxTextureManager::TextureNeedsUpdating(class TGlxMedia, class TGlxId, class TSize const &) - ?RemoveTexture@CGlxTextureManager@@QAEXABVCAlfTexture@@@Z @ 9 NONAME ; void CGlxTextureManager::RemoveTexture(class CAlfTexture const &) - ?RemoveZoomList@CGlxTextureManager@@QAEXXZ @ 10 NONAME ; void CGlxTextureManager::RemoveZoomList(void) - ?CreateAnimatedGifTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTDesC16@@ABVTSize@@@Z @ 11 NONAME ; class CAlfTexture & CGlxTextureManager::CreateAnimatedGifTextureL(class TDesC16 const &, class TSize const &) - ?CreateAvkonIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTAknsItemID@@VTSize@@@Z @ 12 NONAME ; class CAlfTexture & CGlxTextureManager::CreateAvkonIconTextureL(class TAknsItemID const &, class TSize) - ?CreateColorIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@HAAVTDesC16@@VTRgb@@ABVTAknsItemID@@HVTSize@@@Z @ 13 NONAME ; class CAlfTexture & CGlxTextureManager::CreateColorIconTextureL(int, class TDesC16 &, class TRgb, class TAknsItemID const &, int, class TSize) - ?CreateThumbnailTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTGlxMedia@@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@ABVTSize@@PAVMGlxTextureObserver@@H@Z @ 14 NONAME ; class CAlfTexture & CGlxTextureManager::CreateThumbnailTextureL(class TGlxMedia const &, class TGlxId const &, class TSize const &, class MGlxTextureObserver *, int) - ?CreateNewTextureForMediaL@CGlxTextureManager@@QAEAAVCAlfTexture@@VTSize@@ABVTGlxMedia@@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@PAVMGlxTextureObserver@@@Z @ 15 NONAME ; class CAlfTexture & CGlxTextureManager::CreateNewTextureForMediaL(class TSize, class TGlxMedia const &, class TGlxId const &, class MGlxTextureObserver *) + ?FlushTextures@CGlxTextureManager@@QAEXXZ @ 1 NONAME ; void CGlxTextureManager::FlushTextures(void) + ?CreateZoomedTextureL@CGlxTextureManager@@QAEPAVCAlfTexture@@XZ @ 2 NONAME ; class CAlfTexture * CGlxTextureManager::CreateZoomedTextureL(void) + ?CreateColorAvkonIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTAknsItemID@@HVTRgb@@0HVTSize@@@Z @ 3 NONAME ; class CAlfTexture & CGlxTextureManager::CreateColorAvkonIconTextureL(class TAknsItemID const &, int, class TRgb, class TAknsItemID const &, int, class TSize) + ?CreateFlatColourTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@VTRgb@@@Z @ 4 NONAME ; class CAlfTexture & CGlxTextureManager::CreateFlatColourTextureL(class TRgb) + ?CreateAvkonIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTAknsItemID@@HVTSize@@@Z @ 5 NONAME ; class CAlfTexture & CGlxTextureManager::CreateAvkonIconTextureL(class TAknsItemID const &, int, class TSize) + ?CreateIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@HAAVTDesC16@@VTSize@@@Z @ 6 NONAME ; class CAlfTexture & CGlxTextureManager::CreateIconTextureL(int, class TDesC16 &, class TSize) + ?CreateZoomedTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTGlxMedia@@ABVTMPXAttribute@@V?$TGlxId@VTGlxIdSpaceIdBase@@@@PAVMGlxTextureObserver@@@Z @ 7 NONAME ; class CAlfTexture & CGlxTextureManager::CreateZoomedTextureL(class TGlxMedia const &, class TMPXAttribute const &, class TGlxId, class MGlxTextureObserver *) + ?NewL@CGlxTextureManager@@SAPAV1@AAVCAlfTextureManager@@@Z @ 8 NONAME ; class CGlxTextureManager * CGlxTextureManager::NewL(class CAlfTextureManager &) + ?RemoveTexture@CGlxTextureManager@@QAEXABVTGlxMediaId@@H@Z @ 9 NONAME ; void CGlxTextureManager::RemoveTexture(class TGlxMediaId const &, int) + ?TextureNeedsUpdating@CGlxTextureManager@@QAEHVTGlxMedia@@V?$TGlxId@VTGlxIdSpaceIdBase@@@@ABVTSize@@@Z @ 10 NONAME ; int CGlxTextureManager::TextureNeedsUpdating(class TGlxMedia, class TGlxId, class TSize const &) + ?RemoveTexture@CGlxTextureManager@@QAEXABVCAlfTexture@@@Z @ 11 NONAME ; void CGlxTextureManager::RemoveTexture(class CAlfTexture const &) + ?RemoveZoomList@CGlxTextureManager@@QAEXXZ @ 12 NONAME ; void CGlxTextureManager::RemoveZoomList(void) + ?CreateAnimatedGifTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTDesC16@@ABVTSize@@@Z @ 13 NONAME ; class CAlfTexture & CGlxTextureManager::CreateAnimatedGifTextureL(class TDesC16 const &, class TSize const &) + ?CreateAvkonIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTAknsItemID@@VTSize@@@Z @ 14 NONAME ; class CAlfTexture & CGlxTextureManager::CreateAvkonIconTextureL(class TAknsItemID const &, class TSize) + ?CreateColorIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@HAAVTDesC16@@VTRgb@@ABVTAknsItemID@@HVTSize@@@Z @ 15 NONAME ; class CAlfTexture & CGlxTextureManager::CreateColorIconTextureL(int, class TDesC16 &, class TRgb, class TAknsItemID const &, int, class TSize) + ?CreateThumbnailTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTGlxMedia@@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@ABVTSize@@PAVMGlxTextureObserver@@H@Z @ 16 NONAME ; class CAlfTexture & CGlxTextureManager::CreateThumbnailTextureL(class TGlxMedia const &, class TGlxId const &, class TSize const &, class MGlxTextureObserver *, int) + ?CreateNewTextureForMediaL@CGlxTextureManager@@QAEAAVCAlfTexture@@VTSize@@ABVTGlxMedia@@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@PAVMGlxTextureObserver@@@Z @ 17 NONAME ; class CAlfTexture & CGlxTextureManager::CreateNewTextureForMediaL(class TSize, class TGlxMedia const &, class TGlxId const &, class MGlxTextureObserver *) diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/texturemanager/eabi/glxtexturemanageru.def --- a/photosgallery/viewframework/texturemanager/eabi/glxtexturemanageru.def Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/texturemanager/eabi/glxtexturemanageru.def Thu Jan 07 12:46:23 2010 +0200 @@ -1,21 +1,23 @@ EXPORTS - _ZN18CGlxTextureManager13RemoveTextureERK11CAlfTexture @ 1 NONAME - _ZN18CGlxTextureManager13RemoveTextureERK11TGlxMediaIdi @ 2 NONAME - _ZN18CGlxTextureManager14RemoveZoomListEv @ 3 NONAME - _ZN18CGlxTextureManager18CreateIconTextureLEiR7TDesC165TSize @ 4 NONAME - _ZN18CGlxTextureManager20CreateZoomedTextureLERK9TGlxMediaRK13TMPXAttribute6TGlxIdI17TGlxIdSpaceIdBaseEP19MGlxTextureObserver @ 5 NONAME - _ZN18CGlxTextureManager20TextureNeedsUpdatingE9TGlxMedia6TGlxIdI17TGlxIdSpaceIdBaseERK5TSize @ 6 NONAME - _ZN18CGlxTextureManager23CreateAvkonIconTextureLERK11TAknsItemID5TSize @ 7 NONAME - _ZN18CGlxTextureManager23CreateAvkonIconTextureLERK11TAknsItemIDi5TSize @ 8 NONAME - _ZN18CGlxTextureManager23CreateColorIconTextureLEiR7TDesC164TRgbRK11TAknsItemIDi5TSize @ 9 NONAME - _ZN18CGlxTextureManager23CreateThumbnailTextureLERK9TGlxMediaRK6TGlxIdI17TGlxIdSpaceIdBaseERK5TSizeP19MGlxTextureObserveri @ 10 NONAME - _ZN18CGlxTextureManager24CreateFlatColourTextureLE4TRgb @ 11 NONAME - _ZN18CGlxTextureManager25CreateAnimatedGifTextureLERK7TDesC16RK5TSize @ 12 NONAME - _ZN18CGlxTextureManager25CreateNewTextureForMediaLE5TSizeRK9TGlxMediaRK6TGlxIdI17TGlxIdSpaceIdBaseEP19MGlxTextureObserver @ 13 NONAME - _ZN18CGlxTextureManager28CreateColorAvkonIconTextureLERK11TAknsItemIDi4TRgbS2_i5TSize @ 14 NONAME - _ZN18CGlxTextureManager4NewLER18CAlfTextureManager @ 15 NONAME - _ZTI22CGlxTextureManagerImpl @ 16 NONAME - _ZTI24CGlxBitmapDecoderWrapper @ 17 NONAME - _ZTV22CGlxTextureManagerImpl @ 18 NONAME - _ZTV24CGlxBitmapDecoderWrapper @ 19 NONAME + _ZN18CGlxTextureManager13FlushTexturesEv @ 1 NONAME + _ZN18CGlxTextureManager13RemoveTextureERK11CAlfTexture @ 2 NONAME + _ZN18CGlxTextureManager13RemoveTextureERK11TGlxMediaIdi @ 3 NONAME + _ZN18CGlxTextureManager14RemoveZoomListEv @ 4 NONAME + _ZN18CGlxTextureManager18CreateIconTextureLEiR7TDesC165TSize @ 5 NONAME + _ZN18CGlxTextureManager20CreateZoomedTextureLERK9TGlxMediaRK13TMPXAttribute6TGlxIdI17TGlxIdSpaceIdBaseEP19MGlxTextureObserver @ 6 NONAME + _ZN18CGlxTextureManager20CreateZoomedTextureLEv @ 7 NONAME + _ZN18CGlxTextureManager20TextureNeedsUpdatingE9TGlxMedia6TGlxIdI17TGlxIdSpaceIdBaseERK5TSize @ 8 NONAME + _ZN18CGlxTextureManager23CreateAvkonIconTextureLERK11TAknsItemID5TSize @ 9 NONAME + _ZN18CGlxTextureManager23CreateAvkonIconTextureLERK11TAknsItemIDi5TSize @ 10 NONAME + _ZN18CGlxTextureManager23CreateColorIconTextureLEiR7TDesC164TRgbRK11TAknsItemIDi5TSize @ 11 NONAME + _ZN18CGlxTextureManager23CreateThumbnailTextureLERK9TGlxMediaRK6TGlxIdI17TGlxIdSpaceIdBaseERK5TSizeP19MGlxTextureObserveri @ 12 NONAME + _ZN18CGlxTextureManager24CreateFlatColourTextureLE4TRgb @ 13 NONAME + _ZN18CGlxTextureManager25CreateAnimatedGifTextureLERK7TDesC16RK5TSize @ 14 NONAME + _ZN18CGlxTextureManager25CreateNewTextureForMediaLE5TSizeRK9TGlxMediaRK6TGlxIdI17TGlxIdSpaceIdBaseEP19MGlxTextureObserver @ 15 NONAME + _ZN18CGlxTextureManager28CreateColorAvkonIconTextureLERK11TAknsItemIDi4TRgbS2_i5TSize @ 16 NONAME + _ZN18CGlxTextureManager4NewLER18CAlfTextureManager @ 17 NONAME + _ZTI22CGlxTextureManagerImpl @ 18 NONAME + _ZTI24CGlxBitmapDecoderWrapper @ 19 NONAME + _ZTV22CGlxTextureManagerImpl @ 20 NONAME + _ZTV24CGlxBitmapDecoderWrapper @ 21 NONAME diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/texturemanager/inc/glxtexturemanager.h --- a/photosgallery/viewframework/texturemanager/inc/glxtexturemanager.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/texturemanager/inc/glxtexturemanager.h Thu Jan 07 12:46:23 2010 +0200 @@ -188,6 +188,13 @@ TGlxIdSpaceId aIdSpaceId, MGlxTextureObserver* aObserver); /** + * Create a texture from a zoomed thumbnail for a given texture ID + * @param aTextureId The texture id, for which the texture is removed. + * @return Created texture + */ + IMPORT_C CAlfTexture* CreateZoomedTextureL() ; + + /** * Create an animated texture from a GIF file * @param aFilename The filename of the GIF file * @param aSize The size of the GIF file @@ -225,6 +232,11 @@ */ IMPORT_C void RemoveTexture(const TGlxMediaId& aMediaId, TBool aAllTexture=EFalse); + /** + * Removes ALL Textures + */ + IMPORT_C void FlushTextures() ; + public: // from MGlxSkinChangeObserver void HandleSkinChanged(); diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/texturemanager/inc/glxtexturemanagerimpl.h --- a/photosgallery/viewframework/texturemanager/inc/glxtexturemanagerimpl.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/texturemanager/inc/glxtexturemanagerimpl.h Thu Jan 07 12:46:23 2010 +0200 @@ -144,6 +144,13 @@ TGlxIdSpaceId aIdSpaceId, MGlxTextureObserver* aObserver); /** + * If we have a texture ID, we recreate the Zoomed texture based on that + * + * @param aTextureID the texture ID to create the texture on. + */ + CAlfTexture* CreateZoomedTextureL( ); + + /** * Create an animated texture from a GIF file * @param aFilename The filename of the GIF file * @param aSize The size of the GIF file @@ -158,6 +165,13 @@ * @param aTexture The texture to be removed */ void RemoveTexture( const CAlfTexture& aTexture ); + + /** + * Removes all Texteures + * + */ + void FlushTextures() ; + /** * Removes the texture if it was created by CreateThumbnailTextureL or * CreateZoomedTextureL diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/texturemanager/src/glxtexturemanager.cpp --- a/photosgallery/viewframework/texturemanager/src/glxtexturemanager.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/texturemanager/src/glxtexturemanager.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -215,6 +215,17 @@ } // ----------------------------------------------------------------------------- +// CreateZoomedTextureL +// ----------------------------------------------------------------------------- +// +EXPORT_C CAlfTexture* CGlxTextureManager::CreateZoomedTextureL() + { + TRACER("CGlxTextureManager::CreateZoomedTextureL 2"); + GLX_LOG_INFO( "CGlxTextureManager::CreateZoomedTextureL 2" ); + return iImpl->CreateZoomedTextureL(); + } + +// ----------------------------------------------------------------------------- // CreateAnimatedGifTextureL // ----------------------------------------------------------------------------- // @@ -262,6 +273,16 @@ } // ----------------------------------------------------------------------------- +// FlushTextures +// ----------------------------------------------------------------------------- +// +EXPORT_C void CGlxTextureManager::FlushTextures() + { + TRACER("CGlxTextureManager::FlushTextures "); + iImpl->FlushTextures(); + } + +// ----------------------------------------------------------------------------- // IsBetterThumbnailAvailable // ----------------------------------------------------------------------------- // diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/texturemanager/src/glxtexturemanagerimpl.cpp --- a/photosgallery/viewframework/texturemanager/src/glxtexturemanagerimpl.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/texturemanager/src/glxtexturemanagerimpl.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -284,7 +284,7 @@ TRAPD(err, texture = &iAlfTextureManager.CreateTextureL( icon.iTextureId, this, - EAlfTextureFlagDefault)); + EAlfTextureFlagDefault)); if(err) { // if error delete entry and leave @@ -298,7 +298,11 @@ } } - User::LeaveIfNull(texture); //should not be possible + if (NULL == texture) + { + User::Leave(KErrNotFound); + } + return *texture; } @@ -324,6 +328,15 @@ // create a new one. if (!GetThumbnailAttributeAndIndexL(aSize, aMedia, aIdSpaceId, thumbnailIndex, thumbNailAttribute)) { + // only texture is missing. + if ( (NULL != iThumbnailList[thumbnailIndex].iBitmap) && (NULL == iThumbnailList[thumbnailIndex].iTexture)) + { + CAlfTexture* newTexture = &iAlfTextureManager.CreateTextureL( + iThumbnailList[thumbnailIndex].iTextureId, + this, + EAlfTextureFlagDefault); + iThumbnailList[thumbnailIndex].iTexture = newTexture ; + } return *iThumbnailList[thumbnailIndex].iTexture; } @@ -517,6 +530,45 @@ } } } + +// ----------------------------------------------------------------------------- +// FlushTextures Removes All Textures +// ----------------------------------------------------------------------------- +// +void CGlxTextureManagerImpl::FlushTextures() + { + TRACER("CGlxTextureManagerImpl::FlushTextures"); + + TInt textureID ; + TInt i = iThumbnailList.Count(); + + while(i > 0) + { + --i; + textureID = iThumbnailList[i].iTextureId; + iAlfTextureManager.UnloadTexture(textureID ); + iThumbnailList[i].iTexture = NULL; + } + + i = iIconList.Count(); + while(i > 0) + { + --i; + textureID = iIconList[i].iTextureId; + iAlfTextureManager.UnloadTexture(textureID ); + iIconList[i].iTexture = NULL; + } + + i = iZoomedList.Count(); + while(i > 0) + { + --i; + textureID = iZoomedList[i].iTextureId; + iAlfTextureManager.UnloadTexture(textureID ); + iZoomedList[i].iTexture = NULL; + } + } + // ----------------------------------------------------------------------------- // GetThumbnailAttributeAndIndexL // ----------------------------------------------------------------------------- @@ -551,10 +603,35 @@ } } } - return ETrue; } - +// ----------------------------------------------------------------------------- +// CreateNewTextureL +// ----------------------------------------------------------------------------- +CAlfTexture* CGlxTextureManagerImpl::CreateZoomedTextureL() + { + TRACER("CGlxTextureManagerImpl::CreateZoomedTextureL"); + TInt count = iZoomedList.Count(); + TInt index = 0 ; + + for (index = count-1; index >=0 ; index--) + { + if (NULL == iZoomedList[index].iTexture) + { + if (NULL != iZoomedList[index].iBitmap) + { + // If we got this far we need to create a new texture + iZoomedList[index].iTextureId = NextTextureId(); + iZoomedList[index].iTexture = &iAlfTextureManager.CreateTextureL( + iZoomedList[index].iTextureId, + this, + EAlfTextureFlagDefault); + return iZoomedList[index].iTexture ; + } + } + } + return NULL; + } // ----------------------------------------------------------------------------- // CreateNewTextureL // ----------------------------------------------------------------------------- @@ -610,7 +687,7 @@ //Add to the thumbnail list GLX_LOG_INFO("CGlxTextureManagerImpl::CreateNewTextureL iThumbnailList.Append "); iThumbnailList.Append(aThumbData); - } + } else { GLX_LOG_INFO1("CGlxTextureManagerImpl::CreateNewTextureL,count=%d",iZoomedList.Count()); @@ -631,7 +708,6 @@ iThumbnailList[index].iTexture = newTexture; iThumbnailList[index].iRequiredSize = aSize; } - else { GLX_LOG_INFO("CGlxTextureManagerImpl::CreateNewTextureL else aIsThumbnailTexture "); @@ -656,7 +732,6 @@ return *newTexture; } - // ----------------------------------------------------------------------------- // CreateZoomedTextureL // ----------------------------------------------------------------------------- @@ -667,13 +742,13 @@ { TRACER("CGlxTextureManagerImpl::CreateZoomedTextureL"); if(!iZoomDecoder) - { - GLX_LOG_INFO("CGlxTextureManagerImpl:: CreateZoomedTextureL,iZoomDecoder == NULL"); - iZoomDecoder = CGlxBitmapDecoderWrapper::NewL(this); - } - + { + GLX_LOG_INFO("CGlxTextureManagerImpl:: CreateZoomedTextureL,iZoomDecoder == NULL"); + iZoomDecoder = CGlxBitmapDecoderWrapper::NewL(this); + } + TGlxThumbnailIcon aThumbData; - + aThumbData.iTextureId = NextTextureId(); aThumbData.iTexture = NULL; aThumbData.iAttribId = aAttribute; @@ -693,7 +768,6 @@ iZoomedList[index].iObserver = aObserver ; iZoomDecoder->DoDecodeImageL(aMedia.Uri(), iZoomedList.Count()-1); - return *(iZoomedList[index].iTexture); } @@ -881,8 +955,12 @@ } // Leave if bitmap or mask is NULL. - User::LeaveIfNull( aBitmap ); - + + if (NULL == aBitmap) + { + User::Leave(KErrNotFound); + } + // set size // In preference use requested size if there is one TInt height =TInt(iResUtil->PossToPixels(icon.iHeightInPoss)); @@ -1023,66 +1101,60 @@ TBool textureCreated = ETrue; TInt textureID = -1; TInt textureToBeUnloaded = -1; - + //check if the image is decoded if(aBitmap != NULL) - { - iZoomedList[aThumbnailIndex].iBitmap = aBitmap; - - //if we already have a texture then dont unload the texture before creating - //the next one. It might happen that because of low memory we might not be able - //to create a new texture. - if(iZoomedList[aThumbnailIndex].iTexture) - { - textureID = NextTextureId(); - textureToBeUnloaded = iZoomedList[aThumbnailIndex].iTextureId ; - iZoomedList[aThumbnailIndex].iTextureId = textureID ; - } - else - { - textureID = iZoomedList[aThumbnailIndex].iTextureId; - } - - TRAPD(err, newTexture = &iAlfTextureManager.CreateTextureL( - textureID, this, EAlfTextureFlagDefault)); - if ( KErrNone != err && KErrNoMemory == err ) - { - GLX_LOG_INFO("CGlxTextureManagerImpl::HandleBitmapDecoded ReleaseRam : START RAM RELEASE"); - iCache->ReleaseRAML(ETrue); - TRAPD(err, newTexture = &iAlfTextureManager.CreateTextureL(textureID, this, EAlfTextureFlagDefault)); - if ( KErrNone != err && KErrNoMemory == err ) - { - GLX_LOG_INFO("CGlxTextureManagerImpl::HandleBitmapDecoded CreateTextureL : LOW MEMORY CONDITION"); - textureCreated = EFalse; - } - } - } - else - { - textureCreated = EFalse; - } - - if(iZoomedList[aThumbnailIndex].iBitmap) { - GLX_LOG_INFO("CGlxTextureManagerImpl::HandleBitmapDecoded delete iBitmap"); - delete iZoomedList[aThumbnailIndex].iBitmap; - iZoomedList[aThumbnailIndex].iBitmap = NULL; + iZoomedList[aThumbnailIndex].iBitmap = aBitmap; + + //if we already have a texture then dont unload the texture before creating + //the next one. It might happen that because of low memory we might not be able + //to create a new texture. + if(iZoomedList[aThumbnailIndex].iTexture) + { + textureID = NextTextureId(); + textureToBeUnloaded = iZoomedList[aThumbnailIndex].iTextureId ; + iZoomedList[aThumbnailIndex].iTextureId = textureID ; + } + else + { + textureID = iZoomedList[aThumbnailIndex].iTextureId; + } + + TRAPD(err, newTexture = &iAlfTextureManager.CreateTextureL( + textureID, this, EAlfTextureFlagDefault)); + if ( KErrNone != err && KErrNoMemory == err ) + { + GLX_LOG_INFO("CGlxTextureManagerImpl::HandleBitmapDecoded ReleaseRam : START RAM RELEASE"); + iCache->ReleaseRAML(ETrue); + TRAPD(err, newTexture = &iAlfTextureManager.CreateTextureL(textureID, this, EAlfTextureFlagDefault)); + if ( KErrNone != err && KErrNoMemory == err ) + { + GLX_LOG_INFO("CGlxTextureManagerImpl::HandleBitmapDecoded CreateTextureL : LOW MEMORY CONDITION"); + textureCreated = EFalse; + } + } + } + else + { + textureCreated = EFalse; } - + + + if (textureCreated && (NULL != newTexture)) { GLX_LOG_INFO("CGlxTextureManagerImpl::HandleBitmapDecoded textureCreated && newTexture"); //If the new texture is created then unload the old texture and store the new texture and textureID. if(iZoomedList[aThumbnailIndex].iTexture) - { - GLX_LOG_INFO("CGlxTextureManagerImpl::HandleBitmapDecoded Unloading Old Texture"); - iAlfTextureManager.UnloadTexture(textureToBeUnloaded ); - } - iZoomedList[aThumbnailIndex].iTextureId = textureID; - + { + GLX_LOG_INFO("CGlxTextureManagerImpl::HandleBitmapDecoded Unloading Old Texture"); + iAlfTextureManager.UnloadTexture(textureToBeUnloaded ); + } + iZoomedList[aThumbnailIndex].iTextureId = textureID; iZoomedList[aThumbnailIndex].iTexture = newTexture; } - + if (iZoomedList[aThumbnailIndex].iObserver) { GLX_LOG_INFO("CGlxTextureManagerImpl::HandleBitmapDecoded TextureContentChangedL"); diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/uiutilities/src/glxuiutility.cpp --- a/photosgallery/viewframework/uiutilities/src/glxuiutility.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/uiutilities/src/glxuiutility.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -673,7 +673,6 @@ EXPORT_C TBool CGlxUiUtility::IsExitingState() { TRACER("CGlxUiUtility::ExitingState"); - RDebug::Printf("iIsExiting = %d", iIsExiting); return iIsExiting; } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h --- a/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h Thu Jan 07 12:46:23 2010 +0200 @@ -227,10 +227,10 @@ /* * Calculates and returns the Initial Zoom factor */ - TInt GetIntialZoomLevel(); + TInt GetInitialZoomLevel(); /* - * Calls GetIntialZoomLevel() to get the Zoom Level and Sets the Value to the + * Calls GetInitialZoomLevel() to get the Zoom Level and Sets the Value to the * Slider Level */ void SetSliderLevel(); diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp --- a/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -74,13 +74,11 @@ #define GetAppViewUi() (dynamic_cast(CEikonEnv::Static()->EikAppUi())) const TInt KGlxScreenTimeout =10000000; const TInt KCoverflowDataWindowSize = 1; -const TInt KGlxRotationDelay = 800; // Milliseconds const TInt KGlxMaxSmallImageZoomLevel =150; const TInt KGlxMaxBigImageZoomLevel =100; const TInt KGlxMinSmallImageZoomLevel =100; const TInt KGlxNeutralPinchPosition =100; const TInt KGlxSliderTickValue =5; -_LIT(KGlxIconsFilename, "glxicons.mif"); /** * Start Delay for the periodic timer, in microseconds */ @@ -291,6 +289,12 @@ const TDesC8 & /* aCustomMessage */) { TRACER("CGlxFullScreenViewImp::DoMLViewActivateL"); + // hide the toolbar + CAknToolbar* toolbar = Toolbar(); + if(toolbar) + { + toolbar->SetToolbarVisibility(EFalse); + } //Fix For EPKA-7U5DT7-slideshow launched from FullScreen and connect USB in mass storage mode results in Photos crash if(!iMediaList->Count()) { @@ -317,6 +321,9 @@ } } iScreenFurniture->SetActiveView(iViewUid); + + // create the screen furniture for touch devices + CreateScreenFurnitureL(); //set the ui state to off,when the Fullscreen launches SetUiSate(NGlxNFullScreenUIState::EUiOff); @@ -326,8 +333,6 @@ // create the coverflow CreateCoverflowWidgetL(); - // create the screen furniture for touch devices - CreateScreenFurnitureL(); CreateSliderWidgetL(); @@ -391,13 +396,13 @@ iCoverFlowWidget->SetFlags(IMulMultiItemWidget::EMulWidgetDoubleTap); // Widget takes the ownership - iCoverFlowWidget->AddEventHandler (*this); - - // hide appui's status pane - GetAppViewUi()->StatusPane()->MakeVisible(EFalse); - - // hide appui's softkeys - GetAppViewUi()->Cba()->MakeVisible(EFalse); + iCoverFlowWidget->AddEventHandler (*this); + + // hide appui's status pane + GetAppViewUi()->StatusPane()->MakeVisible(EFalse); + + // hide appui's softkeys + GetAppViewUi()->Cba()->MakeVisible(EFalse); iCoverFlowWidget->ShowWidget(ETrue); iCoverFlowWidget->control()->AcquireFocus(); @@ -555,6 +560,9 @@ CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current(); CleanupStack::PushL( cba ); cba->SetCommandSetL(R_GLX_FULLSCREEN_SOFTKEYS); + // hide the softkeys + cba->MakeVisible( EFalse ); + cba->DrawNow(); CleanupStack::Pop(cba); } @@ -665,11 +673,10 @@ if(iZoomControl && !iZoomControl->Activated()) { iHdmiController->ActivateZoom(); - iZoomControl->ActivateL(GetIntialZoomLevel(),aStartMode, focus, item, apZoomFocus); - - //==Removing all textures other than the focussed one=============== + iZoomControl->ActivateL(GetInitialZoomLevel(),aStartMode, focus, item, apZoomFocus); + + // Now to remove all textures other than the one we are focussing on. TInt count = iMediaList->Count(); - while (count > 0) { TGlxMedia mediaItem = iMediaList->Item(count-1); @@ -679,7 +686,6 @@ } count--; } - //==\Removing all textures============== } else { @@ -755,14 +761,25 @@ { TRACER("CGlxFullScreenViewImp::HandleForegroundEventL"); CAknView::HandleForegroundEventL(aForeground); + - if(!aForeground) - { - if(iZoomControl && iZoomControl->Activated()) - { - iZoomControl->HandleZoomForegroundEvent(aForeground); - } - } + if(iZoomControl && iZoomControl->Activated()) + { + iZoomControl->HandleZoomForegroundEvent(aForeground); + } + + if (!aForeground) + { + iUiUtility->GlxTextureManager().FlushTextures(); + } + else + { + if (iMediaList && iMediaList->Count() && iMediaListMulModelProvider) + { + TInt focusIndex = iMediaList->FocusIndex(); + iMediaListMulModelProvider->UpdateItems(focusIndex, 1); + } + } } @@ -1053,14 +1070,10 @@ // and activates the fullscreenview if((aControl == iZoomControl)&& (aCommandId == KGlxZoomOutCommand)) { - SetSliderLevel(); - DeactivateZoomControlL(); - } - /*else if(aControl == iSingleLineMetaPane) - { - ProcessCommandL(aCommandId); - }*/ - } + SetSliderLevel(); + DeactivateZoomControlL(); + } + } // --------------------------------------------------------------------------- // From HandleResourceChangeL.. @@ -1082,12 +1095,12 @@ } //---------------------------------------------------------------------------------- -// IntialZoomLevel:Calculate the initial Zoom Level for the Image +// InitialZoomLevel:Calculate the initial Zoom Level for the Image //---------------------------------------------------------------------------------- // -TInt CGlxFullScreenViewImp::GetIntialZoomLevel() +TInt CGlxFullScreenViewImp::GetInitialZoomLevel() { - TRACER("CGlxFullScreenViewImp::IntialZoomLevel"); + TRACER("CGlxFullScreenViewImp::InitialZoomLevel"); TInt focus = iMediaList->FocusIndex(); TGlxMedia item = iMediaList->Item( focus ); TSize size; @@ -1120,7 +1133,7 @@ { TRACER("CGlxFullScreenViewImp::SetSliderLevel"); - TInt value = GetIntialZoomLevel(); + TInt value = GetInitialZoomLevel(); if(iSliderModel) { iSliderModel->SetMinRange(value); @@ -1308,5 +1321,5 @@ TRACER("CGlxFullScreenViewImp::RemoveTexture"); const TGlxMedia& item = iMediaList->Item(GetIndexToBeRemoved()); - iUiUtility->GlxTextureManager().RemoveTexture(item.Id(),EFalse); + iUiUtility->GlxTextureManager().RemoveTexture(item.Id(),EFalse); } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp --- a/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -558,7 +558,7 @@ if(iMediaList == aList) { - for(TInt i = aStartIndex;i <= aEndIndex; i++ ) + for(TInt i = aEndIndex ;i >= aStartIndex; i-- ) { iList->RemoveItem(i); } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/views/metadatadialog/data/glxmetadatadialog.rss --- a/photosgallery/viewframework/views/metadatadialog/data/glxmetadatadialog.rss Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/views/metadatadialog/data/glxmetadatadialog.rss Thu Jan 07 12:46:23 2010 +0200 @@ -109,7 +109,7 @@ { identifier = EDateAndTimeItem; setting_page_resource = r_metadata_name_settings_page; - name = qtn_lgal_details_date_time; + name = qtn_lgal_details_date_and_time; empty_item_text = " "; }, AVKON_SETTING_ITEM @@ -374,7 +374,7 @@ // RESOURCE TBUF r_glx_metadata_view_date_time_nseries { - buf = qtn_lgal_details_date_time; + buf = qtn_lgal_details_date_and_time; } // ----------------------------------------------------------------------------- // reource for metadata view file size pane @@ -415,6 +415,36 @@ //===========================start of Imageviewer details Dialog================// //==============================================================================// +RESOURCE EIK_APP_INFO + { + menubar = r_imgvwr_metadata_menubar; + cba = R_AVKON_SOFTKEYS_OPTIONS_BACK; + } + // ----------------------------------------------------------------------------- +// reource for menubar +// ----------------------------------------------------------------------------- +// +RESOURCE MENU_BAR r_imgvwr_metadata_menubar + { + titles= + { + MENU_TITLE { menu_pane = r_imgvwr_metadata_menu; txt = qtn_lgal_title_details; } + }; + } + + +// ----------------------------------------------------------------------------- +// reource for menupane +// ----------------------------------------------------------------------------- +// +RESOURCE MENU_PANE r_imgvwr_metadata_menu + { + items= + { + MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; } + }; + } + // ----------------------------------------------------------------------------- // Metadata Dialog // ----------------------------------------------------------------------------- @@ -452,7 +482,7 @@ { identifier = EImgVwrDateAndTimeItem; setting_page_resource = r_metadata_name_settings_page; - name = qtn_lgal_details_date_time; + name = qtn_lgal_details_date_and_time; empty_item_text = " "; }, AVKON_SETTING_ITEM diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatadialog.cpp --- a/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatadialog.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatadialog.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -116,7 +116,7 @@ iUiUtility = CGlxUiUtility::UtilityL(); // Call the base class' two-phased constructor - CAknDialog::ConstructL( R_METADATA_MENUBAR ); + CAknDialog::ConstructL( R_IMGVWR_METADATA_MENUBAR ); } @@ -190,7 +190,36 @@ // ----------------------------------------------------------------------------- // void CGlxImgVwrMetadataDialog::ProcessCommandL( TInt aCommandId ) - {} + { + + TRACER("CGlxImgVwrMetadataDialog::ProcessCommandL"); + // hide menu bar + iMenuBar->StopDisplayingMenuBar(); + switch( aCommandId ) + { + /// @todo need to put the proper help file.for the time being it will not do any thing. + /* + case EAknCmdHelp: + { + TCoeHelpContext helpContext; + helpContext.iMajor = TUid::Uid( KGlxGalleryApplicationUid ); + helpContext.iContext.Copy( LGAL_HLP_DETAILS_VIEW ); + const TInt KListSz = 1; + CArrayFix* contextList = + new (ELeave) CArrayFixFlat( KListSz ); + CleanupStack::PushL(contextList); + contextList->AppendL(helpContext); + HlpLauncher::LaunchHelpApplicationL( + iEikonEnv->WsSession(), contextList ); + CleanupStack::Pop( contextList ); + break; + }*/ + + default: + break; + } + + } //----------------------------------------------------------------------------- // CGlxImgVwrMetadataDialog::CreateCustomControlL //----------------------------------------------------------------------------- diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp --- a/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -543,12 +543,11 @@ if( aMenuId == R_METADATA_MENU ) { //Set dim the options based on the utem selected - //Edit option will be available only for ENameItem,EDescriptionItem,ETagsItem,EAlbumItem //Viewdetails option will be availble only for the license item //Delete option will be available only for the location item - //aMenuPane->SetItemDimmed(KGlxEditBoundMenuCommandId,IsItemModifiable()); aMenuPane->SetItemDimmed(KGlxViewBoundMenuCommandId,IsLicenseItem()); - aMenuPane->SetItemDimmed(KGlxDeleteBoundMenuCommandId,IsLocationItem()); + //location info will be enabled if the item has a location info + aMenuPane->SetItemDimmed(KGlxDeleteBoundMenuCommandId,IsLocationItem()); aMenuPane->SetItemDimmed(EGlxCmdAiwShowMap,IsLocationItem()); } diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/views/zoomview/inc/glxzoomcontrol.h --- a/photosgallery/viewframework/views/zoomview/inc/glxzoomcontrol.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/views/zoomview/inc/glxzoomcontrol.h Thu Jan 07 12:46:23 2010 +0200 @@ -220,7 +220,7 @@ TBool HandlePointerEventsL(const TAlfEvent &aEvent); - TInt GetIntialZoomLevel(TSize& aSize ); + TInt GetInitialZoomLevel(TSize& aSize ); private: // Data CAlfEnv* iEnv; // AlfEnv diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h --- a/photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h Thu Jan 07 12:46:23 2010 +0200 @@ -62,6 +62,13 @@ */ void CancelZoomPanTimer(); + void CancelAnimationTimer(); + + /** + * Stops the timer for showing the UI. + */ + void CancelUITimer(); + /* * ActivateZoom from the Zoom control */ @@ -167,10 +174,6 @@ */ void StartPanTimer(); - /** - * Stops the timer for showing the UI. - */ - void CancelUITimer(); /** * Starts the timer for showing the UI. @@ -250,7 +253,6 @@ void NextStepInerticPan(); - void CancelAnimationTimer(); @@ -268,7 +270,7 @@ TPoint iStartDisplayPoint; // The variable holds the starting pointer posistion to determine the Drag Distance TTime iDoubleTap; // This Variable is used to determine the double tap,by using the difference of the time // between subsequent single Tap. - // [todo] do we need this variable to be global + // [todo] do we need this variable to be at a class level TInt iZoomRatio; TRect iDoubleTapRect; // This varaible holds the rect for the Double Tap TBool iDragOngoing; // Is a drag event ongoing @@ -278,25 +280,20 @@ TPoint iPreviousPointerPosition; TPoint iPreviousDragStartPosition; - // for the animated zoom to 50 % allowed. TBool iIsZoomingInAnimatedState; TAnimationMode iAnimatedZoomMode; CPeriodic* iZoomAnimationTimer; TInt iZoomPerInterval; TInt iTargetAnimatedZoomRatio; - // for the animated zoom to 50 % allowed. END - - // For considering Zoom Focus. - TPoint iZoomFocus; // Not used right now. WIll soon carry the coordinates of the zoom focus. - // For considering Zoom Focus. END + - // For Pan Inertia. + TPoint iZoomFocus; + GestureHelper::TGestureCode iPreviousGestureCode ; - // For Pan Inertia. END - TGlxZoomAndPanMathsEngine iMathsEngine; // The new Maths engine at the core of the Zoom Component + TGlxZoomAndPanMathsEngine iMathsEngine; }; diff -r 4e91876724a2 -r 9ba538e329bd photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp --- a/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp Thu Dec 17 08:45:44 2009 +0200 +++ b/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp Thu Jan 07 12:46:23 2010 +0200 @@ -195,7 +195,6 @@ iImageVisual->SetScaleMode(CAlfImageVisual::EScaleFitInside); iEventHandler = CGlxZoomPanEventHandler::NewL(*this); - } // ----------------------------------------------------------------------------- @@ -275,12 +274,13 @@ //This Varaiable updates that we are in zoom state now. iZoomActive = ETrue; //To Retrive the image details - TMPXAttribute thumbNailAttribute(0,0); + TMPXAttribute thumbNailAttribute(0,0); + TGlxIdSpaceId idspace = iMediaList.IdSpaceId( aFocusIndex ); //Get the texture Created in fullscreen View. iImageTexture = &(iTextureMgr->CreateNewTextureForMediaL( - ScreenSize(),aItem, idspace, this )); - iImageVisual->SetImage(*iImageTexture); + ScreenSize(),aItem, idspace, this )); + iImageVisual->SetImage(*iImageTexture); if(iGlxTvOut->IsConnected()) { @@ -292,52 +292,53 @@ iZoomSliderWidget.AddEventHandler(*this); iZoomSliderWidget.SetHandleKeyEvent(EFalse); iZoomSliderModel = (IMulSliderModel*) iZoomSliderWidget.model(); - // Get size, return value tells us if it was available - //We need this Value to calculate the size of the visual/Layout corresponding to the Zoom factor - TSize imageSize; - aItem.GetDimensions( imageSize ); - TSize maxVirtualImageSize = imageSize; - - if (KGlxDecodingThreshold < (imageSize.iWidth * imageSize.iHeight)) - { - TReal areaRatio = TReal(imageSize.iWidth*imageSize.iHeight)/KGlxDecodingThreshold ; - - TReal sideRatio; - Math::Sqrt(sideRatio, areaRatio); - + // Get size, return value tells us if it was available + //We need this Value to calculate the size of the visual/Layout corresponding to the Zoom factor + TSize imageSize; + aItem.GetDimensions( imageSize ); + TSize maxVirtualImageSize = imageSize; + + if (KGlxDecodingThreshold < (imageSize.iWidth * imageSize.iHeight)) + { + TReal areaRatio = TReal(imageSize.iWidth*imageSize.iHeight)/KGlxDecodingThreshold ; + + TReal sideRatio; + Math::Sqrt(sideRatio, areaRatio); + + maxVirtualImageSize.iHeight = imageSize.iHeight / sideRatio ; + maxVirtualImageSize.iWidth = imageSize.iWidth / sideRatio ; + } - maxVirtualImageSize.iHeight = imageSize.iHeight / sideRatio ; - maxVirtualImageSize.iWidth = imageSize.iWidth / sideRatio ; - - } - - TInt initialZoomRatio = GetIntialZoomLevel(maxVirtualImageSize); - iZoomSliderModel->SetMinRange(initialZoomRatio); - - iEventHandler->SetZoomActivated(ETrue); - iEventHandler->ActivateZoom(initialZoomRatio, - maxVirtualImageSize, - aStartMode, - iZoomSliderModel->MinRange(), - iZoomSliderModel->MaxRange(), - maxVirtualImageSize, - aZoomFocus); - - TRAP_IGNORE(iImageTexture = - &(iTextureMgr->CreateZoomedTextureL(aItem,thumbNailAttribute,idspace,this))); - - //This is for handling the alaram interrupt events,that causes the phone to freeze. - CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current(); - if (NULL != cba) - { - if (cba->IsVisible()) + // Now since our maximum size possible is 3 MP. all our zoom percentages will be relative to it. + // So our initial zoom ratio will be different and cnsequently our minimum slider value too will change. + // Maximum is an + TInt initialZoomRatio = GetInitialZoomLevel(maxVirtualImageSize); + iZoomSliderModel->SetMinRange(initialZoomRatio); + + iEventHandler->SetZoomActivated(ETrue); + iEventHandler->ActivateZoom(initialZoomRatio, + maxVirtualImageSize, + aStartMode, + iZoomSliderModel->MinRange(), + iZoomSliderModel->MaxRange(), + maxVirtualImageSize, + aZoomFocus); + + TRAP_IGNORE(iImageTexture = + &(iTextureMgr->CreateZoomedTextureL(aItem,thumbNailAttribute,idspace,this))); + + //This is for handling the alaram interrupt events,that causes the phone to freeze. + CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current(); + if (NULL != cba) { - cba->ActivateL(); + if (cba->IsVisible()) + { + cba->ActivateL(); + } } } } } -} // --------------------------------------------------------------------------- // StartZoomAnimation // --------------------------------------------------------------------------- @@ -433,9 +434,35 @@ EXPORT_C void CGlxZoomControl::HandleZoomForegroundEvent(TBool aForeground) { TRACER("CGlxZoomControl::HandleZoomForegroundEventL()"); + + //Refeed the textures if we are coming back to foreground from background + //To Retrive the image details + TMPXAttribute thumbNailAttribute(0,0); + TInt focusIndex = iMediaList.FocusIndex(); + TGlxIdSpaceId idspace = iMediaList.IdSpaceId( focusIndex ); + //Get the texture Created in fullscreen View. + TGlxMedia item = iMediaList.Item( focusIndex ); + if (!aForeground) { iEventHandler->CancelZoomPanTimer(); + iEventHandler->CancelUITimer(); + iEventHandler->CancelAnimationTimer(); + } + else + { + // if we already have the decoded zoomed image bitmap use the texture corresponding to that. + // Else make do with the fullscreen texture till that happens. + TRAP_IGNORE(iImageTexture = + iTextureMgr->CreateZoomedTextureL()); + + if (NULL == iImageTexture) + { + iImageTexture = &(iTextureMgr->CreateNewTextureForMediaL( + ScreenSize(),item, idspace, this )); + } + + iImageVisual->SetImage(*iImageTexture); } } @@ -504,9 +531,9 @@ //decode and show anything. So try and check if the fullscreen texture //is created by now if not then go to fullscreen view. - if(aNewTexture == NULL) + if(NULL == aNewTexture ) { - if(iImageTexture == NULL) + if(NULL == iImageTexture) { TSize TextureSize = ScreenSize(); TInt focus = iMediaList.FocusIndex(); @@ -818,9 +845,13 @@ iEventHandler->SetPreviousEventCode(code); } -TInt CGlxZoomControl::GetIntialZoomLevel(TSize& aSize ) +// ----------------------------------------------------------------------------- +// GetInitialZoomLevel +// ----------------------------------------------------------------------------- +// +TInt CGlxZoomControl::GetInitialZoomLevel(TSize& aSize ) { - TRACER("CGlxZoomControl::IntialZoomLevel"); + TRACER("CGlxZoomControl::InitialZoomLevel"); TRect rect = AlfUtil::ScreenSize(); TUint8 initialZoomLevel;