# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1273583620 -10800 # Node ID a60acebbbd9d024c396e8e97e0c4ad2e66bb309c # Parent 191387a8b76707d1681a9cf11365d0c490f454ac Revision: 201017 Kit: 201019 diff -r 191387a8b767 -r a60acebbbd9d photosgallery/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp --- a/photosgallery/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp Tue May 11 16:13:40 2010 +0300 @@ -102,26 +102,40 @@ // ---------------------------------------------------------------------------- // EXPORT_C void CGlxCollectionPluginBase::OpenL(const CMPXCollectionPath& aPath, - const TArray& /*aAttrs*/, + const TArray& aAttrs, CMPXFilter* aFilter) { TRACER("void CGlxCollectionPluginBase::OpenL()"); iPath = CMPXCollectionPath::NewL(aPath); - if(aFilter) + // When a collection is opened for browsing, + // there are two queries executed with similar filter. + // First query to open the collection from list / cloud view. + // Second one from grid view construction. To improve the grid opening + // performance, the first query will be completed with empty Id list. + TBool openRequest = EFalse; + for (TInt index = 0; index < aAttrs.Count(); index++) { - if(aFilter->IsSupported(KGlxFilterGeneralNavigationalStateOnly)) + const TMPXAttribute attr = aAttrs[index]; + + if (attr == KGlxFilterGeneralNavigationalStateOnly) { - RArray mpxIds; - CleanupClosePushL(mpxIds); - iPath->AppendL(mpxIds.Array()); - iObs->HandleOpen(iPath, KErrNone); - CleanupStack::PopAndDestroy(&mpxIds); - delete iPath; - iPath = NULL; - return; + openRequest = ETrue; } } + if ((aFilter && aFilter->IsSupported( + KGlxFilterGeneralNavigationalStateOnly)) || openRequest) + { + RArray mpxIds; + CleanupClosePushL(mpxIds); + iPath->AppendL(mpxIds.Array()); + iObs->HandleOpen(iPath, KErrNone); + CleanupStack::PopAndDestroy(&mpxIds); + delete iPath; + iPath = NULL; + return; + } + TGlxMediaId targetId(aPath.Id()); if (aPath.Levels() == KGlxCollectionRootLevel) { diff -r 191387a8b767 -r a60acebbbd9d photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp --- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Tue May 11 16:13:40 2010 +0300 @@ -189,13 +189,12 @@ // retrieve the value TInt value = 0; - TInt Err = iProperty.Get(value); - GLX_DEBUG2("CGlxMDSShutdownObserver::RunL(): iProperty.Get(value); returns %d", Err); + TInt err = iProperty.Get(value); + GLX_DEBUG2("CGlxMDSShutdownObserver::RunL(): iProperty.Get(value); returns %d", err); - User::LeaveIfError(Err); + User::LeaveIfError(err); iObserver.ShutdownNotification(value); - } // --------------------------------------------------------------------------- @@ -345,10 +344,7 @@ void CGlxDataSourceMde::HandleSessionError(CMdESession& /*aSession*/, TInt aError ) { TRACER("CGlxDataSourceMde::HandleSessionError(CMdESession& /*aSession*/, TInt aError)") - delete iSession; - iSession = NULL; - - GLX_DEBUG2("void CGlxDataSourceMde::HandleSessionError() Session Error = %d", aError); + GLX_DEBUG2("void CGlxDataSourceMde::HandleSessionError() aError(%d)", aError); iDataSourceReady = EFalse; iSessionOpen = EFalse; @@ -362,7 +358,6 @@ } } - // --------------------------------------------------------------------------- // CreateTaskL // --------------------------------------------------------------------------- @@ -533,7 +528,9 @@ iSession->AddObjectObserverL(*this, addCondition ); iSession->AddObjectPresentObserverL(*this ); - CleanupStack::Pop( addCondition ); //This addCondition should only be popped. The destroy part will be done by MDS. + // This addCondition should only be popped. + // As the ownership is transferred, the same will be destroyed by MdS. + CleanupStack::Pop( addCondition ); } // --------------------------------------------------------------------------- @@ -711,9 +708,10 @@ void CGlxDataSourceMde::CreateSessionL() { TRACER("CGlxDataSourceMde::CreateSessionL()"); + delete iSession; + iSession = NULL; iSession = CMdESession::NewL( *this ); } - // --------------------------------------------------------------------------- // ProcessItemUpdate @@ -1245,15 +1243,25 @@ } } +// --------------------------------------------------------------------------- +// ShutdownNotification +// --------------------------------------------------------------------------- +// void CGlxDataSourceMde::ShutdownNotification(TInt aShutdownState) { TRACER("void CGlxDataSourceMde::ShutdownNotification(TInt aShutdownState)") - GLX_DEBUG2("CGlxDataSourceMde::ShutdownNotification(TInt aShutdownState) aShutdownState = %d", aShutdownState); + GLX_DEBUG2("CGlxDataSourceMde::ShutdownNotification(aShutdownState=%d)", + aShutdownState); - // iDataSourceReady is set to false if we have lost an MDS session. - // a ShutdownNotification with aaShutdownState == 0 means that MDS has restarted. So this is the time to recreate a session with MDS. - if ( (!iDataSourceReady) && (0 == aShutdownState) ) + if (!iDataSourceReady && 0 == aShutdownState) { + GLX_DEBUG1("Photos MdS ShutdownNotification - MdS Server restarted!"); CreateSession(); } + + if (iDataSourceReady && 1 == aShutdownState) + { + GLX_DEBUG1("Photos MdS ShutdownNotification - MdS Server Shutdown!"); + HandleSessionError(*iSession, KErrServerTerminated); + } } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/collectionframework/plugins/glxcollectionpluginmonths/src/glxcollectionpluginmonths.cpp --- a/photosgallery/collectionframework/plugins/glxcollectionpluginmonths/src/glxcollectionpluginmonths.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/collectionframework/plugins/glxcollectionpluginmonths/src/glxcollectionpluginmonths.cpp Tue May 11 16:13:40 2010 +0300 @@ -55,8 +55,11 @@ const TInt KDateBufferPaddingMin = 10; const TInt KDateBufferPaddingMax = 20; const TInt KDateFormat1 = 1; + +#ifdef SHOW_MONTHS_START_END_SUB_TITLE const TInt KDateFormat2 = 2; const TInt KDateFormat3 = 3; +#endif _LIT(KResourceFile, "z:glxpluginmonths.rsc"); @@ -120,8 +123,10 @@ // need to add the usage count. but check first if it is already present TInt attrCount = aAttributeArray.Count(); TBool found = EFalse; +#if defined(GLX_SUB_TITLE_REL8) || defined(SHOW_MONTHS_START_END_SUB_TITLE) TBool startfound = EFalse; TBool endfound = EFalse; +#endif #ifdef GLX_SUB_TITLE_REL8 @@ -177,6 +182,7 @@ { found = ETrue; } +#ifdef SHOW_MONTHS_START_END_SUB_TITLE else if ( aAttributeArray[index] == KGlxMediaCollectionInternalStartDate ) { startfound = ETrue; @@ -185,12 +191,14 @@ { endfound = ETrue; } +#endif // #ifdef SHOW_MONTHS_START_END_SUB_TITLE } if (!found) { aAttributeArray.Append(KGlxMediaCollectionInternalUsageCount); } +#ifdef SHOW_MONTHS_START_END_SUB_TITLE if (!startfound) { aAttributeArray.Append(KGlxMediaCollectionInternalStartDate); @@ -199,7 +207,8 @@ { aAttributeArray.Append(KGlxMediaCollectionInternalEndDate); } -#endif +#endif // #ifdef SHOW_MONTHS_START_END_SUB_TITLE +#endif // #ifdef GLX_SUB_TITLE_REL8 // end date will be returned when start date is requested. } } @@ -284,11 +293,10 @@ if (attr == KGlxMediaCollectionPluginSpecificSubTitle) { GLX_LOG_INFO("Attribute : SubTitle"); - +#if defined(GLX_SUB_TITLE_REL8) || defined(SHOW_MONTHS_START_END_SUB_TITLE) if (TGlxMediaId(KGlxCollectionRootId) == aMediaId) { GLX_LOG_INFO("Attribute : SubTitle-RootId"); - #ifdef GLX_SUB_TITLE_REL8 //The usage Count is required for the subtitle in the main list view @@ -410,8 +418,8 @@ #endif } else +#endif // #if defined(GLX_SUB_TITLE_REL8) || defined(SHOW_MONTHS_START_END_SUB_TITLE) { - #ifdef GLX_SUB_TITLE_REL8 HBufC* tempTitle = NULL; diff -r 191387a8b767 -r a60acebbbd9d photosgallery/collectionframework/plugins/tagcollectionplugin/rom/tagcollectionplugin.iby --- a/photosgallery/collectionframework/plugins/tagcollectionplugin/rom/tagcollectionplugin.iby Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/collectionframework/plugins/tagcollectionplugin/rom/tagcollectionplugin.iby Tue May 11 16:13:40 2010 +0300 @@ -26,4 +26,3 @@ #endif // __TAGCOLLECTIONPLUGIN_IBY__ // End of file ------------------------------------------------------------ \ No newline at end of file diff -r 191387a8b767 -r a60acebbbd9d photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp --- a/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Tue May 11 16:13:40 2010 +0300 @@ -244,7 +244,7 @@ } // Set the grid to use different layout for landscape mode in fetcher - //iHgGrid->SetToolbarVisibility(EFalse); + iHgGrid->SetToolbarVisibility(EFalse); iHgGrid->SetSelectedIndex(iMediaList->FocusIndex()); // Setting to MopParent to update background skin iHgGrid->SetMopParent(this); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/controllers/imageviewer/inc/glximageviewermanager.h --- a/photosgallery/controllers/imageviewer/inc/glximageviewermanager.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/controllers/imageviewer/inc/glximageviewermanager.h Tue May 11 16:13:40 2010 +0300 @@ -44,8 +44,8 @@ /** * Singleton constructor. */ - static CGlxImageViewerManager* InstanceL(); - + IMPORT_C static CGlxImageViewerManager* InstanceL(); + public: IMPORT_C HBufC* ImageUri(); IMPORT_C RFile64& ImageFileHandle(); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/gallery/group/glx_loc.rss --- a/photosgallery/gallery/group/glx_loc.rss Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/gallery/group/glx_loc.rss Tue May 11 16:13:40 2010 +0300 @@ -41,12 +41,12 @@ RESOURCE LOCALISABLE_APP_INFO r_glx_localisable_app_info { - short_caption = qtn_lgal_title_main_view; + short_caption = qtn_lgal_photos_app_title; caption_and_icon = { CAPTION_AND_ICON_INFO { - caption=qtn_lgal_title_main_view; + caption=qtn_lgal_photos_app_title; number_of_icons=1; icon_file="\\resource\\apps\\glx_aif.mif"; } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/gallery/src/glxappui.cpp --- a/photosgallery/gallery/src/glxappui.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/gallery/src/glxappui.cpp Tue May 11 16:13:40 2010 +0300 @@ -223,6 +223,12 @@ HandleActivationMessageL(aMessageParameters); break; } + + //Safely we can call Destroy screen here, as there can be already + //photos in background and bringing it to foreground does not + //give the ViewActivate( ) callback to view. + iUiUtility->DestroyScreenClearer(); + return response; } @@ -246,6 +252,18 @@ CleanupStack::PopAndDestroy( newState ); } + //Start a timer to check for thr IAD update after 60 Secs. + //Only when any view is launched in photos. + if(!iPeriodic) + { + iPeriodic = CPeriodic::NewL(CActive::EPriorityLow); + } + if ( !iPeriodic->IsActive() ) + { + iPeriodic->Start( KPeriodicStartDelay, KMaxTInt, + TCallBack( &PeriodicCallback, static_cast(this) ) ); + } + if(0 == aTail.CompareC(KNullDesC8)) { return ETrue; @@ -469,23 +487,19 @@ CleanupClosePushL(stream); stream >> msgUid; - //Start a timer to check for thr IAD update after 30 Secs. - if(!iPeriodic) - { - iPeriodic = CPeriodic::NewL(CActive::EPriorityLow); - } - if ( !iPeriodic->IsActive() ) - { - iPeriodic->Start( KPeriodicStartDelay, KMaxTInt, - TCallBack( &PeriodicCallback, static_cast(this) ) ); - } - switch ( msgUid.iUid ) { case KGlxActivationCmdShowLastModified: case KGlxActivationCameraAlbum: case KGlxActivationCmdShowAll: { + GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL: Creating Screen Clearer"); + iUiUtility->DisplayScreenClearerL(); + HBufC8* activationParam = HBufC8::NewLC(KMaxUidName); + activationParam->Des().AppendNum(KGlxActivationCmdShowAll); + SetActivationParamL(*activationParam); + CleanupStack::PopAndDestroy(activationParam); + // Go to All grid view GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL: All Grid View"); // Send the command to reset the view @@ -751,9 +765,6 @@ //Temparory fix provided for Kern Exec 3 bug //UPnP Stop Showin is explicitly called when exiting the gallery GlxUpnpRenderer:: StopShowingL(); - - iUiUtility->SetExitingState(ETrue); - GLX_LOG_INFO("CGlxAppUi::HandleWsEventL: Exit() for C key being Called"); - + iUiUtility->SetExitingState(ETrue); } //OOM diff -r 191387a8b767 -r a60acebbbd9d photosgallery/imgvwr/group/glxivwr_loc.rss --- a/photosgallery/imgvwr/group/glxivwr_loc.rss Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/imgvwr/group/glxivwr_loc.rss Tue May 11 16:13:40 2010 +0300 @@ -41,12 +41,12 @@ RESOURCE LOCALISABLE_APP_INFO r_glx_localisable_app_info { - short_caption = qtn_lgal_title_main_view; + short_caption = qtn_lgal_photos_app_title; caption_and_icon = { CAPTION_AND_ICON_INFO { - caption=qtn_lgal_title_main_view; + caption=qtn_lgal_photos_app_title; number_of_icons=1; icon_file="\\resource\\apps\\glx_aif.mif"; } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/bwins/shwslideshowengineu.def --- a/photosgallery/slideshow/engine/bwins/shwslideshowengineu.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/bwins/shwslideshowengineu.def Tue May 11 16:13:40 2010 +0300 @@ -1,27 +1,28 @@ EXPORTS - ??1CShwSettingsModel@@UAE@XZ @ 1 NONAME ; CShwSettingsModel::~CShwSettingsModel(void) + ?StartL@CShwSlideshowEngine@@QAEXAAVCAlfEnv@@AAVCAlfDisplay@@AAVMGlxMediaList@@AAVMShwMusicObserver@@VTSize@@@Z @ 1 NONAME ; void CShwSlideshowEngine::StartL(class CAlfEnv &, class CAlfDisplay &, class MGlxMediaList &, class MShwMusicObserver &, class TSize) ??1CShwSlideshowEngine@@UAE@XZ @ 2 NONAME ; CShwSlideshowEngine::~CShwSlideshowEngine(void) - ?AvailableEffectsL@CShwSlideshowEngine@@SAXAAV?$RArray@VTShwEffectInfo@@@@@Z @ 3 NONAME ; void CShwSlideshowEngine::AvailableEffectsL(class RArray &) - ?LSKPressedL@CShwSlideshowEngine@@QAEXXZ @ 4 NONAME ; void CShwSlideshowEngine::LSKPressedL(void) - ?MusicNamePathL@CShwSettingsModel@@QBEXAAVTDes16@@@Z @ 5 NONAME ; void CShwSettingsModel::MusicNamePathL(class TDes16 &) const - ?MusicOnL@CShwSettingsModel@@QBEHXZ @ 6 NONAME ; int CShwSettingsModel::MusicOnL(void) const - ?NewL@CShwSettingsModel@@SAPAV1@XZ @ 7 NONAME ; class CShwSettingsModel * CShwSettingsModel::NewL(void) - ?NewL@CShwSlideshowEngine@@SAPAV1@AAVMShwEngineObserver@@@Z @ 8 NONAME ; class CShwSlideshowEngine * CShwSlideshowEngine::NewL(class MShwEngineObserver &) - ?NextItemL@CShwSlideshowEngine@@QAEXXZ @ 9 NONAME ; void CShwSlideshowEngine::NextItemL(void) - ?PauseL@CShwSlideshowEngine@@QAEXXZ @ 10 NONAME ; void CShwSlideshowEngine::PauseL(void) - ?PlayOrderL@CShwSettingsModel@@QAEHXZ @ 11 NONAME ; int CShwSettingsModel::PlayOrderL(void) - ?PreviousItemL@CShwSlideshowEngine@@QAEXXZ @ 12 NONAME ; void CShwSlideshowEngine::PreviousItemL(void) - ?ResumeL@CShwSlideshowEngine@@QAEXXZ @ 13 NONAME ; void CShwSlideshowEngine::ResumeL(void) - ?SaveMusicNamePathL@CShwSettingsModel@@QAEXABVTDesC16@@@Z @ 14 NONAME ; void CShwSettingsModel::SaveMusicNamePathL(class TDesC16 const &) - ?SaveMusicStateL@CShwSettingsModel@@QAEXH@Z @ 15 NONAME ; void CShwSettingsModel::SaveMusicStateL(int) - ?SavePlayOrderL@CShwSettingsModel@@QAEXH@Z @ 16 NONAME ; void CShwSettingsModel::SavePlayOrderL(int) - ?SaveTransDelayL@CShwSettingsModel@@QAEXH@Z @ 17 NONAME ; void CShwSettingsModel::SaveTransDelayL(int) - ?SaveTransitionTypeL@CShwSettingsModel@@QAEXVTUid@@I@Z @ 18 NONAME ; void CShwSettingsModel::SaveTransitionTypeL(class TUid, unsigned int) - ?StartL@CShwSlideshowEngine@@QAEXAAVCAlfEnv@@AAVCAlfDisplay@@AAVMGlxMediaList@@AAVMShwMusicObserver@@VTSize@@@Z @ 19 NONAME ; void CShwSlideshowEngine::StartL(class CAlfEnv &, class CAlfDisplay &, class MGlxMediaList &, class MShwMusicObserver &, class TSize) - ?State@CShwSlideshowEngine@@QBE?AW4TShwState@1@XZ @ 20 NONAME ; enum CShwSlideshowEngine::TShwState CShwSlideshowEngine::State(void) const - ?ToggleUiControlsVisibiltyL@CShwSlideshowEngine@@QAEXXZ @ 21 NONAME ; void CShwSlideshowEngine::ToggleUiControlsVisibiltyL(void) + ??1CShwSettingsModel@@UAE@XZ @ 3 NONAME ; CShwSettingsModel::~CShwSettingsModel(void) + ?AvailableEffectsL@CShwSlideshowEngine@@SAXAAV?$RArray@VTShwEffectInfo@@@@@Z @ 4 NONAME ; void CShwSlideshowEngine::AvailableEffectsL(class RArray &) + ?SaveMusicNamePathL@CShwSettingsModel@@QAEXABVTDesC16@@@Z @ 5 NONAME ; void CShwSettingsModel::SaveMusicNamePathL(class TDesC16 const &) + ?State@CShwSlideshowEngine@@QBE?AW4TShwState@1@XZ @ 6 NONAME ; enum CShwSlideshowEngine::TShwState CShwSlideshowEngine::State(void) const + ?LSKPressedL@CShwSlideshowEngine@@QAEXXZ @ 7 NONAME ; void CShwSlideshowEngine::LSKPressedL(void) + ?PlayOrderL@CShwSettingsModel@@QAEHXZ @ 8 NONAME ; int CShwSettingsModel::PlayOrderL(void) + ?SaveMusicStateL@CShwSettingsModel@@QAEXH@Z @ 9 NONAME ; void CShwSettingsModel::SaveMusicStateL(int) + ?PreviousItemL@CShwSlideshowEngine@@QAEXXZ @ 10 NONAME ; void CShwSlideshowEngine::PreviousItemL(void) + ?VolumeDownL@CShwSlideshowEngine@@QAEXXZ @ 11 NONAME ; void CShwSlideshowEngine::VolumeDownL(void) + ?VolumeUpL@CShwSlideshowEngine@@QAEXXZ @ 12 NONAME ; void CShwSlideshowEngine::VolumeUpL(void) + ?SaveTransitionTypeL@CShwSettingsModel@@QAEXVTUid@@I@Z @ 13 NONAME ; void CShwSettingsModel::SaveTransitionTypeL(class TUid, unsigned int) + ?MusicNamePathL@CShwSettingsModel@@QBEXAAVTDes16@@@Z @ 14 NONAME ; void CShwSettingsModel::MusicNamePathL(class TDes16 &) const + ?NewL@CShwSettingsModel@@SAPAV1@XZ @ 15 NONAME ; class CShwSettingsModel * CShwSettingsModel::NewL(void) + ?NextItemL@CShwSlideshowEngine@@QAEXXZ @ 16 NONAME ; void CShwSlideshowEngine::NextItemL(void) + ?MusicOnL@CShwSettingsModel@@QBEHXZ @ 17 NONAME ; int CShwSettingsModel::MusicOnL(void) const + ?TransitionTypeL@CShwSettingsModel@@QBEXAAVTUid@@AAI@Z @ 18 NONAME ; void CShwSettingsModel::TransitionTypeL(class TUid &, unsigned int &) const + ?ResumeL@CShwSlideshowEngine@@QAEXXZ @ 19 NONAME ; void CShwSlideshowEngine::ResumeL(void) + ?SavePlayOrderL@CShwSettingsModel@@QAEXH@Z @ 20 NONAME ; void CShwSettingsModel::SavePlayOrderL(int) + ?SaveTransDelayL@CShwSettingsModel@@QAEXH@Z @ 21 NONAME ; void CShwSettingsModel::SaveTransDelayL(int) ?TransDelayL@CShwSettingsModel@@QBEHXZ @ 22 NONAME ; int CShwSettingsModel::TransDelayL(void) const - ?TransitionTypeL@CShwSettingsModel@@QBEXAAVTUid@@AAI@Z @ 23 NONAME ; void CShwSettingsModel::TransitionTypeL(class TUid &, unsigned int &) const - ?VolumeDownL@CShwSlideshowEngine@@QAEXXZ @ 24 NONAME ; void CShwSlideshowEngine::VolumeDownL(void) - ?VolumeUpL@CShwSlideshowEngine@@QAEXXZ @ 25 NONAME ; void CShwSlideshowEngine::VolumeUpL(void) + ?GetMusicVolumeL@CShwSlideshowEngine@@QAEXXZ @ 23 NONAME ; void CShwSlideshowEngine::GetMusicVolumeL(void) + ?PauseL@CShwSlideshowEngine@@QAEXXZ @ 24 NONAME ; void CShwSlideshowEngine::PauseL(void) + ?ToggleUiControlsVisibiltyL@CShwSlideshowEngine@@QAEXXZ @ 25 NONAME ; void CShwSlideshowEngine::ToggleUiControlsVisibiltyL(void) + ?NewL@CShwSlideshowEngine@@SAPAV1@AAVMShwEngineObserver@@@Z @ 26 NONAME ; class CShwSlideshowEngine * CShwSlideshowEngine::NewL(class MShwEngineObserver &) diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/controlsrc/shwmusiccontrol.cpp --- a/photosgallery/slideshow/engine/controlsrc/shwmusiccontrol.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/controlsrc/shwmusiccontrol.cpp Tue May 11 16:13:40 2010 +0300 @@ -238,6 +238,18 @@ } // --------------------------------------------------------------------------- +// GetMusicVolumeL +// --------------------------------------------------------------------------- +void CShwMusicControl::GetMusicVolumeL() + { + TRACER("CShwMusicControl::GetMusicVolumeL"); + if ( iCanPlay ) + { + VolumeL(); + } + } + +// --------------------------------------------------------------------------- // From class MMPXPlaybackObserver // Handle playback message - required for debugging state of MPX // Player component diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/controlsrc/shwmusiccontrol.h --- a/photosgallery/slideshow/engine/controlsrc/shwmusiccontrol.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/controlsrc/shwmusiccontrol.h Tue May 11 16:13:40 2010 +0300 @@ -126,6 +126,11 @@ */ void HandleMediaL( const CMPXMedia& aProperties, TInt aError ); + + /** + * Get the latest music volume value. + */ + void GetMusicVolumeL(); private: // From MMPXPlaybackObserver diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/coresrc/shwplaybackfactory.cpp --- a/photosgallery/slideshow/engine/coresrc/shwplaybackfactory.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/coresrc/shwplaybackfactory.cpp Tue May 11 16:13:40 2010 +0300 @@ -97,6 +97,8 @@ /// @ref CShwSlideshowEngine::AvailableEffectsL // @returns ownership of array of effects static void CreateEffectsL( RPointerArray& aEffects ); + /// @ref CShwSlideshowEngine::GetMusicVolumeL + void GetMusicVolumeL(); private: @@ -207,6 +209,15 @@ CleanupStack::PopAndDestroy( &effects ); } +// ----------------------------------------------------------------------------- +// GetMusicVolumeL +// ----------------------------------------------------------------------------- +void CShwPlaybackFactory::GetMusicVolumeL() + { + TRACER("CShwPlaybackFactory::GetMusicVolumeL"); + this->iImpl->GetMusicVolumeL(); + } + //------------------------------------------------------------------------------ // CShwPlaybackFactoryImpl //------------------------------------------------------------------------------ @@ -364,3 +375,15 @@ CleanupStack::Pop(); // CShwCrossFadeEffect::NewLC() CleanupStack::Pop(&aEffects); } + +//------------------------------------------------------------------------------ +// CShwPlaybackFactoryImpl::GetMusicVolumeL +//------------------------------------------------------------------------------ +void CShwPlaybackFactory::CShwPlaybackFactoryImpl::GetMusicVolumeL() + { + TRACER("CShwPlaybackFactory::CShwPlaybackFactoryImpl::GetMusicVolumeL"); + if(iMusicControl) + { + iMusicControl->GetMusicVolumeL(); + } + } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/coresrc/shwplaybackfactory.h --- a/photosgallery/slideshow/engine/coresrc/shwplaybackfactory.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/coresrc/shwplaybackfactory.h Tue May 11 16:13:40 2010 +0300 @@ -90,6 +90,9 @@ /// @ref CShwSlideshowEngine::AvailableEffectsL static void AvailableEffectsL( RArray& aEffects ); + /// @ref CShwSlideshowEngine::GetMusicVolumeL + void GetMusicVolumeL(); + private: /// Own: The implementation of the class, hidden from the clients diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/coresrc/shwslideshowengine.cpp --- a/photosgallery/slideshow/engine/coresrc/shwslideshowengine.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/coresrc/shwslideshowengine.cpp Tue May 11 16:13:40 2010 +0300 @@ -145,7 +145,7 @@ } // ----------------------------------------------------------------------------- -// ResumeL. +// VolumeDownL. // ----------------------------------------------------------------------------- EXPORT_C void CShwSlideshowEngine::VolumeDownL() { @@ -153,6 +153,16 @@ GLX_LOG_INFO("CShwSlideshowEngine::VolumeDownL"); this->iImpl->VolumeDownL(); } + +// ----------------------------------------------------------------------------- +// GetMusicVolumeL +// ----------------------------------------------------------------------------- +EXPORT_C void CShwSlideshowEngine::GetMusicVolumeL() + { + TRACER("CShwSlideshowEngine::GetMusicVolumeL"); + this->iImpl->GetMusicVolumeL(); + } + // ----------------------------------------------------------------------------- // ToggleControlsVisibiltyL. LSKPressed // ----------------------------------------------------------------------------- diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/coresrc/shwslideshowengineimpl.cpp --- a/photosgallery/slideshow/engine/coresrc/shwslideshowengineimpl.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/coresrc/shwslideshowengineimpl.cpp Tue May 11 16:13:40 2010 +0300 @@ -275,6 +275,17 @@ } } +// ----------------------------------------------------------------------------- +// GetMusicVolumeL +// ----------------------------------------------------------------------------- +void CShwSlideshowEngineImpl::GetMusicVolumeL() + { + TRACER("CShwSlideshowEngineImpl::GetMusicVolumeL"); + if(iFactory) + { + iFactory->GetMusicVolumeL(); + } + } // ----------------------------------------------------------------------------- // ResumeL. diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/coresrc/shwslideshowengineimpl.h --- a/photosgallery/slideshow/engine/coresrc/shwslideshowengineimpl.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/coresrc/shwslideshowengineimpl.h Tue May 11 16:13:40 2010 +0300 @@ -107,6 +107,8 @@ void VolumeUpL(); /// @ref CShwSlideshowEngine::VolumeDownL void VolumeDownL(); + /// @ref CShwSlideshowEngine::GetMusicVolumeL + void GetMusicVolumeL(); public: // From MShwEventObserver diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/eabi/shwslideshowengineu.def --- a/photosgallery/slideshow/engine/eabi/shwslideshowengineu.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/eabi/shwslideshowengineu.def Tue May 11 16:13:40 2010 +0300 @@ -12,20 +12,21 @@ _ZN19CShwSlideshowEngine11LSKPressedLEv @ 11 NONAME _ZN19CShwSlideshowEngine11VolumeDownLEv @ 12 NONAME _ZN19CShwSlideshowEngine13PreviousItemLEv @ 13 NONAME - _ZN19CShwSlideshowEngine17AvailableEffectsLER6RArrayI14TShwEffectInfoE @ 14 NONAME - _ZN19CShwSlideshowEngine26ToggleUiControlsVisibiltyLEv @ 15 NONAME - _ZN19CShwSlideshowEngine4NewLER18MShwEngineObserver @ 16 NONAME - _ZN19CShwSlideshowEngine6PauseLEv @ 17 NONAME - _ZN19CShwSlideshowEngine6StartLER7CAlfEnvR11CAlfDisplayR13MGlxMediaListR17MShwMusicObserver5TSize @ 18 NONAME - _ZN19CShwSlideshowEngine7ResumeLEv @ 19 NONAME - _ZN19CShwSlideshowEngine9NextItemLEv @ 20 NONAME - _ZN19CShwSlideshowEngine9VolumeUpLEv @ 21 NONAME - _ZN19CShwSlideshowEngineD0Ev @ 22 NONAME - _ZN19CShwSlideshowEngineD1Ev @ 23 NONAME - _ZN19CShwSlideshowEngineD2Ev @ 24 NONAME - _ZNK17CShwSettingsModel11TransDelayLEv @ 25 NONAME - _ZNK17CShwSettingsModel14MusicNamePathLER6TDes16 @ 26 NONAME - _ZNK17CShwSettingsModel15TransitionTypeLER4TUidRj @ 27 NONAME - _ZNK17CShwSettingsModel8MusicOnLEv @ 28 NONAME - _ZNK19CShwSlideshowEngine5StateEv @ 29 NONAME + _ZN19CShwSlideshowEngine15GetMusicVolumeLEv @ 14 NONAME + _ZN19CShwSlideshowEngine17AvailableEffectsLER6RArrayI14TShwEffectInfoE @ 15 NONAME + _ZN19CShwSlideshowEngine26ToggleUiControlsVisibiltyLEv @ 16 NONAME + _ZN19CShwSlideshowEngine4NewLER18MShwEngineObserver @ 17 NONAME + _ZN19CShwSlideshowEngine6PauseLEv @ 18 NONAME + _ZN19CShwSlideshowEngine6StartLER7CAlfEnvR11CAlfDisplayR13MGlxMediaListR17MShwMusicObserver5TSize @ 19 NONAME + _ZN19CShwSlideshowEngine7ResumeLEv @ 20 NONAME + _ZN19CShwSlideshowEngine9NextItemLEv @ 21 NONAME + _ZN19CShwSlideshowEngine9VolumeUpLEv @ 22 NONAME + _ZN19CShwSlideshowEngineD0Ev @ 23 NONAME + _ZN19CShwSlideshowEngineD1Ev @ 24 NONAME + _ZN19CShwSlideshowEngineD2Ev @ 25 NONAME + _ZNK17CShwSettingsModel11TransDelayLEv @ 26 NONAME + _ZNK17CShwSettingsModel14MusicNamePathLER6TDes16 @ 27 NONAME + _ZNK17CShwSettingsModel15TransitionTypeLER4TUidRj @ 28 NONAME + _ZNK17CShwSettingsModel8MusicOnLEv @ 29 NONAME + _ZNK19CShwSlideshowEngine5StateEv @ 30 NONAME diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/effectsrc/shwdefaulteffectmanager.cpp --- a/photosgallery/slideshow/engine/effectsrc/shwdefaulteffectmanager.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/effectsrc/shwdefaulteffectmanager.cpp Tue May 11 16:13:40 2010 +0300 @@ -25,8 +25,8 @@ #include #include -#include +#include "shwcleanupwrapper.h" #include "shweffect.h" #include "shwconstants.h" #include "shwslideshowenginepanic.h" diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/engine/inc/shwslideshowengine.h --- a/photosgallery/slideshow/engine/inc/shwslideshowengine.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/engine/inc/shwslideshowengine.h Tue May 11 16:13:40 2010 +0300 @@ -131,6 +131,11 @@ */ IMPORT_C void VolumeDownL(); + /** + * Get the latest music volume value. + */ + IMPORT_C void GetMusicVolumeL(); + /** * This method change the ui staus in slideshow when MSK Preesed */ diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/view/src/shwgesturecontrol.cpp --- a/photosgallery/slideshow/view/src/shwgesturecontrol.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/view/src/shwgesturecontrol.cpp Tue May 11 16:13:40 2010 +0300 @@ -75,7 +75,7 @@ CShwGestureControl::~CShwGestureControl() { TRACER("CShwGestureControl::~CShwGestureControl"); - //no implementation + iObservers.ResetAndDestroy(); } // ----------------------------------------------------------------------------- diff -r 191387a8b767 -r a60acebbbd9d photosgallery/slideshow/view/src/shwslideshowview.cpp --- a/photosgallery/slideshow/view/src/shwslideshowview.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/slideshow/view/src/shwslideshowview.cpp Tue May 11 16:13:40 2010 +0300 @@ -390,6 +390,10 @@ iIsForegrnd = aForeground; if( aForeground ) { + if (iHdmiController && iHdmiActive) + { + iHdmiController->ShiftToPostingMode(); + } // we gained the foreground if(iMMCState && iPrevNotInBackground) { @@ -398,10 +402,15 @@ else { iPauseHandler->SwitchToForegroundL(); + iEngine->GetMusicVolumeL(); } } else { + if (iHdmiController && iHdmiActive) + { + iHdmiController->ShiftToCloningMode(); + } // Something else has gained the foreground iPauseHandler->SwitchToBackgroundL(); } @@ -790,6 +799,7 @@ { TRACER("CShwSlideshowView::EngineResumedL"); GLX_LOG_INFO( "CShwSlideshowView::EngineResumedL" ); + iEngine->GetMusicVolumeL(); // Re-enable the backlight if it's off if ( !iBackLightTimer->IsRunning() ) { diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/commandhandlers/commandhandlerbase/inc/glxmpxcommandcommandhandler.h --- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/inc/glxmpxcommandcommandhandler.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/inc/glxmpxcommandcommandhandler.h Tue May 11 16:13:40 2010 +0300 @@ -181,7 +181,7 @@ private: /** See @ref CGlxMediaListCommandHandler::DoExecuteL */ - virtual TBool DoExecuteL(TInt aCommandId, MGlxMediaList& aList); + IMPORT_C virtual TBool DoExecuteL(TInt aCommandId, MGlxMediaList& aList); /** * Launch a confirmation note (single or multiple depending on media list selection) diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmedialistcommandhandler.cpp --- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmedialistcommandhandler.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmedialistcommandhandler.cpp Tue May 11 16:13:40 2010 +0300 @@ -344,7 +344,7 @@ if( (!isDisabled )&&( info.iDisallowDRM ) ) { // disable if DRM protected - isDisabled = item.IsDrmProtected(); + item.GetDrmProtected(isDisabled); } // Check animated GIF if not yet disabled by previous rules TInt frameCount(0); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/commandhandlers/commandhandlerupnp/eabi/glxupnpcommandhandleru.def --- a/photosgallery/viewframework/commandhandlers/commandhandlerupnp/eabi/glxupnpcommandhandleru.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerupnp/eabi/glxupnpcommandhandleru.def Tue May 11 16:13:40 2010 +0300 @@ -3,4 +3,10 @@ _ZN15GlxUpnpRenderer6StatusEv @ 2 NONAME _ZN29CGlxCommandHandlerShowViaUpnp4NewLEP21MGlxMediaListProvideri @ 3 NONAME _ZN35CGlxCommandHandlerCopyToHomeNetwork4NewLER21MGlxMediaListProvider @ 4 NONAME + _ZN29CGlxCommandHandlerShowViaUpnpD0Ev @ 5 NONAME + _ZN29CGlxCommandHandlerShowViaUpnpD1Ev @ 6 NONAME + _ZN29CGlxCommandHandlerShowViaUpnpD2Ev @ 7 NONAME + _ZN35CGlxCommandHandlerCopyToHomeNetworkD0Ev @ 8 NONAME + _ZN35CGlxCommandHandlerCopyToHomeNetworkD1Ev @ 9 NONAME + _ZN35CGlxCommandHandlerCopyToHomeNetworkD2Ev @ 10 NONAME diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/commandhandlers/commandhandlerupnp/src/glxcommandhandlercopytohomenetwork.cpp --- a/photosgallery/viewframework/commandhandlers/commandhandlerupnp/src/glxcommandhandlercopytohomenetwork.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerupnp/src/glxcommandhandlercopytohomenetwork.cpp Tue May 11 16:13:40 2010 +0300 @@ -84,7 +84,7 @@ //----------------------------------------------------------------------------------------- // Destructor //----------------------------------------------------------------------------------------- -CGlxCommandHandlerCopyToHomeNetwork::~CGlxCommandHandlerCopyToHomeNetwork() + EXPORT_C CGlxCommandHandlerCopyToHomeNetwork::~CGlxCommandHandlerCopyToHomeNetwork() { } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/commandhandlers/commandhandlerupnp/src/glxcommandhandlershowviaupnp.cpp --- a/photosgallery/viewframework/commandhandlers/commandhandlerupnp/src/glxcommandhandlershowviaupnp.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commandhandlerupnp/src/glxcommandhandlershowviaupnp.cpp Tue May 11 16:13:40 2010 +0300 @@ -57,7 +57,7 @@ //----------------------------------------------------------------------------------------- // Destructor //----------------------------------------------------------------------------------------- -CGlxCommandHandlerShowViaUpnp::~CGlxCommandHandlerShowViaUpnp() +EXPORT_C CGlxCommandHandlerShowViaUpnp::~CGlxCommandHandlerShowViaUpnp() { //Do Nothing } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersave.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersave.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersave.cpp Tue May 11 16:13:40 2010 +0300 @@ -91,7 +91,7 @@ TDataType nullType; CDocumentHandler* handler = CDocumentHandler::NewLC(NULL); __ASSERT_ALWAYS(handler, Panic(EGlxPanicNullPointer)); - TRAPD(err, handler->CopyL(imageHandle, KNullDesC, nullType, NULL)); + TInt err = handler->CopyL(imageHandle, KNullDesC, nullType, NULL); CleanupStack::PopAndDestroy(handler); if (err == KErrNone) { diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/src/t_glxdummyhuiutility.cpp --- a/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/src/t_glxdummyhuiutility.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/src/t_glxdummyhuiutility.cpp Tue May 11 16:13:40 2010 +0300 @@ -109,7 +109,7 @@ // Env // ----------------------------------------------------------------------------- // -EXPORT_C CAlfEnv* CGlxUiUtility::Env() const +EXPORT_C CAlfEnv* CGlxUiUtility::Env() { return iEnv; } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlermoreinfo/bwins/t_glxcommandhandlermoreinfou.def --- a/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlermoreinfo/bwins/t_glxcommandhandlermoreinfou.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlermoreinfo/bwins/t_glxcommandhandlermoreinfou.def Tue May 11 16:13:40 2010 +0300 @@ -1,62 +1,62 @@ EXPORTS - ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void) - ?MediaList@CGlxMediaListCommandHandler@@IBEABVMGlxMediaList@@XZ @ 2 NONAME ; class MGlxMediaList const & CGlxMediaListCommandHandler::MediaList(void) const - ?ViewNavigationDirection@CGlxUiUtility@@QAE?AW4TGlxNavigationDirection@@XZ @ 3 NONAME ; enum TGlxNavigationDirection CGlxUiUtility::ViewNavigationDirection(void) - ?InstanceL@CGlxDRMUtility@@SAPAV1@XZ @ 4 NONAME ; class CGlxDRMUtility * CGlxDRMUtility::InstanceL(void) - ?CanShowInfoOnlineL@CGlxDRMUtility@@QAEHAAVTDesC16@@@Z @ 5 NONAME ; int CGlxDRMUtility::CanShowInfoOnlineL(class TDesC16 &) - ??1CGlxCommandHandlerMoreInfo@@UAE@XZ @ 6 NONAME ; CGlxCommandHandlerMoreInfo::~CGlxCommandHandlerMoreInfo(void) - ?CreateIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@HAAVTDesC16@@VTSize@@@Z @ 7 NONAME ; class CAlfTexture & CGlxTextureManager::CreateIconTextureL(int, class TDesC16 &, class TSize) - ??1CGlxMediaListCommandHandler@@UAE@XZ @ 8 NONAME ; CGlxMediaListCommandHandler::~CGlxMediaListCommandHandler(void) - ?DRMThumbnailSize@CGlxDRMUtility@@QAE?AVTSize@@AAV2@@Z @ 9 NONAME ; class TSize CGlxDRMUtility::DRMThumbnailSize(class TSize &) - ?SelectionLength@CGlxMediaListCommandHandler@@IBEHXZ @ 10 NONAME ; int CGlxMediaListCommandHandler::SelectionLength(void) const - ?CreateThumbnailTextureL@@YAAAVCAlfTexture@@VTGlxMediaId@@V?$TGlxId@VTGlxIdSpaceIdBase@@@@ABVTSize@@PAVMGlxTextureObserver@@AAH@Z @ 11 NONAME ; class CAlfTexture & CreateThumbnailTextureL(class TGlxMediaId, class TGlxId, class TSize const &, class MGlxTextureObserver *, int &) - ?CommandInfo@CGlxMediaListCommandHandler@@IAEAAUTCommandInfo@1@H@Z @ 12 NONAME ; struct CGlxMediaListCommandHandler::TCommandInfo & CGlxMediaListCommandHandler::CommandInfo(int) - ?GlxTextureManager@CGlxUiUtility@@QAEAAVCGlxTextureManager@@XZ @ 13 NONAME ; class CGlxTextureManager & CGlxUiUtility::GlxTextureManager(void) + ?MediaList@CGlxMediaListCommandHandler@@IBEABVMGlxMediaList@@XZ @ 1 NONAME ; class MGlxMediaList const & CGlxMediaListCommandHandler::MediaList(void) const + ?ViewNavigationDirection@CGlxUiUtility@@QAE?AW4TGlxNavigationDirection@@XZ @ 2 NONAME ; enum TGlxNavigationDirection CGlxUiUtility::ViewNavigationDirection(void) + ?InstanceL@CGlxDRMUtility@@SAPAV1@XZ @ 3 NONAME ; class CGlxDRMUtility * CGlxDRMUtility::InstanceL(void) + ??1CGlxCommandHandlerMoreInfo@@UAE@XZ @ 4 NONAME ; CGlxCommandHandlerMoreInfo::~CGlxCommandHandlerMoreInfo(void) + ?CreateIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@HAAVTDesC16@@VTSize@@@Z @ 5 NONAME ; class CAlfTexture & CGlxTextureManager::CreateIconTextureL(int, class TDesC16 &, class TSize) + ??1CGlxMediaListCommandHandler@@UAE@XZ @ 6 NONAME ; CGlxMediaListCommandHandler::~CGlxMediaListCommandHandler(void) + ?DRMThumbnailSize@CGlxDRMUtility@@QAE?AVTSize@@AAV2@@Z @ 7 NONAME ; class TSize CGlxDRMUtility::DRMThumbnailSize(class TSize &) + ?ItemRightsValidityCheckL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 8 NONAME ; int CGlxDRMUtility::ItemRightsValidityCheckL(class TDesC16 const &, int) + ?SelectionLength@CGlxMediaListCommandHandler@@IBEHXZ @ 9 NONAME ; int CGlxMediaListCommandHandler::SelectionLength(void) const + ?CreateThumbnailTextureL@@YAAAVCAlfTexture@@VTGlxMediaId@@V?$TGlxId@VTGlxIdSpaceIdBase@@@@ABVTSize@@PAVMGlxTextureObserver@@AAH@Z @ 10 NONAME ; class CAlfTexture & CreateThumbnailTextureL(class TGlxMediaId, class TGlxId, class TSize const &, class MGlxTextureObserver *, int &) + ?CommandInfo@CGlxMediaListCommandHandler@@IAEAAUTCommandInfo@1@H@Z @ 11 NONAME ; struct CGlxMediaListCommandHandler::TCommandInfo & CGlxMediaListCommandHandler::CommandInfo(int) + ?GlxTextureManager@CGlxUiUtility@@QAEAAVCGlxTextureManager@@XZ @ 12 NONAME ; class CGlxTextureManager & CGlxUiUtility::GlxTextureManager(void) + ?DynInitMenuPaneL@CGlxMediaListCommandHandler@@UAEXHPAVCEikMenuPane@@H@Z @ 13 NONAME ; void CGlxMediaListCommandHandler::DynInitMenuPaneL(int, class CEikMenuPane *, int) ?Deactivate@CGlxMediaListCommandHandler@@UAEXXZ @ 14 NONAME ; void CGlxMediaListCommandHandler::Deactivate(void) - ?DynInitMenuPaneL@CGlxMediaListCommandHandler@@UAEXHPAVCEikMenuPane@@@Z @ 15 NONAME ; void CGlxMediaListCommandHandler::DynInitMenuPaneL(int, class CEikMenuPane *) - ?Close@CGlxDRMUtility@@QAEXXZ @ 16 NONAME ; void CGlxDRMUtility::Close(void) - ?ShowAlfDisplayL@CGlxUiUtility@@SAXXZ @ 17 NONAME ; void CGlxUiUtility::ShowAlfDisplayL(void) - ?HandleActionL@CGlxUiUtility@@UAEXABVTAlfActionCommand@@@Z @ 18 NONAME ; void CGlxUiUtility::HandleActionL(class TAlfActionCommand const &) - ??0TCommandInfo@CGlxMediaListCommandHandler@@QAE@H@Z @ 19 NONAME ; CGlxMediaListCommandHandler::TCommandInfo::TCommandInfo(int) - ?BypassFiltersForExecute@CGlxMediaListCommandHandler@@MBEHXZ @ 20 NONAME ; int CGlxMediaListCommandHandler::BypassFiltersForExecute(void) const - ?ConsumeRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 21 NONAME ; int CGlxDRMUtility::ConsumeRightsL(class TDesC16 const &) - ?DoIsDisabled@CGlxMediaListCommandHandler@@MBEHHAAVMGlxMediaList@@@Z @ 22 NONAME ; int CGlxMediaListCommandHandler::DoIsDisabled(int, class MGlxMediaList &) const - ?CreateAvkonIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTAknsItemID@@HVTSize@@@Z @ 23 NONAME ; class CAlfTexture & CGlxTextureManager::CreateAvkonIconTextureL(class TAknsItemID const &, int, class TSize) - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 24 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?HandleTvStatusChangedL@CGlxUiUtility@@UAEXW4TTvChangeType@@@Z @ 25 NONAME ; void CGlxUiUtility::HandleTvStatusChangedL(enum TTvChangeType) - ?AddCommandL@CGlxMediaListCommandHandler@@IAEXABUTCommandInfo@1@@Z @ 26 NONAME ; void CGlxMediaListCommandHandler::AddCommandL(struct CGlxMediaListCommandHandler::TCommandInfo const &) - ?MediaList@CGlxMediaListCommandHandler@@IAEAAVMGlxMediaList@@XZ @ 27 NONAME ; class MGlxMediaList & CGlxMediaListCommandHandler::MediaList(void) - ?Close@CGlxUiUtility@@QAEXXZ @ 28 NONAME ; void CGlxUiUtility::Close(void) - ?NewL@CGlxTextureManager@@SAPAV1@AAVCAlfTextureManager@@@Z @ 29 NONAME ; class CGlxTextureManager * CGlxTextureManager::NewL(class CAlfTextureManager &) - ?IsDisabledL@CGlxMediaListCommandHandler@@IBEHHAAVMGlxMediaList@@@Z @ 30 NONAME ; int CGlxMediaListCommandHandler::IsDisabledL(int, class MGlxMediaList &) const - ?CreateZoomedTextureL@@YAAAVCAlfTexture@@ABVTGlxMedia@@ABVTMPXAttribute@@V?$TGlxId@VTGlxIdSpaceIdBase@@@@AAH@Z @ 31 NONAME ; class CAlfTexture & CreateZoomedTextureL(class TGlxMedia const &, class TMPXAttribute const &, class TGlxId, int &) - ??1CGlxMedia@@UAE@XZ @ 32 NONAME ; CGlxMedia::~CGlxMedia(void) - ?NewL@CGlxCommandHandlerMoreInfo@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 33 NONAME ; class CGlxCommandHandlerMoreInfo * CGlxCommandHandlerMoreInfo::NewL(class MGlxMediaListProvider *, int) - ?HandleSkinChanged@CGlxTextureManager@@UAEXXZ @ 34 NONAME ; void CGlxTextureManager::HandleSkinChanged(void) - ?UtilityL@CGlxUiUtility@@SAPAV1@XZ @ 35 NONAME ; class CGlxUiUtility * CGlxUiUtility::UtilityL(void) - ?HideAlfDisplayL@CGlxUiUtility@@SAXXZ @ 36 NONAME ; void CGlxUiUtility::HideAlfDisplayL(void) - ?ExecuteL@CGlxMediaListCommandHandler@@UAEHH@Z @ 37 NONAME ; int CGlxMediaListCommandHandler::ExecuteL(int) - ?DisplaySize@CGlxUiUtility@@QBE?AVTSize@@XZ @ 38 NONAME ; class TSize CGlxUiUtility::DisplaySize(void) const - ?ShowRightsInfoL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 39 NONAME ; void CGlxDRMUtility::ShowRightsInfoL(class TDesC16 const &) - ?IsSupported@CGlxMediaListCommandHandler@@IBEHH@Z @ 40 NONAME ; int CGlxMediaListCommandHandler::IsSupported(int) const - ?GetRequiredAttributesL@CGlxMediaListCommandHandler@@UBEXAAV?$RArray@VTMPXAttribute@@@@HHH@Z @ 41 NONAME ; void CGlxMediaListCommandHandler::GetRequiredAttributesL(class RArray &, int, int, int) const - ?DoActivateL@CGlxMediaListCommandHandler@@MAEXH@Z @ 42 NONAME ; void CGlxMediaListCommandHandler::DoActivateL(int) - ?RemoveTexture@CGlxTextureManager@@QAEXABVCAlfTexture@@@Z @ 43 NONAME ; void CGlxTextureManager::RemoveTexture(class CAlfTexture const &) - ?PreDynInitMenuPaneL@CGlxMediaListCommandHandler@@UAEXH@Z @ 44 NONAME ; void CGlxMediaListCommandHandler::PreDynInitMenuPaneL(int) - ?RetrieveL@GlxAttributeRetriever@@SAHABVMGlxFetchContext@@AAVMGlxMediaList@@H@Z @ 45 NONAME ; int GlxAttributeRetriever::RetrieveL(class MGlxFetchContext const &, class MGlxMediaList &, int) - ?DoGetRequiredAttributesL@CGlxMediaListCommandHandler@@MBEXAAV?$RArray@VTMPXAttribute@@@@H@Z @ 46 NONAME ; void CGlxMediaListCommandHandler::DoGetRequiredAttributesL(class RArray &, int) const - ?TextStyleIdL@CGlxUiUtility@@QAEHHH@Z @ 47 NONAME ; int CGlxUiUtility::TextStyleIdL(int, int) - ?BypassFiltersForMenu@CGlxMediaListCommandHandler@@MBEHXZ @ 48 NONAME ; int CGlxMediaListCommandHandler::BypassFiltersForMenu(void) const - ?ViewingState@CGlxMediaListCommandHandler@@IBE?AW4TViewingState@TCommandInfo@1@XZ @ 49 NONAME ; enum CGlxMediaListCommandHandler::TCommandInfo::TViewingState CGlxMediaListCommandHandler::ViewingState(void) const - ?ShowInfoOnlineL@CGlxDRMUtility@@QAEXAAVTDesC16@@@Z @ 50 NONAME ; void CGlxDRMUtility::ShowInfoOnlineL(class TDesC16 &) - ?CommandInfoIndex@CGlxMediaListCommandHandler@@ABEHH@Z @ 51 NONAME ; int CGlxMediaListCommandHandler::CommandInfoIndex(int) const - ?IsForwardLockedL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 52 NONAME ; int CGlxDRMUtility::IsForwardLockedL(class TDesC16 const &) - ?OfferKeyEventL@CGlxMediaListCommandHandler@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 53 NONAME ; enum TKeyResponse CGlxMediaListCommandHandler::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?Display@CGlxUiUtility@@QBEPAVCAlfDisplay@@XZ @ 54 NONAME ; class CAlfDisplay * CGlxUiUtility::Display(void) const - ??0CGlxMediaListCommandHandler@@QAE@PAVMGlxMediaListProvider@@H@Z @ 55 NONAME ; CGlxMediaListCommandHandler::CGlxMediaListCommandHandler(class MGlxMediaListProvider *, int) - ?Env@CGlxUiUtility@@QBEPAVCAlfEnv@@XZ @ 56 NONAME ; class CAlfEnv * CGlxUiUtility::Env(void) const + ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 15 NONAME ; class MEUnitTest * CreateTestSuiteL(void) + ?CanShowInfoOnlineL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 16 NONAME ; int CGlxDRMUtility::CanShowInfoOnlineL(class TDesC16 const &) + ?Close@CGlxDRMUtility@@QAEXXZ @ 17 NONAME ; void CGlxDRMUtility::Close(void) + ?ShowAlfDisplayL@CGlxUiUtility@@SAXXZ @ 18 NONAME ; void CGlxUiUtility::ShowAlfDisplayL(void) + ?HandleActionL@CGlxUiUtility@@UAEXABVTAlfActionCommand@@@Z @ 19 NONAME ; void CGlxUiUtility::HandleActionL(class TAlfActionCommand const &) + ??0TCommandInfo@CGlxMediaListCommandHandler@@QAE@H@Z @ 20 NONAME ; CGlxMediaListCommandHandler::TCommandInfo::TCommandInfo(int) + ?BypassFiltersForExecute@CGlxMediaListCommandHandler@@MBEHXZ @ 21 NONAME ; int CGlxMediaListCommandHandler::BypassFiltersForExecute(void) const + ?ConsumeRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 22 NONAME ; int CGlxDRMUtility::ConsumeRightsL(class TDesC16 const &) + ?DoIsDisabled@CGlxMediaListCommandHandler@@MBEHHAAVMGlxMediaList@@@Z @ 23 NONAME ; int CGlxMediaListCommandHandler::DoIsDisabled(int, class MGlxMediaList &) const + ?CreateAvkonIconTextureL@CGlxTextureManager@@QAEAAVCAlfTexture@@ABVTAknsItemID@@HVTSize@@@Z @ 24 NONAME ; class CAlfTexture & CGlxTextureManager::CreateAvkonIconTextureL(class TAknsItemID const &, int, class TSize) + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 25 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?HandleTvStatusChangedL@CGlxUiUtility@@UAEXW4TTvChangeType@@@Z @ 26 NONAME ; void CGlxUiUtility::HandleTvStatusChangedL(enum TTvChangeType) + ?AddCommandL@CGlxMediaListCommandHandler@@IAEXABUTCommandInfo@1@@Z @ 27 NONAME ; void CGlxMediaListCommandHandler::AddCommandL(struct CGlxMediaListCommandHandler::TCommandInfo const &) + ?MediaList@CGlxMediaListCommandHandler@@IAEAAVMGlxMediaList@@XZ @ 28 NONAME ; class MGlxMediaList & CGlxMediaListCommandHandler::MediaList(void) + ?Close@CGlxUiUtility@@QAEXXZ @ 29 NONAME ; void CGlxUiUtility::Close(void) + ?NewL@CGlxTextureManager@@SAPAV1@AAVCAlfTextureManager@@@Z @ 30 NONAME ; class CGlxTextureManager * CGlxTextureManager::NewL(class CAlfTextureManager &) + ?IsDisabledL@CGlxMediaListCommandHandler@@IBEHHAAVMGlxMediaList@@@Z @ 31 NONAME ; int CGlxMediaListCommandHandler::IsDisabledL(int, class MGlxMediaList &) const + ?CreateZoomedTextureL@@YAAAVCAlfTexture@@ABVTGlxMedia@@ABVTMPXAttribute@@V?$TGlxId@VTGlxIdSpaceIdBase@@@@AAH@Z @ 32 NONAME ; class CAlfTexture & CreateZoomedTextureL(class TGlxMedia const &, class TMPXAttribute const &, class TGlxId, int &) + ??1CGlxMedia@@UAE@XZ @ 33 NONAME ; CGlxMedia::~CGlxMedia(void) + ?NewL@CGlxCommandHandlerMoreInfo@@SAPAV1@PAVMGlxMediaListProvider@@H@Z @ 34 NONAME ; class CGlxCommandHandlerMoreInfo * CGlxCommandHandlerMoreInfo::NewL(class MGlxMediaListProvider *, int) + ?HandleSkinChanged@CGlxTextureManager@@UAEXXZ @ 35 NONAME ; void CGlxTextureManager::HandleSkinChanged(void) + ?UtilityL@CGlxUiUtility@@SAPAV1@XZ @ 36 NONAME ; class CGlxUiUtility * CGlxUiUtility::UtilityL(void) + ?HideAlfDisplayL@CGlxUiUtility@@SAXXZ @ 37 NONAME ; void CGlxUiUtility::HideAlfDisplayL(void) + ?ExecuteL@CGlxMediaListCommandHandler@@UAEHH@Z @ 38 NONAME ; int CGlxMediaListCommandHandler::ExecuteL(int) + ?DisplaySize@CGlxUiUtility@@QBE?AVTSize@@XZ @ 39 NONAME ; class TSize CGlxUiUtility::DisplaySize(void) const + ?ShowRightsInfoL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 40 NONAME ; void CGlxDRMUtility::ShowRightsInfoL(class TDesC16 const &) + ?IsSupported@CGlxMediaListCommandHandler@@IBEHH@Z @ 41 NONAME ; int CGlxMediaListCommandHandler::IsSupported(int) const + ?GetRequiredAttributesL@CGlxMediaListCommandHandler@@UBEXAAV?$RArray@VTMPXAttribute@@@@HHH@Z @ 42 NONAME ; void CGlxMediaListCommandHandler::GetRequiredAttributesL(class RArray &, int, int, int) const + ?DoActivateL@CGlxMediaListCommandHandler@@MAEXH@Z @ 43 NONAME ; void CGlxMediaListCommandHandler::DoActivateL(int) + ?Env@CGlxUiUtility@@QAEPAVCAlfEnv@@XZ @ 44 NONAME ; class CAlfEnv * CGlxUiUtility::Env(void) + ?RemoveTexture@CGlxTextureManager@@QAEXABVCAlfTexture@@@Z @ 45 NONAME ; void CGlxTextureManager::RemoveTexture(class CAlfTexture const &) + ?PreDynInitMenuPaneL@CGlxMediaListCommandHandler@@UAEXH@Z @ 46 NONAME ; void CGlxMediaListCommandHandler::PreDynInitMenuPaneL(int) + ?RetrieveL@GlxAttributeRetriever@@SAHABVMGlxFetchContext@@AAVMGlxMediaList@@H@Z @ 47 NONAME ; int GlxAttributeRetriever::RetrieveL(class MGlxFetchContext const &, class MGlxMediaList &, int) + ?DoGetRequiredAttributesL@CGlxMediaListCommandHandler@@MBEXAAV?$RArray@VTMPXAttribute@@@@H@Z @ 48 NONAME ; void CGlxMediaListCommandHandler::DoGetRequiredAttributesL(class RArray &, int) const + ?TextStyleIdL@CGlxUiUtility@@QAEHHH@Z @ 49 NONAME ; int CGlxUiUtility::TextStyleIdL(int, int) + ?BypassFiltersForMenu@CGlxMediaListCommandHandler@@MBEHXZ @ 50 NONAME ; int CGlxMediaListCommandHandler::BypassFiltersForMenu(void) const + ?ViewingState@CGlxMediaListCommandHandler@@IBE?AW4TViewingState@TCommandInfo@1@XZ @ 51 NONAME ; enum CGlxMediaListCommandHandler::TCommandInfo::TViewingState CGlxMediaListCommandHandler::ViewingState(void) const + ?CommandInfoIndex@CGlxMediaListCommandHandler@@ABEHH@Z @ 52 NONAME ; int CGlxMediaListCommandHandler::CommandInfoIndex(int) const + ?IsForwardLockedL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 53 NONAME ; int CGlxDRMUtility::IsForwardLockedL(class TDesC16 const &) + ?OfferKeyEventL@CGlxMediaListCommandHandler@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 54 NONAME ; enum TKeyResponse CGlxMediaListCommandHandler::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?Display@CGlxUiUtility@@QBEPAVCAlfDisplay@@XZ @ 55 NONAME ; class CAlfDisplay * CGlxUiUtility::Display(void) const + ??0CGlxMediaListCommandHandler@@QAE@PAVMGlxMediaListProvider@@H@Z @ 56 NONAME ; CGlxMediaListCommandHandler::CGlxMediaListCommandHandler(class MGlxMediaListProvider *, int) ?DoDynInitMenuPaneL@CGlxMediaListCommandHandler@@MAEXHPAVCEikMenuPane@@@Z @ 57 NONAME ; void CGlxMediaListCommandHandler::DoDynInitMenuPaneL(int, class CEikMenuPane *) ?SetViewNavigationDirection@CGlxUiUtility@@QAEXW4TGlxNavigationDirection@@@Z @ 58 NONAME ; void CGlxUiUtility::SetViewNavigationDirection(enum TGlxNavigationDirection) - ?CheckOpenRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 59 NONAME ; int CGlxDRMUtility::CheckOpenRightsL(class TDesC16 const &, int) + ?ShowInfoOnlineL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 59 NONAME ; void CGlxDRMUtility::ShowInfoOnlineL(class TDesC16 const &) ?ScreenFurniture@CGlxUiUtility@@QAEPAVCGlxScreenFurniture@@XZ @ 60 NONAME ; class CGlxScreenFurniture * CGlxUiUtility::ScreenFurniture(void) diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlermoreinfo/eabi/t_glxcommandhandlermoreinfou.def --- a/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlermoreinfo/eabi/t_glxcommandhandlermoreinfou.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlermoreinfo/eabi/t_glxcommandhandlermoreinfou.def Tue May 11 16:13:40 2010 +0300 @@ -11,35 +11,35 @@ _ZN13CGlxUiUtility22HandleTvStatusChangedLE13TTvChangeType @ 10 NONAME _ZN13CGlxUiUtility23ViewNavigationDirectionEv @ 11 NONAME _ZN13CGlxUiUtility26SetViewNavigationDirectionE23TGlxNavigationDirection @ 12 NONAME - _ZN13CGlxUiUtility5CloseEv @ 13 NONAME - _ZN13CGlxUiUtility8UtilityLEv @ 14 NONAME - _ZN18CGlxTextureManager13RemoveTextureERK11CAlfTexture @ 15 NONAME - _ZN18CGlxTextureManager17HandleSkinChangedEv @ 16 NONAME - _ZN18CGlxTextureManager18CreateIconTextureLEiR7TDesC165TSize @ 17 NONAME - _ZN18CGlxTextureManager23CreateAvkonIconTextureLERK11TAknsItemIDi5TSize @ 18 NONAME - _ZN18CGlxTextureManager4NewLER18CAlfTextureManager @ 19 NONAME - _ZN26CGlxCommandHandlerMoreInfo4NewLEP21MGlxMediaListProvideri @ 20 NONAME - _ZN26CGlxCommandHandlerMoreInfoD0Ev @ 21 NONAME - _ZN26CGlxCommandHandlerMoreInfoD1Ev @ 22 NONAME - _ZN26CGlxCommandHandlerMoreInfoD2Ev @ 23 NONAME - _ZN27CGlxMediaListCommandHandler10DeactivateEv @ 24 NONAME - _ZN27CGlxMediaListCommandHandler11AddCommandLERKNS_12TCommandInfoE @ 25 NONAME - _ZN27CGlxMediaListCommandHandler11CommandInfoEi @ 26 NONAME - _ZN27CGlxMediaListCommandHandler11DoActivateLEi @ 27 NONAME - _ZN27CGlxMediaListCommandHandler12TCommandInfoC1Ei @ 28 NONAME - _ZN27CGlxMediaListCommandHandler12TCommandInfoC2Ei @ 29 NONAME - _ZN27CGlxMediaListCommandHandler14OfferKeyEventLERK9TKeyEvent10TEventCode @ 30 NONAME - _ZN27CGlxMediaListCommandHandler16DynInitMenuPaneLEiP12CEikMenuPane @ 31 NONAME - _ZN27CGlxMediaListCommandHandler18DoDynInitMenuPaneLEiP12CEikMenuPane @ 32 NONAME - _ZN27CGlxMediaListCommandHandler19PreDynInitMenuPaneLEi @ 33 NONAME - _ZN27CGlxMediaListCommandHandler8ExecuteLEi @ 34 NONAME - _ZN27CGlxMediaListCommandHandler9MediaListEv @ 35 NONAME - _ZN27CGlxMediaListCommandHandlerC2EP21MGlxMediaListProvideri @ 36 NONAME - _ZN27CGlxMediaListCommandHandlerD0Ev @ 37 NONAME - _ZN27CGlxMediaListCommandHandlerD1Ev @ 38 NONAME - _ZN27CGlxMediaListCommandHandlerD2Ev @ 39 NONAME - _ZNK13CGlxUiUtility11DisplaySizeEv @ 40 NONAME - _ZNK13CGlxUiUtility3EnvEv @ 41 NONAME + _ZN13CGlxUiUtility3EnvEv @ 13 NONAME + _ZN13CGlxUiUtility5CloseEv @ 14 NONAME + _ZN13CGlxUiUtility8UtilityLEv @ 15 NONAME + _ZN18CGlxTextureManager13RemoveTextureERK11CAlfTexture @ 16 NONAME + _ZN18CGlxTextureManager17HandleSkinChangedEv @ 17 NONAME + _ZN18CGlxTextureManager18CreateIconTextureLEiR7TDesC165TSize @ 18 NONAME + _ZN18CGlxTextureManager23CreateAvkonIconTextureLERK11TAknsItemIDi5TSize @ 19 NONAME + _ZN18CGlxTextureManager4NewLER18CAlfTextureManager @ 20 NONAME + _ZN26CGlxCommandHandlerMoreInfo4NewLEP21MGlxMediaListProvideri @ 21 NONAME + _ZN26CGlxCommandHandlerMoreInfoD0Ev @ 22 NONAME + _ZN26CGlxCommandHandlerMoreInfoD1Ev @ 23 NONAME + _ZN26CGlxCommandHandlerMoreInfoD2Ev @ 24 NONAME + _ZN27CGlxMediaListCommandHandler10DeactivateEv @ 25 NONAME + _ZN27CGlxMediaListCommandHandler11AddCommandLERKNS_12TCommandInfoE @ 26 NONAME + _ZN27CGlxMediaListCommandHandler11CommandInfoEi @ 27 NONAME + _ZN27CGlxMediaListCommandHandler11DoActivateLEi @ 28 NONAME + _ZN27CGlxMediaListCommandHandler12TCommandInfoC1Ei @ 29 NONAME + _ZN27CGlxMediaListCommandHandler12TCommandInfoC2Ei @ 30 NONAME + _ZN27CGlxMediaListCommandHandler14OfferKeyEventLERK9TKeyEvent10TEventCode @ 31 NONAME + _ZN27CGlxMediaListCommandHandler16DynInitMenuPaneLEiP12CEikMenuPanei @ 32 NONAME + _ZN27CGlxMediaListCommandHandler18DoDynInitMenuPaneLEiP12CEikMenuPane @ 33 NONAME + _ZN27CGlxMediaListCommandHandler19PreDynInitMenuPaneLEi @ 34 NONAME + _ZN27CGlxMediaListCommandHandler8ExecuteLEi @ 35 NONAME + _ZN27CGlxMediaListCommandHandler9MediaListEv @ 36 NONAME + _ZN27CGlxMediaListCommandHandlerC2EP21MGlxMediaListProvideri @ 37 NONAME + _ZN27CGlxMediaListCommandHandlerD0Ev @ 38 NONAME + _ZN27CGlxMediaListCommandHandlerD1Ev @ 39 NONAME + _ZN27CGlxMediaListCommandHandlerD2Ev @ 40 NONAME + _ZNK13CGlxUiUtility11DisplaySizeEv @ 41 NONAME _ZNK13CGlxUiUtility7DisplayEv @ 42 NONAME _ZNK27CGlxMediaListCommandHandler11IsDisabledLEiR13MGlxMediaList @ 43 NONAME _ZNK27CGlxMediaListCommandHandler11IsSupportedEi @ 44 NONAME @@ -52,11 +52,11 @@ _ZNK27CGlxMediaListCommandHandler23BypassFiltersForExecuteEv @ 51 NONAME _ZNK27CGlxMediaListCommandHandler24DoGetRequiredAttributesLER6RArrayI13TMPXAttributeEi @ 52 NONAME _ZNK27CGlxMediaListCommandHandler9MediaListEv @ 53 NONAME - _ZTI13CGlxUiUtility @ 54 NONAME ; ## - _ZTI27CGlxMediaListCommandHandler @ 55 NONAME ; ## - _ZTV13CGlxUiUtility @ 56 NONAME ; ## - _ZTV27CGlxMediaListCommandHandler @ 57 NONAME ; ## - _ZThn4_N13CGlxUiUtility22HandleTvStatusChangedLE13TTvChangeType @ 58 NONAME ; ## - _ZThn4_N18CGlxTextureManager17HandleSkinChangedEv @ 59 NONAME ; ## - _ZThn8_N13CGlxUiUtility13HandleActionLERK17TAlfActionCommand @ 60 NONAME ; ## + _ZTI13CGlxUiUtility @ 54 NONAME + _ZTI27CGlxMediaListCommandHandler @ 55 NONAME + _ZTV13CGlxUiUtility @ 56 NONAME + _ZTV27CGlxMediaListCommandHandler @ 57 NONAME + _ZThn4_N13CGlxUiUtility22HandleTvStatusChangedLE13TTvChangeType @ 58 NONAME + _ZThn4_N18CGlxTextureManager17HandleSkinChangedEv @ 59 NONAME + _ZThn8_N13CGlxUiUtility13HandleActionLERK17TAlfActionCommand @ 60 NONAME diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/dataprovider/inc/glxmedialistmulmodelproviderimpl.h --- a/photosgallery/viewframework/dataprovider/inc/glxmedialistmulmodelproviderimpl.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/dataprovider/inc/glxmedialistmulmodelproviderimpl.h Tue May 11 16:13:40 2010 +0300 @@ -23,6 +23,7 @@ #define _GLXMEDIALISTMULMODELPROVIDERIMPL_H_ #include // Container Base Class +#include #include "glxmulmodelproviderbase.h" // DataProvider Base #include "mglxbindingobserver.h" // Notifies that binding has changed @@ -130,7 +131,7 @@ CGlxResolutionUtility* iResolutionUtility; Alf::IMulWidget& iWidget; CGlxUiUtility* iUiUtility; - + TGlxMediaId iMediaIDForTextureDeletion; }; #endif // _GLXMEDIALISTMULMODELPROVIDERIMPL_H_ diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelproviderimpl.cpp --- a/photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelproviderimpl.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelproviderimpl.cpp Tue May 11 16:13:40 2010 +0300 @@ -100,6 +100,7 @@ iBindingSet->HandleItemChangedL( *path ); CleanupStack::PopAndDestroy( path ); } + iMediaIDForTextureDeletion = iMediaList.Item(iMediaList.FocusIndex()).Id(); } if(UString( KListWidget ) == UString(iWidget.widgetName() ) || UString( KCoverFlowWidget ) == UString(iWidget.widgetName() ) ) @@ -175,6 +176,26 @@ } CleanupStack::PopAndDestroy( path ); + // Check for the deletion of a media item and delete the texture of the deleted media item. + // Deleting the texture after removing the item from the mul model and updating the new image. + // Hence the texture deletion is done at a later stage here instead of in HandleItemRemovedL(). + if ((aNewIndex == aOldIndex) && (iMediaIDForTextureDeletion.Value() + != KGlxInvalidIdValue) || (aNewIndex == KErrNotFound && aOldIndex + == 0)) + { + iUiUtility->GlxTextureManager().RemoveTexture( + iMediaIDForTextureDeletion, EFalse); + } + + // Storing the focussed media id for use during the focussed media item deletion operation + if (aNewIndex >= 0 && aNewIndex < aList->Count()) + { + iMediaIDForTextureDeletion = aList->Item(aNewIndex).Id(); + } + else + { + iMediaIDForTextureDeletion.SetValue(KGlxInvalidIdValue); + } } // ---------------------------------------------------------------------------- diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/medialists/eabi/glxmedialistsu.def --- a/photosgallery/viewframework/medialists/eabi/glxmedialistsu.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/medialists/eabi/glxmedialistsu.def Tue May 11 16:13:40 2010 +0300 @@ -190,4 +190,9 @@ _ZTV34TGlxFromFocusOutwardBlockyIterator @ 189 NONAME _ZTV34TGlxFromIndexOutwardBlockyIterator @ 190 NONAME _ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 191 NONAME + _ZNK12CGlxItemList18__DbgTestInvariantEv @ 192 NONAME + _ZNK14CGlxListWindow18__DbgTestInvariantEv @ 193 NONAME + _ZNK17CGlxNavigableList18__DbgTestInvariantEv @ 194 NONAME + _ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 195 NONAME + _ZNK9CGlxMedia18__DbgTestInvariantEv @ 196 NONAME diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/medialists/src/glxcache.cpp --- a/photosgallery/viewframework/medialists/src/glxcache.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxcache.cpp Tue May 11 16:13:40 2010 +0300 @@ -314,7 +314,10 @@ } else if (attrib == KGlxMediaGeneralLastModifiedDate) { - aTarget.SetTObjectValueL(attrib, aSource.ValueTObjectL(attrib)); + TTime modified = aSource.ValueTObjectL(attrib); + TTimeIntervalSeconds utcOffset = User::UTCOffset(); + modified += utcOffset; + aTarget.SetTObjectValueL(attrib, modified); } else if (attrib == KMPXMediaGeneralSize) { diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/medialists/src/glxcachemanager.cpp --- a/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Tue May 11 16:13:40 2010 +0300 @@ -802,92 +802,67 @@ TParsePtrC parser(fileName); iMPXMedia->SetTextValueL(KMPXMediaGeneralTitle, parser.Name()); } - else if ( iRequestedAttrs[i] == KMPXMediaGeneralDate ) + else if ((iRequestedAttrs[i] == KGlxMediaGeneralLastModifiedDate) + || (iRequestedAttrs[i] == KMPXMediaGeneralDate)) { + // Image viewer use case, no need of genaral date, + // but, the same is added for attribute completion purpose. + TMPXAttribute attrib = iRequestedAttrs[i]; TTime time; time.HomeTime(); - iMPXMedia->SetTObjectValueL(KMPXMediaGeneralDate, time.Int64()); - } - else if ( iRequestedAttrs[i] == KGlxMediaGeneralLastModifiedDate ) - { - if(errInImage == KErrNone) + if (errInImage == KErrNone) { RFs fs; CleanupClosePushL(fs); - TInt err = fs.Connect(); - if(err == KErrNone) - { - TEntry entry; - fs.Entry(fileName,entry); - TTime time = entry.iModified; - iMPXMedia->SetTObjectValueL( - KGlxMediaGeneralLastModifiedDate, - time.Int64()); - } - else + TInt err = fs.Connect(); + if (err == KErrNone) { - TTime time; - time.HomeTime(); - iMPXMedia->SetTObjectValueL( - KGlxMediaGeneralLastModifiedDate, - time.Int64()); + TEntry entry; + fs.Entry(fileName, entry); + time = entry.iModified; } - CleanupStack::PopAndDestroy(&fs); + CleanupStack::PopAndDestroy(&fs); } - else - { - TTime time; - time.HomeTime(); - iMPXMedia->SetTObjectValueL(KGlxMediaGeneralLastModifiedDate, time.Int64()); - } + iMPXMedia->SetTObjectValueL(attrib, + time.Int64()); } else if ( iRequestedAttrs[i] == KMPXMediaGeneralSize ) { - if(errInImage == KErrNone) + TInt64 size = 0; + TInt err = KErrNotFound; + if (errInImage == KErrNone) { - if(iImageViewerInstance->IsPrivate()) + if (iImageViewerInstance->IsPrivate()) { - TInt64 sz = 0; - TInt err = KErrNotFound; - RFile64& imageHandle = iImageViewerInstance->ImageFileHandle(); - if ( imageHandle.SubSessionHandle() != KNullHandle ) + RFile64& imageHandle = + iImageViewerInstance->ImageFileHandle(); + if (imageHandle.SubSessionHandle() + != KNullHandle) { - err = imageHandle.Size(sz); - } - if(err == KErrNone) - { - iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, (TUint)sz); - } - else - { - iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, 0); + err = imageHandle.Size(size); } } else { RFs fs; CleanupClosePushL(fs); - TInt err = fs.Connect(); - if(err == KErrNone) + err = fs.Connect(); + if (err == KErrNone) { - TEntry entry; - fs.Entry(fileName,entry); - TUint sz = entry.iSize; - iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, sz); - } - else - { - iMPXMedia->SetTObjectValueL(KMPXMediaGeneralSize, 0); + TEntry entry; + fs.Entry(fileName, entry); + size = (TUint) entry.iSize; } CleanupStack::PopAndDestroy(&fs); } + + if (err != KErrNone) + { + size = 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); - } + iMPXMedia->SetTObjectValueL( + KMPXMediaGeneralSize, size); } else if ( iRequestedAttrs[i] == KMPXMediaGeneralDrive ) { diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/medialists/src/glxitemlist.cpp --- a/photosgallery/viewframework/medialists/src/glxitemlist.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxitemlist.cpp Tue May 11 16:13:40 2010 +0300 @@ -538,7 +538,7 @@ // --------------------------------------------------------------------------- // Test invariant // --------------------------------------------------------------------------- -void CGlxItemList::__DbgTestInvariant() const +EXPORT_C void CGlxItemList::__DbgTestInvariant() const { #ifdef _DEBUG diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/medialists/src/glxlistwindow.cpp --- a/photosgallery/viewframework/medialists/src/glxlistwindow.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxlistwindow.cpp Tue May 11 16:13:40 2010 +0300 @@ -731,7 +731,7 @@ // --------------------------------------------------------------------------- // Test invariant // --------------------------------------------------------------------------- -void CGlxListWindow::__DbgTestInvariant() const +EXPORT_C void CGlxListWindow::__DbgTestInvariant() const { TRACER("CGlxListWindow::__DbgTestInvariant"); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/medialists/src/glxmedia.cpp --- a/photosgallery/viewframework/medialists/src/glxmedia.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxmedia.cpp Tue May 11 16:13:40 2010 +0300 @@ -982,7 +982,7 @@ // --------------------------------------------------------------------------- // Test invariant // --------------------------------------------------------------------------- -void CGlxMedia::__DbgTestInvariant() const +EXPORT_C void CGlxMedia::__DbgTestInvariant() const { TRACER("CGlxMedia::__DbgTestInvariant"); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/medialists/src/glxnavigablelist.cpp --- a/photosgallery/viewframework/medialists/src/glxnavigablelist.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxnavigablelist.cpp Tue May 11 16:13:40 2010 +0300 @@ -918,7 +918,7 @@ // --------------------------------------------------------------------------- // Test invariant // --------------------------------------------------------------------------- -void CGlxNavigableList::__DbgTestInvariant() const +EXPORT_C void CGlxNavigableList::__DbgTestInvariant() const { TRACER( "CGlxNavigableList::__DbgTestInvariant"); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/medialists/src/glxstaticitemlist.cpp --- a/photosgallery/viewframework/medialists/src/glxstaticitemlist.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxstaticitemlist.cpp Tue May 11 16:13:40 2010 +0300 @@ -720,7 +720,7 @@ // --------------------------------------------------------------------------- // Test invariant // --------------------------------------------------------------------------- -void CGlxStaticItemList::__DbgTestInvariant() const +EXPORT_C void CGlxStaticItemList::__DbgTestInvariant() const { TRACER( "CGlxStaticItemList::__DbgTestInvariant"); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/medialists/src/glxustringconverter.cpp --- a/photosgallery/viewframework/medialists/src/glxustringconverter.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/medialists/src/glxustringconverter.cpp Tue May 11 16:13:40 2010 +0300 @@ -96,17 +96,18 @@ } break; - case EMPXTypeTObject: { - if( aAttribute == KMPXMediaGeneralDate ) + if (aAttribute == KMPXMediaGeneralDate || aAttribute + == KGlxMediaGeneralLastModifiedDate) { + TMPXAttribute mpxAttrib = aAttribute; TTime date(0); if( aFormatString == R_QTN_DATE_USUAL_WITH_ZERO ) { HBufC* dateString = HBufC::NewLC(KMaxLongDateFormatSpec); TPtr dateStringPtr (dateString->Des()); - media->GetValueTObject(date,KMPXMediaGeneralDate); + media->GetValueTObject(date, mpxAttrib); HBufC* dateFormat = CCoeEnv::Static()->AllocReadResourceLC ( R_QTN_DATE_USUAL_WITH_ZERO ); date.FormatL( dateStringPtr , *dateFormat ); @@ -115,7 +116,7 @@ HBufC* timeString = HBufC::NewLC(KMaxTimeFormatSpec); TPtr timeStringPtr (timeString->Des()); - media->GetValueTObject(date,KMPXMediaGeneralDate); + media->GetValueTObject(date, mpxAttrib); HBufC* timeFormat = CCoeEnv::Static()->AllocReadResourceLC ( R_QTN_TIME_USUAL_WITH_ZERO ); date.FormatL( timeStringPtr , *timeFormat ); @@ -135,7 +136,7 @@ else if( aFormatString == R_QTN_TIME_USUAL_WITH_ZERO) { TBuf<20> timeString; - media->GetValueTObject(date,KMPXMediaGeneralDate); + media->GetValueTObject(date, mpxAttrib); HBufC* timeFormat = CCoeEnv::Static()->AllocReadResourceLC ( R_QTN_TIME_USUAL_WITH_ZERO ); @@ -147,7 +148,7 @@ else if( aFormatString == R_QTN_DATE_USUAL) { TBuf<20> dateString; - media->GetValueTObject(date,KMPXMediaGeneralDate); + media->GetValueTObject(date, mpxAttrib); HBufC* dateFormat = CCoeEnv::Static()->AllocReadResourceLC ( R_QTN_DATE_USUAL ); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/plugins/fullscreenviewplugin/data/glxfullscreenviewdata.rss --- a/photosgallery/viewframework/plugins/fullscreenviewplugin/data/glxfullscreenviewdata.rss Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/plugins/fullscreenviewplugin/data/glxfullscreenviewdata.rss Tue May 11 16:13:40 2010 +0300 @@ -50,7 +50,7 @@ RESOURCE AVKON_VIEW r_glx_fullscreen_view { menubar = r_glx_fullscreen_menubar; - cba = r_glx_fullscreen_softkeys; + cba = r_glx_fullscreen_emptysoftkeys; toolbar = r_glx_fullscreen_view_toolbar; } @@ -308,6 +308,30 @@ // Softkey Resources // ------------------------------------------------------------------------------------ +// Fullscreen Empty softkeys +RESOURCE CBA r_glx_fullscreen_emptysoftkeys + { + flags = EEikCbaFlagTransparent; + buttons = + { + CBA_BUTTON + { + id = EAknSoftkeyEmpty; + txt = " "; + }, + CBA_BUTTON + { + id = EAknSoftkeyEmpty; + txt = " "; + }, + CBA_BUTTON + { + id = EAknSoftkeyEmpty; + txt = " "; + } + }; + } + // Fullscreen softkeys RESOURCE CBA r_glx_fullscreen_softkeys { diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxmainfullscreenviewplugin.cpp --- a/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxmainfullscreenviewplugin.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glxmainfullscreenviewplugin.cpp Tue May 11 16:13:40 2010 +0300 @@ -53,7 +53,8 @@ TRACER("CGlxMainFullScreenViewPlugin::CGlxMainFullScreenViewPlugin()"); iResourceIds.iMenuId = R_GLX_FULLSCREEN_MENU; iResourceIds.iViewId = R_GLX_FULLSCREEN_VIEW; - iResourceIds.iCbaId = R_GLX_FULLSCREEN_SOFTKEYS; + //Load empty soft keys at initialization + iResourceIds.iCbaId = R_GLX_FULLSCREEN_EMPTYSOFTKEYS; iViewUID = KGlxMainFullScreenViewImplementationId; } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/plugins/fullscreenviewpluginbase/inc/glxfullscreenviewpluginbase.h --- a/photosgallery/viewframework/plugins/fullscreenviewpluginbase/inc/glxfullscreenviewpluginbase.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/plugins/fullscreenviewpluginbase/inc/glxfullscreenviewpluginbase.h Tue May 11 16:13:40 2010 +0300 @@ -62,13 +62,13 @@ * Override to add command handlers to the view * */ -virtual void AddCommandHandlersL(); +IMPORT_C virtual void AddCommandHandlersL(); /** * Override to define resource file * */ -virtual void GetResourceFilenameL(TFileName& aResFile); +IMPORT_C virtual void GetResourceFilenameL(TFileName& aResFile); public: diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/plugins/gridviewpluginbase/inc/glxgridviewpluginbase.h --- a/photosgallery/viewframework/plugins/gridviewpluginbase/inc/glxgridviewpluginbase.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/plugins/gridviewpluginbase/inc/glxgridviewpluginbase.h Tue May 11 16:13:40 2010 +0300 @@ -62,13 +62,13 @@ * Override to add command handlers to the view * */ -virtual void AddCommandHandlersL(); +IMPORT_C virtual void AddCommandHandlersL(); /** * Override to define resource file * */ -virtual void GetResourceFilenameL(TFileName& aResFile); +IMPORT_C virtual void GetResourceFilenameL(TFileName& aResFile); public: diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/plugins/listviewplugin/src/glxmainlistviewplugin.cpp --- a/photosgallery/viewframework/plugins/listviewplugin/src/glxmainlistviewplugin.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/plugins/listviewplugin/src/glxmainlistviewplugin.cpp Tue May 11 16:13:40 2010 +0300 @@ -101,9 +101,7 @@ // add help command handler TGlxHelpContext helpInfo; helpInfo.iBrowseContext = LGAL_HLP_VIEW_LIST; - iListView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); - //add ShowViaUpnp Command Handler for stop showing - iListView->AddCommandHandlerL(CGlxCommandHandlerShowViaUpnp::NewL(iListView, EFalse)); + iListView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo)); } // End of File diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/plugins/tagsbrowserviewplugin/rom/tagsbrowserviewplugin.iby --- a/photosgallery/viewframework/plugins/tagsbrowserviewplugin/rom/tagsbrowserviewplugin.iby Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/plugins/tagsbrowserviewplugin/rom/tagsbrowserviewplugin.iby Tue May 11 16:13:40 2010 +0300 @@ -29,4 +29,3 @@ #endif // __TAGSBROWSERVIEWPLUGIN_IBY__ // End of file ------------------------------------------------------------ \ No newline at end of file diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/plugins/tagsbrowserviewplugin/rom/tagsbrowserviewplugin_resources.iby --- a/photosgallery/viewframework/plugins/tagsbrowserviewplugin/rom/tagsbrowserviewplugin_resources.iby Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/plugins/tagsbrowserviewplugin/rom/tagsbrowserviewplugin_resources.iby Tue May 11 16:13:40 2010 +0300 @@ -29,4 +29,3 @@ #endif // __TAGSBROWSERVIEWPLUGIN__RESOURCES_IBY__ // End of file ------------------------------------------------------------ \ No newline at end of file diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/tvout/data/Thumbs.db Binary file photosgallery/viewframework/tvout/data/Thumbs.db has changed diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/tvout/inc/glxhdmicontroller.h --- a/photosgallery/viewframework/tvout/inc/glxhdmicontroller.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/tvout/inc/glxhdmicontroller.h Tue May 11 16:13:40 2010 +0300 @@ -80,7 +80,7 @@ IMPORT_C TBool IsHDMIConnected(); private:// From MGlxTvObserver - virtual void HandleTvStatusChangedL ( TTvChangeType aChangeType ); + void HandleTvStatusChangedL ( TTvChangeType aChangeType ); private: /* @@ -127,7 +127,8 @@ CGlxHdmiContainer* iHdmiContainer; CGlxHdmiSurfaceUpdater* iSurfaceUpdater; CGlxTv* iGlxTvOut; - TBool iIsImageSupported; + TBool iIsImageSupported; // Flag to see if Image is supported + TBool iPhotosForeground; // Flag for determining if the image needs to be in posting mode }; #endif /* GLXHDMICONTROLLER_H_ */ diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/tvout/inc/glxtvconnectionmonitor.h --- a/photosgallery/viewframework/tvout/inc/glxtvconnectionmonitor.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/tvout/inc/glxtvconnectionmonitor.h Tue May 11 16:13:40 2010 +0300 @@ -114,6 +114,10 @@ */ void IssueNotificationL(); + /** + * Updates the ConnectionState of Tv Out and HDMI + */ + void UpdateConnectionStatusL(); private: // class member data diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/tvout/rom/glxtvout.iby --- a/photosgallery/viewframework/tvout/rom/glxtvout.iby Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/tvout/rom/glxtvout.iby Tue May 11 16:13:40 2010 +0300 @@ -26,4 +26,3 @@ #endif // __GLX_TVOUT_IBY__ // End of file ------------------------------------------------------------ \ No newline at end of file diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp --- a/photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp Tue May 11 16:13:40 2010 +0300 @@ -23,7 +23,6 @@ #include "glxhdmicontainer.h" #include "glxhdmisurfaceupdater.h" - #include "glxhdmicontroller.h" // ----------------------------------------------------------------------------- @@ -67,6 +66,11 @@ TBool aStore) { TRACER("CGlxHdmiController::SetImageL()"); + if (aFsBitmap == NULL || !aImageFile.Length()) + { + GLX_LOG_INFO("CGlxHdmiController::SetImageL() - NULL Uri"); + return; + } if (aStore) { iIsImageSupported = ETrue; @@ -74,21 +78,22 @@ } if (iGlxTvOut->IsHDMIConnected()) { - GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 2"); - // do not close the surface , use the same surface instead. - // Call a function to pass imagefile - if (!iHdmiContainer) - { - CreateHdmiContainerL(); - } - if (!iSurfaceUpdater) - { - // This case would come when surface updater is not created at the first instance and also - // it satisfies the 720p condition - CreateSurfaceUpdaterL(aImageFile); - } - else - { + iPhotosForeground = ETrue; // the image should be in posting mode + GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 2"); + // do not close the surface , use the same surface instead. + // Call a function to pass imagefile + if (!iHdmiContainer) + { + CreateHdmiContainerL(); + } + if (!iSurfaceUpdater) + { + // This case would come when surface updater is not created at the first instance and also + // it satisfies the 720p condition + CreateSurfaceUpdaterL(aImageFile); + } + else + { GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 3"); iSurfaceUpdater->UpdateNewImageL(aImageFile, aFsBitmap); } @@ -97,7 +102,7 @@ } // ----------------------------------------------------------------------------- -// IsVideo +// ItemNotSupported // ----------------------------------------------------------------------------- EXPORT_C void CGlxHdmiController::ItemNotSupported() { @@ -116,7 +121,7 @@ EXPORT_C void CGlxHdmiController::ActivateZoom(TBool aAutoZoomOut) { TRACER("CGlxHdmiController::ActivateZoom()"); - if (iGlxTvOut->IsHDMIConnected()) + if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater) { iSurfaceUpdater->ActivateZoom(aAutoZoomOut); } @@ -128,7 +133,7 @@ EXPORT_C void CGlxHdmiController::DeactivateZoom() { TRACER("CGlxHdmiController::DeactivateZoom()"); - if (iGlxTvOut->IsHDMIConnected()) + if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater) { iSurfaceUpdater->DeactivateZoom(); } @@ -140,6 +145,8 @@ EXPORT_C void CGlxHdmiController::ShiftToCloningMode() { TRACER("CGlxHdmiController::ShiftToCloningMode()"); + iPhotosForeground = EFalse; + // Shift to cloning only if HDMI is connected and surfaceupdater available. if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater) { iSurfaceUpdater->ShiftToCloningMode(); @@ -152,17 +159,47 @@ EXPORT_C void CGlxHdmiController::ShiftToPostingMode() { TRACER("CGlxHdmiController::ShiftToPostingMode()"); - if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater) + iPhotosForeground = ETrue; + if (iGlxTvOut->IsHDMIConnected()) { - iSurfaceUpdater->ShiftToPostingMode(); + if (!iSurfaceUpdater) + { + GLX_LOG_INFO("CGlxHdmiController::ShiftToPostingMode() - 1"); + // This case would come when HDMI connected, TvOut /headphones being connected + // and then it shows a popup of "microphone connected" + // thus Background - Foreground when headphones connected during HDMI connected + if (iFsBitmap == NULL || !iStoredImagePath->Length()) + { + GLX_LOG_INFO("CGlxHdmiController::ShiftToPostingMode() - NULL Uri"); + return; + } + SetImageL(iStoredImagePath->Des(), iFsBitmap, EFalse); + } + else + { + GLX_LOG_INFO("CGlxHdmiController::ShiftToPostingMode() - 2"); + iSurfaceUpdater->ShiftToPostingMode(); + } } } // ----------------------------------------------------------------------------- +// IsHDMIConnected +// ----------------------------------------------------------------------------- +EXPORT_C TBool CGlxHdmiController::IsHDMIConnected() + { + TRACER("CGlxHdmiController::IsHDMIConnected()"); + return iGlxTvOut->IsHDMIConnected(); + } + + +// ----------------------------------------------------------------------------- // Constructor // ----------------------------------------------------------------------------- CGlxHdmiController::CGlxHdmiController(): - iFsBitmap(NULL) + iFsBitmap(NULL), + iStoredImagePath(NULL), + iPhotosForeground(EFalse) { TRACER("CGlxHdmiController::CGlxHdmiController()"); // Implement nothing here @@ -204,7 +241,6 @@ } } - // ----------------------------------------------------------------------------- // CreateHdmiContainerL // ----------------------------------------------------------------------------- @@ -256,7 +292,14 @@ TRACER("CGlxHdmiController::HandleTvStatusChangedL()"); if ( aChangeType == ETvConnectionChanged ) { - if ( iGlxTvOut->IsHDMIConnected() && iIsImageSupported ) + if ( iGlxTvOut->IsHDMIConnected() && iGlxTvOut->IsConnected() && iSurfaceUpdater) + { + GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI and TV Connected"); + // Do nothing , as this means HDMI is already connected and headset/tv cable connected + // meaning we shouldnt destroy HDMI and neither have to create surface updater. + return; + } + else if ( iGlxTvOut->IsHDMIConnected() && iIsImageSupported && iPhotosForeground) { GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI Connected"); // Calling SetImageL() with appropriate parameters @@ -264,8 +307,8 @@ } else { - GLX_LOG_INFO2("CGlxHdmiController::HandleTvStatusChangedL() iIsImageSupported=%d, iGlxTvOut->IsHDMIConnected()=%d", - iIsImageSupported,iGlxTvOut->IsHDMIConnected()); + GLX_LOG_INFO3("CGlxHdmiController::HandleTvStatusChangedL() iIsImageSupported=%d, iGlxTvOut->IsHDMIConnected()=%d, iIsPostingMode=%d", + iIsImageSupported,iGlxTvOut->IsHDMIConnected(),iPhotosForeground); // if it gets disconnected, destroy the surface GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI Not Connected"); DestroySurfaceUpdater(); @@ -273,12 +316,3 @@ } } -// ----------------------------------------------------------------------------- -// HandleTvStatusChangedL -// ----------------------------------------------------------------------------- -EXPORT_C TBool CGlxHdmiController::IsHDMIConnected() - { - TRACER("CGlxHdmiController::IsHDMIConnected()"); - return iGlxTvOut->IsHDMIConnected(); - } - diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/tvout/src/glxtvconnectionmonitor.cpp --- a/photosgallery/viewframework/tvout/src/glxtvconnectionmonitor.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/tvout/src/glxtvconnectionmonitor.cpp Tue May 11 16:13:40 2010 +0300 @@ -29,6 +29,7 @@ // INTERNAL INCLUDES #include +#include #include #include "glxtv.h" #include @@ -40,7 +41,7 @@ CGlxTvConnectionMonitor* CGlxTvConnectionMonitor::NewL( MGlxTvConnectionObserver& aConnectionObserver ) { - GLX_LOG_INFO("CGlxTvConnectionMonitor::NewL"); + TRACER("CGlxTvConnectionMonitor::NewL"); CGlxTvConnectionMonitor* self = new (ELeave) CGlxTvConnectionMonitor( aConnectionObserver ); CleanupStack::PushL( self ); @@ -56,7 +57,7 @@ // CGlxTvConnectionMonitor::~CGlxTvConnectionMonitor() { - GLX_LOG_INFO("~CGlxTvConnectionMonitor"); + TRACER("~CGlxTvConnectionMonitor"); Cancel(); iTvAccCon.CloseSubSession(); iTvAccServer.Disconnect(); @@ -67,14 +68,15 @@ // Default C++ constructor //----------------------------------------------------------------------------- // -CGlxTvConnectionMonitor::CGlxTvConnectionMonitor - ( MGlxTvConnectionObserver& aConnectionObserver ) - :CActive(EPriorityStandard), - iConnectionObserver ( aConnectionObserver ) - { - GLX_LOG_INFO("CGlxTvConnectionMonitor"); - CActiveScheduler::Add( this ); - } +CGlxTvConnectionMonitor::CGlxTvConnectionMonitor( + MGlxTvConnectionObserver& aConnectionObserver) : + CActive(EPriorityStandard), iConnectionObserver(aConnectionObserver), + iTvOutConnectionState(EFalse), iHDMIConnectionState(EFalse) + + { + TRACER("CGlxTvConnectionMonitor"); + CActiveScheduler::Add(this); + } //----------------------------------------------------------------------------- @@ -83,19 +85,11 @@ // void CGlxTvConnectionMonitor::ConstructL() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::ConstructL"); + TRACER("CGlxTvConnectionMonitor::ConstructL"); User::LeaveIfError(iTvAccServer.Connect()); User::LeaveIfError(iTvAccCon.CreateSubSession(iTvAccServer)); - User::LeaveIfError(iTvAccCon.GetAccessoryConnectionStatus(iCurrentAccArray)); - for (int i = 0; i < iCurrentAccArray.Count(); i++) - { - iTvOutConnectionState - = (iCurrentAccArray.GetGenericIDL(i).PhysicalConnectionCaps() - == KPCWired); - iHDMIConnectionState - = (iCurrentAccArray.GetGenericIDL(i).PhysicalConnectionCaps() - == KPCHDMI); - } + + UpdateConnectionStatusL(); IssueRequest(); } @@ -106,7 +100,7 @@ // void CGlxTvConnectionMonitor::RunL() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::RunL"); + TRACER("CGlxTvConnectionMonitor::RunL"); // Check for errors User::LeaveIfError( iStatus.Int() ); // Notify observers @@ -123,7 +117,7 @@ // void CGlxTvConnectionMonitor::DoCancel() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::DoCancel"); + TRACER("CGlxTvConnectionMonitor::DoCancel"); iTvAccCon.CancelGetAccessoryConnectionStatus(); iTvAccCon.CancelNotifyAccessoryConnectionStatusChanged(); } @@ -148,7 +142,7 @@ // TBool CGlxTvConnectionMonitor::IsConnected() const { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IsConnected"); + TRACER("CGlxTvConnectionMonitor::IsConnected"); GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsConnected iTvOutConnectionState=%d",iTvOutConnectionState); return iTvOutConnectionState; } @@ -160,7 +154,7 @@ // TBool CGlxTvConnectionMonitor::IsHDMIConnected() const { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IsHDMIConnected"); + TRACER("CGlxTvConnectionMonitor::IsHDMIConnected"); GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsHDMIConnected iHDMIConnectionState=%d",iHDMIConnectionState); return iHDMIConnectionState; } @@ -171,7 +165,7 @@ // void CGlxTvConnectionMonitor::IssueRequest() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueRequest"); + TRACER("CGlxTvConnectionMonitor::IssueRequest"); if (!IsActive()) // required for testing { iTvAccCon.NotifyAccessoryConnectionStatusChanged(iStatus,iCurrentAccArray); @@ -184,65 +178,91 @@ //----------------------------------------------------------------------------- // void CGlxTvConnectionMonitor::IssueNotificationL() - { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL"); + { + TRACER("CGlxTvConnectionMonitor::IssueNotificationL"); TBool previousTvState = iTvOutConnectionState; TBool previousHDMIState = iHDMIConnectionState; - GLX_LOG_INFO2("previousTvState = %d , previousHDMIState = %d", - previousTvState,previousHDMIState); - - //gets the TV status in to the iCurrentAccArray and haves the Latest Accesory in 0-index - User::LeaveIfError(iTvAccCon.GetAccessoryConnectionStatus(iCurrentAccArray)); - - CAccPolSubblockNameArray* nameArray = CAccPolSubblockNameArray::NewL(); - CleanupStack::PushL(nameArray); - // - // Get the number of currently connected accessories - // Loop through each connected accessory looking for - // the desired capabilities - // - iTvOutConnectionState = EFalse; - iHDMIConnectionState = EFalse; - const TInt count = iCurrentAccArray.Count(); - for (TInt index = 0; index < count; index++) - { - TAccPolGenericID genId = iCurrentAccArray.GetGenericIDL(index); - // Get all supported capabilities for this connected accessory. - iTvAccCon.GetSubblockNameArrayL(genId, *nameArray); - // Check if this connected accessory supports TV-Out capabality. - if (nameArray->HasName(KAccVideoOut)) - { - GLX_LOG_INFO("TV-Out Capabilities Exist"); - TAccPolNameRecord nameRecord; - nameRecord.SetNameL(KAccVideoOut); - TAccValueTypeTInt value; - iTvAccCon.GetValueL(genId, nameRecord, value); - if (value.iValue == EAccVideoOutEHDMI) - { - GLX_LOG_INFO("HDMI is connected Capabilities Exist"); - iHDMIConnectionState = ETrue; - break; - } - else if (value.iValue == EAccVideoOutCVideo) - { - GLX_LOG_INFO("TV is connected Capabilities Exist"); - iTvOutConnectionState = ETrue; - break; - } - } + // Update the connection status + UpdateConnectionStatusL(); - } - CleanupStack::PopAndDestroy(nameArray); - + // trigger tvstatus change only when there is actually a change the in the connection and not + // for spurious events if (previousTvState != iTvOutConnectionState || previousHDMIState != iHDMIConnectionState) { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL -" - " TvConnectionStatusChanged"); - GLX_LOG_INFO2("CurrentTvState = %d , CurrentHDMIState = %d", - iTvOutConnectionState,iHDMIConnectionState); + GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL - Connection Altered"); iConnectionObserver.HandleTvConnectionStatusChangedL(); } } +//----------------------------------------------------------------------------- +// UpdateConnectionStatusL() +//----------------------------------------------------------------------------- +// +void CGlxTvConnectionMonitor::UpdateConnectionStatusL() + { + TRACER("CGlxTvConnectionMonitor::UpdateConnectionStatusL()"); + + GLX_LOG_INFO2("CGlxTvConnectionMonitor::UpdateConnectionStatusL previousTvState = %d , previousHDMIState = %d", + iTvOutConnectionState,iHDMIConnectionState); + + // reset the states + iHDMIConnectionState = EFalse; + iTvOutConnectionState = EFalse; + + //gets the TV status in to the iCurrentAccArray and haves the Latest Accesory in 0-index + User::LeaveIfError(iTvAccCon.GetAccessoryConnectionStatus(iCurrentAccArray)); + + CAccPolSubblockNameArray* nameArray = CAccPolSubblockNameArray::NewL(); + CleanupStack::PushL(nameArray); + + // Get the number of currently connected accessories + // Loop through each connected accessory looking for + // the desired capabilities + // + const TInt count = iCurrentAccArray.Count(); + GLX_LOG_INFO1("CGlxTvConnectionMonitor::UpdateConnectionStatusL current count value is %d",count); + for (TInt index = 0; index < count; index++) + { + const TAccPolGenericID genId = iCurrentAccArray.GetGenericIDL(index); + // Check if this connected accessory supports TV-Out capabality. + GLX_LOG_INFO1("CGlxTvConnectionMonitor::UpdateConnectionStatusL current index value is %d",index); + GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL Video Accessory Supported"); + TAccPolNameRecord nameRecord; + nameRecord.SetNameL(KAccVideoOut); + + if (genId.DeviceTypeCaps( KDTAVDevice ) && + genId.PhysicalConnectionCaps( KPCHDMI )) + { + TAccValueTypeTInt value; + TInt err = iTvAccCon.GetValueL(genId, nameRecord, value); + if (err ==KErrNone) + { + if (value.iValue == EAccVideoOutEHDMI) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL HDMI is connected"); + iHDMIConnectionState = ETrue; + } + } + } + else if (genId.DeviceTypeCaps( KDTAVDevice ) && + genId.PhysicalConnectionCaps( KPCWired )) + { + TAccValueTypeTInt value; + TInt err = iTvAccCon.GetValueL(genId, nameRecord, value); + if (err ==KErrNone) + { + if (value.iValue == EAccVideoOutCVideo) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL Tv is connected"); + iTvOutConnectionState = ETrue; + } + } + } + } + CleanupStack::PopAndDestroy(nameArray); + + GLX_LOG_INFO2("CGlxTvConnectionMonitor::UpdateConnectionStatusL CurrentTvState = %d , CurrentHDMIState = %d", + iTvOutConnectionState,iHDMIConnectionState); + } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/uiutilities/bwins/glxuiutilitiesu.def --- a/photosgallery/viewframework/uiutilities/bwins/glxuiutilitiesu.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/bwins/glxuiutilitiesu.def Tue May 11 16:13:40 2010 +0300 @@ -11,57 +11,60 @@ ?RegisterActiveMediaList@CGlxActiveMediaListRegistry@@QAEXPAVMGlxMediaList@@@Z @ 10 NONAME ; void CGlxActiveMediaListRegistry::RegisterActiveMediaList(class MGlxMediaList *) ?FormatString@GlxGeneralUiUtilities@@SAXAAVTDes16@@ABVTDesC16@@HHH@Z @ 11 NONAME ; void GlxGeneralUiUtilities::FormatString(class TDes16 &, class TDesC16 const &, int, int, int) ?AppOrientation@CGlxUiUtility@@QBE?AW4TGlxOrientation@@XZ @ 12 NONAME ; enum TGlxOrientation CGlxUiUtility::AppOrientation(void) const - ?StopTNMDaemon@CGlxUiUtility@@QAEHXZ @ 13 NONAME ; int CGlxUiUtility::StopTNMDaemon(void) - ?NewLC@CGlxScreenFurniture@@SAPAV1@AAVCGlxUiUtility@@@Z @ 14 NONAME ; class CGlxScreenFurniture * CGlxScreenFurniture::NewLC(class CGlxUiUtility &) - ?ShowAlfDisplayL@CGlxUiUtility@@SAXXZ @ 15 NONAME ; void CGlxUiUtility::ShowAlfDisplayL(void) - ?LayoutIsMirrored@GlxGeneralUiUtilities@@SAHXZ @ 16 NONAME ; int GlxGeneralUiUtilities::LayoutIsMirrored(void) - ?IsLandscape@GlxGeneralUiUtilities@@SAHXZ @ 17 NONAME ; int GlxGeneralUiUtilities::IsLandscape(void) - ?SetToolbarPosition@CGlxScreenFurniture@@QAEXXZ @ 18 NONAME ; void CGlxScreenFurniture::SetToolbarPosition(void) - ?HandleTvStatusChangedL@CGlxUiUtility@@UAEXW4TTvChangeType@@@Z @ 19 NONAME ; void CGlxUiUtility::HandleTvStatusChangedL(enum TTvChangeType) - ?ModifySoftkeyIdL@CGlxScreenFurniture@@QAEXW4TCommandPosition@CEikButtonGroupContainer@@HHABVTDesC16@@@Z @ 20 NONAME ; void CGlxScreenFurniture::ModifySoftkeyIdL(enum CEikButtonGroupContainer::TCommandPosition, int, int, class TDesC16 const &) - ?Close@CGlxUiUtility@@QAEXXZ @ 21 NONAME ; void CGlxUiUtility::Close(void) - ?ViewDeactivated@CGlxScreenFurniture@@QAEXH@Z @ 22 NONAME ; void CGlxScreenFurniture::ViewDeactivated(int) - ?GetItemsLeftCount@CGlxUiUtility@@QAEHXZ @ 23 NONAME ; int CGlxUiUtility::GetItemsLeftCount(void) - ?CreateViewAnimationL@GlxAnimationFactory@@SAPAVMGlxAnimation@@W4TGlxViewswitchAnimation@@W4TGlxNavigationDirection@@AAV?$RPointerArray@VCAlfControlGroup@@@@@Z @ 24 NONAME ; class MGlxAnimation * GlxAnimationFactory::CreateViewAnimationL(enum TGlxViewswitchAnimation, enum TGlxNavigationDirection, class RPointerArray &) - ?ShowProgressbarL@CGlxProgressIndicator@@QAEXXZ @ 25 NONAME ; void CGlxProgressIndicator::ShowProgressbarL(void) - ?SetGridToolBar@CGlxUiUtility@@QAEXPAVCAknToolbar@@@Z @ 26 NONAME ; void CGlxUiUtility::SetGridToolBar(class CAknToolbar *) - ?AppState@GlxSetAppState@@SA?AW4TGlxAppState@@XZ @ 27 NONAME ; enum TGlxAppState GlxSetAppState::AppState(void) - ?ShowInfoNoteL@GlxGeneralUiUtilities@@SAXABVTDesC16@@H@Z @ 28 NONAME ; void GlxGeneralUiUtilities::ShowInfoNoteL(class TDesC16 const &, int) - ?RemoveSkinChangeObserver@CGlxUiUtility@@QAEXAAVMGlxSkinChangeObserver@@@Z @ 29 NONAME ; void CGlxUiUtility::RemoveSkinChangeObserver(class MGlxSkinChangeObserver &) - ?UtilityL@CGlxUiUtility@@SAPAV1@XZ @ 30 NONAME ; class CGlxUiUtility * CGlxUiUtility::UtilityL(void) - ?StartTNMDaemon@CGlxUiUtility@@QAEHXZ @ 31 NONAME ; int CGlxUiUtility::StartTNMDaemon(void) - ?HideAlfDisplayL@CGlxUiUtility@@SAXXZ @ 32 NONAME ; void CGlxUiUtility::HideAlfDisplayL(void) - ?DisplaySize@CGlxUiUtility@@QBE?AVTSize@@XZ @ 33 NONAME ; class TSize CGlxUiUtility::DisplaySize(void) const - ?ShowErrorNoteL@GlxGeneralUiUtilities@@SAXABVTDesC16@@H@Z @ 34 NONAME ; void GlxGeneralUiUtilities::ShowErrorNoteL(class TDesC16 const &, int) - ?SetActiveView@CGlxScreenFurniture@@QAEXH@Z @ 35 NONAME ; void CGlxScreenFurniture::SetActiveView(int) - ?SetState@GlxSetAppState@@SAXW4TGlxAppState@@@Z @ 36 NONAME ; void GlxSetAppState::SetState(enum TGlxAppState) - ?SetLeftSoftKeyL@CGlxTextEntryPopup@@QAEXH@Z @ 37 NONAME ; void CGlxTextEntryPopup::SetLeftSoftKeyL(int) - ?GetGridToolBar@CGlxUiUtility@@QAEPAVCAknToolbar@@XZ @ 38 NONAME ; class CAknToolbar * CGlxUiUtility::GetGridToolBar(void) - ?SetToolbarItemVisibility@CGlxScreenFurniture@@QAEXHH@Z @ 39 NONAME ; void CGlxScreenFurniture::SetToolbarItemVisibility(int, int) - ?AddSkinChangeObserverL@CGlxUiUtility@@QAEXAAVMGlxSkinChangeObserver@@@Z @ 40 NONAME ; void CGlxUiUtility::AddSkinChangeObserverL(class MGlxSkinChangeObserver &) - ?SetTooltipL@CGlxScreenFurniture@@QAEXHW4TTooltipPosition@CAknButton@@ABVTDesC16@@@Z @ 41 NONAME ; void CGlxScreenFurniture::SetTooltipL(int, enum CAknButton::TTooltipPosition, class TDesC16 const &) - ?GetRotatedImageSize@CGlxUiUtility@@QAE?AVTSize@@XZ @ 42 NONAME ; class TSize CGlxUiUtility::GetRotatedImageSize(void) - ?SetToolbarVisibility@CGlxScreenFurniture@@QAEXH@Z @ 43 NONAME ; void CGlxScreenFurniture::SetToolbarVisibility(int) - ?IsPenSupported@CGlxUiUtility@@QAEHXZ @ 44 NONAME ; int CGlxUiUtility::IsPenSupported(void) - ?IsExitingState@CGlxUiUtility@@QAEHXZ @ 45 NONAME ; int CGlxUiUtility::IsExitingState(void) - ?RetrieveL@GlxAttributeRetriever@@SAHABVMGlxFetchContext@@AAVMGlxMediaList@@H@Z @ 46 NONAME ; int GlxAttributeRetriever::RetrieveL(class MGlxFetchContext const &, class MGlxMediaList &, int) - ?TextStyleIdL@CGlxUiUtility@@QAEHHH@Z @ 47 NONAME ; int CGlxUiUtility::TextStyleIdL(int, int) - ?InstanceL@CGlxActiveMediaListRegistry@@SAPAV1@PAVMGlxActiveMediaListChangeObserver@@@Z @ 48 NONAME ; class CGlxActiveMediaListRegistry * CGlxActiveMediaListRegistry::InstanceL(class MGlxActiveMediaListChangeObserver *) - ?DeregisterActiveMediaList@CGlxActiveMediaListRegistry@@QAEXPAVMGlxMediaList@@@Z @ 49 NONAME ; void CGlxActiveMediaListRegistry::DeregisterActiveMediaList(class MGlxMediaList *) - ?CreateImageLoadingAnimationL@GlxAnimationFactory@@SAPAVMGlxAnimation@@AAVCAlfVisual@@AAVCAlfTexture@@@Z @ 50 NONAME ; class MGlxAnimation * GlxAnimationFactory::CreateImageLoadingAnimationL(class CAlfVisual &, class CAlfTexture &) - ?SetAppOrientationL@CGlxUiUtility@@QAEXW4TGlxOrientation@@@Z @ 51 NONAME ; void CGlxUiUtility::SetAppOrientationL(enum TGlxOrientation) - ?ConfirmQueryL@GlxGeneralUiUtilities@@SAHABVTDesC16@@@Z @ 52 NONAME ; int GlxGeneralUiUtilities::ConfirmQueryL(class TDesC16 const &) - ?SetToolbarItemDimmed@CGlxScreenFurniture@@QAEXHH@Z @ 53 NONAME ; void CGlxScreenFurniture::SetToolbarItemDimmed(int, int) - ?NewL@CGlxTextEntryPopup@@SAPAV1@ABVTDesC16@@AAVTDes16@@@Z @ 54 NONAME ; class CGlxTextEntryPopup * CGlxTextEntryPopup::NewL(class TDesC16 const &, class TDes16 &) - ?Display@CGlxUiUtility@@QBEPAVCAlfDisplay@@XZ @ 55 NONAME ; class CAlfDisplay * CGlxUiUtility::Display(void) const - ?CreateViewAnimationL@GlxAnimationFactory@@SAPAVMGlxAnimation@@W4TGlxViewswitchAnimation@@W4TGlxNavigationDirection@@PAVCAlfControlGroup@@@Z @ 56 NONAME ; class MGlxAnimation * GlxAnimationFactory::CreateViewAnimationL(enum TGlxViewswitchAnimation, enum TGlxNavigationDirection, class CAlfControlGroup *) - ?Env@CGlxUiUtility@@QBEPAVCAlfEnv@@XZ @ 57 NONAME ; class CAlfEnv * CGlxUiUtility::Env(void) const - ?NewL@CGlxProgressIndicator@@SAPAV1@AAVMDialogDismisedObserver@@@Z @ 58 NONAME ; class CGlxProgressIndicator * CGlxProgressIndicator::NewL(class MDialogDismisedObserver &) - ?SetViewNavigationDirection@CGlxUiUtility@@QAEXW4TGlxNavigationDirection@@@Z @ 59 NONAME ; void CGlxUiUtility::SetViewNavigationDirection(enum TGlxNavigationDirection) - ?ShowConfirmationNoteL@GlxGeneralUiUtilities@@SAXABVTDesC16@@H@Z @ 60 NONAME ; void GlxGeneralUiUtilities::ShowConfirmationNoteL(class TDesC16 const &, int) - ?ScreenFurniture@CGlxUiUtility@@QAEPAVCGlxScreenFurniture@@XZ @ 61 NONAME ; class CGlxScreenFurniture * CGlxUiUtility::ScreenFurniture(void) - ?ConfirmQueryL@GlxGeneralUiUtilities@@SAHHABVTDesC16@@@Z @ 62 NONAME ; int GlxGeneralUiUtilities::ConfirmQueryL(int, class TDesC16 const &) - ?SetFocusL@CGlxScreenFurniture@@QAEXH@Z @ 63 NONAME ; void CGlxScreenFurniture::SetFocusL(int) - ?GetGridIconSize@CGlxUiUtility@@QAE?AVTSize@@XZ @ 64 NONAME ; class TSize CGlxUiUtility::GetGridIconSize(void) - ?InstanceL@MGlxActiveMediaListResolver@@SAPAV1@PAVMGlxActiveMediaListChangeObserver@@@Z @ 65 NONAME ; class MGlxActiveMediaListResolver * MGlxActiveMediaListResolver::InstanceL(class MGlxActiveMediaListChangeObserver *) + ?DismissProgressDialog@CGlxProgressIndicator@@QAEXXZ @ 13 NONAME ; void CGlxProgressIndicator::DismissProgressDialog(void) + ?StopTNMDaemon@CGlxUiUtility@@QAEHXZ @ 14 NONAME ; int CGlxUiUtility::StopTNMDaemon(void) + ?NewLC@CGlxScreenFurniture@@SAPAV1@AAVCGlxUiUtility@@@Z @ 15 NONAME ; class CGlxScreenFurniture * CGlxScreenFurniture::NewLC(class CGlxUiUtility &) + ?ShowAlfDisplayL@CGlxUiUtility@@SAXXZ @ 16 NONAME ; void CGlxUiUtility::ShowAlfDisplayL(void) + ?LayoutIsMirrored@GlxGeneralUiUtilities@@SAHXZ @ 17 NONAME ; int GlxGeneralUiUtilities::LayoutIsMirrored(void) + ?IsLandscape@GlxGeneralUiUtilities@@SAHXZ @ 18 NONAME ; int GlxGeneralUiUtilities::IsLandscape(void) + ?SetToolbarPosition@CGlxScreenFurniture@@QAEXXZ @ 19 NONAME ; void CGlxScreenFurniture::SetToolbarPosition(void) + ?HandleTvStatusChangedL@CGlxUiUtility@@UAEXW4TTvChangeType@@@Z @ 20 NONAME ; void CGlxUiUtility::HandleTvStatusChangedL(enum TTvChangeType) + ?ModifySoftkeyIdL@CGlxScreenFurniture@@QAEXW4TCommandPosition@CEikButtonGroupContainer@@HHABVTDesC16@@@Z @ 21 NONAME ; void CGlxScreenFurniture::ModifySoftkeyIdL(enum CEikButtonGroupContainer::TCommandPosition, int, int, class TDesC16 const &) + ?Close@CGlxUiUtility@@QAEXXZ @ 22 NONAME ; void CGlxUiUtility::Close(void) + ?ViewDeactivated@CGlxScreenFurniture@@QAEXH@Z @ 23 NONAME ; void CGlxScreenFurniture::ViewDeactivated(int) + ?GetItemsLeftCount@CGlxUiUtility@@QAEHXZ @ 24 NONAME ; int CGlxUiUtility::GetItemsLeftCount(void) + ?CreateViewAnimationL@GlxAnimationFactory@@SAPAVMGlxAnimation@@W4TGlxViewswitchAnimation@@W4TGlxNavigationDirection@@AAV?$RPointerArray@VCAlfControlGroup@@@@@Z @ 25 NONAME ; class MGlxAnimation * GlxAnimationFactory::CreateViewAnimationL(enum TGlxViewswitchAnimation, enum TGlxNavigationDirection, class RPointerArray &) + ?ShowProgressbarL@CGlxProgressIndicator@@QAEXXZ @ 26 NONAME ; void CGlxProgressIndicator::ShowProgressbarL(void) + ?SetGridToolBar@CGlxUiUtility@@QAEXPAVCAknToolbar@@@Z @ 27 NONAME ; void CGlxUiUtility::SetGridToolBar(class CAknToolbar *) + ?AppState@GlxSetAppState@@SA?AW4TGlxAppState@@XZ @ 28 NONAME ; enum TGlxAppState GlxSetAppState::AppState(void) + ?ShowInfoNoteL@GlxGeneralUiUtilities@@SAXABVTDesC16@@H@Z @ 29 NONAME ; void GlxGeneralUiUtilities::ShowInfoNoteL(class TDesC16 const &, int) + ?RemoveSkinChangeObserver@CGlxUiUtility@@QAEXAAVMGlxSkinChangeObserver@@@Z @ 30 NONAME ; void CGlxUiUtility::RemoveSkinChangeObserver(class MGlxSkinChangeObserver &) + ?UtilityL@CGlxUiUtility@@SAPAV1@XZ @ 31 NONAME ; class CGlxUiUtility * CGlxUiUtility::UtilityL(void) + ?StartTNMDaemon@CGlxUiUtility@@QAEHXZ @ 32 NONAME ; int CGlxUiUtility::StartTNMDaemon(void) + ?HideAlfDisplayL@CGlxUiUtility@@SAXXZ @ 33 NONAME ; void CGlxUiUtility::HideAlfDisplayL(void) + ?DisplaySize@CGlxUiUtility@@QBE?AVTSize@@XZ @ 34 NONAME ; class TSize CGlxUiUtility::DisplaySize(void) const + ?ShowErrorNoteL@GlxGeneralUiUtilities@@SAXABVTDesC16@@H@Z @ 35 NONAME ; void GlxGeneralUiUtilities::ShowErrorNoteL(class TDesC16 const &, int) + ?SetActiveView@CGlxScreenFurniture@@QAEXH@Z @ 36 NONAME ; void CGlxScreenFurniture::SetActiveView(int) + ?SetState@GlxSetAppState@@SAXW4TGlxAppState@@@Z @ 37 NONAME ; void GlxSetAppState::SetState(enum TGlxAppState) + ?SetLeftSoftKeyL@CGlxTextEntryPopup@@QAEXH@Z @ 38 NONAME ; void CGlxTextEntryPopup::SetLeftSoftKeyL(int) + ?GetGridToolBar@CGlxUiUtility@@QAEPAVCAknToolbar@@XZ @ 39 NONAME ; class CAknToolbar * CGlxUiUtility::GetGridToolBar(void) + ?SetToolbarItemVisibility@CGlxScreenFurniture@@QAEXHH@Z @ 40 NONAME ; void CGlxScreenFurniture::SetToolbarItemVisibility(int, int) + ?AddSkinChangeObserverL@CGlxUiUtility@@QAEXAAVMGlxSkinChangeObserver@@@Z @ 41 NONAME ; void CGlxUiUtility::AddSkinChangeObserverL(class MGlxSkinChangeObserver &) + ?SetTooltipL@CGlxScreenFurniture@@QAEXHW4TTooltipPosition@CAknButton@@ABVTDesC16@@@Z @ 42 NONAME ; void CGlxScreenFurniture::SetTooltipL(int, enum CAknButton::TTooltipPosition, class TDesC16 const &) + ?GetRotatedImageSize@CGlxUiUtility@@QAE?AVTSize@@XZ @ 43 NONAME ; class TSize CGlxUiUtility::GetRotatedImageSize(void) + ?SetToolbarVisibility@CGlxScreenFurniture@@QAEXH@Z @ 44 NONAME ; void CGlxScreenFurniture::SetToolbarVisibility(int) + ?IsPenSupported@CGlxUiUtility@@QAEHXZ @ 45 NONAME ; int CGlxUiUtility::IsPenSupported(void) + ?IsExitingState@CGlxUiUtility@@QAEHXZ @ 46 NONAME ; int CGlxUiUtility::IsExitingState(void) + ?Env@CGlxUiUtility@@QAEPAVCAlfEnv@@XZ @ 47 NONAME ; class CAlfEnv * CGlxUiUtility::Env(void) + ?RetrieveL@GlxAttributeRetriever@@SAHABVMGlxFetchContext@@AAVMGlxMediaList@@H@Z @ 48 NONAME ; int GlxAttributeRetriever::RetrieveL(class MGlxFetchContext const &, class MGlxMediaList &, int) + ?TextStyleIdL@CGlxUiUtility@@QAEHHH@Z @ 49 NONAME ; int CGlxUiUtility::TextStyleIdL(int, int) + ?InstanceL@CGlxActiveMediaListRegistry@@SAPAV1@PAVMGlxActiveMediaListChangeObserver@@@Z @ 50 NONAME ; class CGlxActiveMediaListRegistry * CGlxActiveMediaListRegistry::InstanceL(class MGlxActiveMediaListChangeObserver *) + ?DeregisterActiveMediaList@CGlxActiveMediaListRegistry@@QAEXPAVMGlxMediaList@@@Z @ 51 NONAME ; void CGlxActiveMediaListRegistry::DeregisterActiveMediaList(class MGlxMediaList *) + ?CreateImageLoadingAnimationL@GlxAnimationFactory@@SAPAVMGlxAnimation@@AAVCAlfVisual@@AAVCAlfTexture@@@Z @ 52 NONAME ; class MGlxAnimation * GlxAnimationFactory::CreateImageLoadingAnimationL(class CAlfVisual &, class CAlfTexture &) + ?SetAppOrientationL@CGlxUiUtility@@QAEXW4TGlxOrientation@@@Z @ 53 NONAME ; void CGlxUiUtility::SetAppOrientationL(enum TGlxOrientation) + ?ConfirmQueryL@GlxGeneralUiUtilities@@SAHABVTDesC16@@@Z @ 54 NONAME ; int GlxGeneralUiUtilities::ConfirmQueryL(class TDesC16 const &) + ?SetToolbarItemDimmed@CGlxScreenFurniture@@QAEXHH@Z @ 55 NONAME ; void CGlxScreenFurniture::SetToolbarItemDimmed(int, int) + ?NewL@CGlxTextEntryPopup@@SAPAV1@ABVTDesC16@@AAVTDes16@@@Z @ 56 NONAME ; class CGlxTextEntryPopup * CGlxTextEntryPopup::NewL(class TDesC16 const &, class TDes16 &) + ?Display@CGlxUiUtility@@QBEPAVCAlfDisplay@@XZ @ 57 NONAME ; class CAlfDisplay * CGlxUiUtility::Display(void) const + ?CreateViewAnimationL@GlxAnimationFactory@@SAPAVMGlxAnimation@@W4TGlxViewswitchAnimation@@W4TGlxNavigationDirection@@PAVCAlfControlGroup@@@Z @ 58 NONAME ; class MGlxAnimation * GlxAnimationFactory::CreateViewAnimationL(enum TGlxViewswitchAnimation, enum TGlxNavigationDirection, class CAlfControlGroup *) + ?NewL@CGlxProgressIndicator@@SAPAV1@AAVMDialogDismisedObserver@@@Z @ 59 NONAME ; class CGlxProgressIndicator * CGlxProgressIndicator::NewL(class MDialogDismisedObserver &) + ?SetViewNavigationDirection@CGlxUiUtility@@QAEXW4TGlxNavigationDirection@@@Z @ 60 NONAME ; void CGlxUiUtility::SetViewNavigationDirection(enum TGlxNavigationDirection) + ?ShowConfirmationNoteL@GlxGeneralUiUtilities@@SAXABVTDesC16@@H@Z @ 61 NONAME ; void GlxGeneralUiUtilities::ShowConfirmationNoteL(class TDesC16 const &, int) + ?ScreenFurniture@CGlxUiUtility@@QAEPAVCGlxScreenFurniture@@XZ @ 62 NONAME ; class CGlxScreenFurniture * CGlxUiUtility::ScreenFurniture(void) + ?ConfirmQueryL@GlxGeneralUiUtilities@@SAHHABVTDesC16@@@Z @ 63 NONAME ; int GlxGeneralUiUtilities::ConfirmQueryL(int, class TDesC16 const &) + ?SetFocusL@CGlxScreenFurniture@@QAEXH@Z @ 64 NONAME ; void CGlxScreenFurniture::SetFocusL(int) + ?GetGridIconSize@CGlxUiUtility@@QAE?AVTSize@@XZ @ 65 NONAME ; class TSize CGlxUiUtility::GetGridIconSize(void) + ?InstanceL@MGlxActiveMediaListResolver@@SAPAV1@PAVMGlxActiveMediaListChangeObserver@@@Z @ 66 NONAME ; class MGlxActiveMediaListResolver * MGlxActiveMediaListResolver::InstanceL(class MGlxActiveMediaListChangeObserver *) + ?DisplayScreenClearerL@CGlxUiUtility@@QAEXXZ @ 67 NONAME ; void CGlxUiUtility::DisplayScreenClearerL(void) + ?DestroyScreenClearer@CGlxUiUtility@@QAEXXZ @ 68 NONAME ; void CGlxUiUtility::DestroyScreenClearer(void) diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/uiutilities/eabi/glxuiutilitiesu.def --- a/photosgallery/viewframework/uiutilities/eabi/glxuiutilitiesu.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/eabi/glxuiutilitiesu.def Tue May 11 16:13:40 2010 +0300 @@ -22,67 +22,70 @@ _ZN13CGlxUiUtility24RemoveSkinChangeObserverER22MGlxSkinChangeObserver @ 21 NONAME _ZN13CGlxUiUtility26SetViewNavigationDirectionE23TGlxNavigationDirection @ 22 NONAME _ZN13CGlxUiUtility30VisibleItemsInPageGranularityLEv @ 23 NONAME - _ZN13CGlxUiUtility5CloseEv @ 24 NONAME - _ZN13CGlxUiUtility8UtilityLEv @ 25 NONAME - _ZN14GlxSetAppState8AppStateEv @ 26 NONAME - _ZN14GlxSetAppState8SetStateE12TGlxAppState @ 27 NONAME - _ZN15CGlxMMCNotifier4NewLER24MStorageNotifierObserver @ 28 NONAME - _ZN18CGlxTextEntryPopup15SetLeftSoftKeyLEi @ 29 NONAME - _ZN18CGlxTextEntryPopup4NewLERK7TDesC16R6TDes16 @ 30 NONAME - _ZN18CGlxTextEntryPopup9ExecuteLDEv @ 31 NONAME - _ZN19CGlxScreenFurniture11SetTooltipLEiN10CAknButton16TTooltipPositionERK7TDesC16 @ 32 NONAME - _ZN19CGlxScreenFurniture13SetActiveViewEi @ 33 NONAME - _ZN19CGlxScreenFurniture15ViewDeactivatedEi @ 34 NONAME - _ZN19CGlxScreenFurniture16ModifySoftkeyIdLEN24CEikButtonGroupContainer16TCommandPositionEiiRK7TDesC16 @ 35 NONAME - _ZN19CGlxScreenFurniture18SetToolbarPositionEv @ 36 NONAME - _ZN19CGlxScreenFurniture20SetToolbarItemDimmedEii @ 37 NONAME - _ZN19CGlxScreenFurniture20SetToolbarVisibilityEi @ 38 NONAME - _ZN19CGlxScreenFurniture24SetToolbarItemVisibilityEii @ 39 NONAME - _ZN19CGlxScreenFurniture4NewLER13CGlxUiUtility @ 40 NONAME - _ZN19CGlxScreenFurniture5NewLCER13CGlxUiUtility @ 41 NONAME - _ZN19CGlxScreenFurniture9SetFocusLEi @ 42 NONAME - _ZN19GlxAnimationFactory20CreateViewAnimationLE23TGlxViewswitchAnimation23TGlxNavigationDirectionP16CAlfControlGroup @ 43 NONAME - _ZN19GlxAnimationFactory20CreateViewAnimationLE23TGlxViewswitchAnimation23TGlxNavigationDirectionR13RPointerArrayI16CAlfControlGroupE @ 44 NONAME - _ZN19GlxAnimationFactory28CreateImageLoadingAnimationLER10CAlfVisualR11CAlfTexture @ 45 NONAME - _ZN21CGlxProgressIndicator16ShowProgressbarLEv @ 46 NONAME - _ZN21CGlxProgressIndicator4NewLER23MDialogDismisedObserver @ 47 NONAME - _ZN21GlxAttributeRetriever9RetrieveLERK16MGlxFetchContextR13MGlxMediaListi @ 48 NONAME - _ZN21GlxGeneralUiUtilities11IsLandscapeEv @ 49 NONAME - _ZN21GlxGeneralUiUtilities12FormatStringER6TDes16RK7TDesC16iii @ 50 NONAME - _ZN21GlxGeneralUiUtilities13ConfirmQueryLERK7TDesC16 @ 51 NONAME - _ZN21GlxGeneralUiUtilities13ConfirmQueryLEiRK7TDesC16 @ 52 NONAME - _ZN21GlxGeneralUiUtilities13ShowInfoNoteLERK7TDesC16i @ 53 NONAME - _ZN21GlxGeneralUiUtilities14ShowErrorNoteLERK7TDesC16i @ 54 NONAME - _ZN21GlxGeneralUiUtilities14ShowErrorNoteLEi @ 55 NONAME - _ZN21GlxGeneralUiUtilities16LayoutIsMirroredEv @ 56 NONAME - _ZN21GlxGeneralUiUtilities21ShowConfirmationNoteLERK7TDesC16i @ 57 NONAME - _ZN27CGlxActiveMediaListRegistry23RegisterActiveMediaListEP13MGlxMediaList @ 58 NONAME - _ZN27CGlxActiveMediaListRegistry25DeregisterActiveMediaListEP13MGlxMediaList @ 59 NONAME - _ZN27CGlxActiveMediaListRegistry9InstanceLEP33MGlxActiveMediaListChangeObserver @ 60 NONAME - _ZN27MGlxActiveMediaListResolver9InstanceLEP33MGlxActiveMediaListChangeObserver @ 61 NONAME - _ZNK13CGlxUiUtility11DisplaySizeEv @ 62 NONAME - _ZNK13CGlxUiUtility14AppOrientationEv @ 63 NONAME - _ZNK13CGlxUiUtility3EnvEv @ 64 NONAME - _ZNK13CGlxUiUtility7DisplayEv @ 65 NONAME - _ZTI13CGlxUiUtility @ 66 NONAME - _ZTI15CGlxMMCNotifier @ 67 NONAME - _ZTI17CGlxAnimationView @ 68 NONAME - _ZTI18CGlxAnimationTimed @ 69 NONAME - _ZTI18CGlxTextEntryPopup @ 70 NONAME - _ZTI21CGlxProgressIndicator @ 71 NONAME - _ZTI21CGlxSkinChangeMonitor @ 72 NONAME - _ZTI25CGlxAnimationImageLoading @ 73 NONAME - _ZTI32CGlxWaitDialogAttributeRetriever @ 74 NONAME - _ZTI33CGlxSynchronousAttributeRetriever @ 75 NONAME - _ZTV13CGlxUiUtility @ 76 NONAME - _ZTV15CGlxMMCNotifier @ 77 NONAME - _ZTV17CGlxAnimationView @ 78 NONAME - _ZTV18CGlxAnimationTimed @ 79 NONAME - _ZTV18CGlxTextEntryPopup @ 80 NONAME - _ZTV21CGlxProgressIndicator @ 81 NONAME - _ZTV21CGlxSkinChangeMonitor @ 82 NONAME - _ZTV25CGlxAnimationImageLoading @ 83 NONAME - _ZTV32CGlxWaitDialogAttributeRetriever @ 84 NONAME - _ZTV33CGlxSynchronousAttributeRetriever @ 85 NONAME - _ZThn4_N13CGlxUiUtility22HandleTvStatusChangedLE13TTvChangeType @ 86 NONAME + _ZN13CGlxUiUtility3EnvEv @ 24 NONAME + _ZN13CGlxUiUtility5CloseEv @ 25 NONAME + _ZN13CGlxUiUtility8UtilityLEv @ 26 NONAME + _ZN14GlxSetAppState8AppStateEv @ 27 NONAME + _ZN14GlxSetAppState8SetStateE12TGlxAppState @ 28 NONAME + _ZN15CGlxMMCNotifier4NewLER24MStorageNotifierObserver @ 29 NONAME + _ZN18CGlxTextEntryPopup15SetLeftSoftKeyLEi @ 30 NONAME + _ZN18CGlxTextEntryPopup4NewLERK7TDesC16R6TDes16 @ 31 NONAME + _ZN18CGlxTextEntryPopup9ExecuteLDEv @ 32 NONAME + _ZN19CGlxScreenFurniture11SetTooltipLEiN10CAknButton16TTooltipPositionERK7TDesC16 @ 33 NONAME + _ZN19CGlxScreenFurniture13SetActiveViewEi @ 34 NONAME + _ZN19CGlxScreenFurniture15ViewDeactivatedEi @ 35 NONAME + _ZN19CGlxScreenFurniture16ModifySoftkeyIdLEN24CEikButtonGroupContainer16TCommandPositionEiiRK7TDesC16 @ 36 NONAME + _ZN19CGlxScreenFurniture18SetToolbarPositionEv @ 37 NONAME + _ZN19CGlxScreenFurniture20SetToolbarItemDimmedEii @ 38 NONAME + _ZN19CGlxScreenFurniture20SetToolbarVisibilityEi @ 39 NONAME + _ZN19CGlxScreenFurniture24SetToolbarItemVisibilityEii @ 40 NONAME + _ZN19CGlxScreenFurniture4NewLER13CGlxUiUtility @ 41 NONAME + _ZN19CGlxScreenFurniture5NewLCER13CGlxUiUtility @ 42 NONAME + _ZN19CGlxScreenFurniture9SetFocusLEi @ 43 NONAME + _ZN19GlxAnimationFactory20CreateViewAnimationLE23TGlxViewswitchAnimation23TGlxNavigationDirectionP16CAlfControlGroup @ 44 NONAME + _ZN19GlxAnimationFactory20CreateViewAnimationLE23TGlxViewswitchAnimation23TGlxNavigationDirectionR13RPointerArrayI16CAlfControlGroupE @ 45 NONAME + _ZN19GlxAnimationFactory28CreateImageLoadingAnimationLER10CAlfVisualR11CAlfTexture @ 46 NONAME + _ZN21CGlxProgressIndicator16ShowProgressbarLEv @ 47 NONAME + _ZN21CGlxProgressIndicator21DismissProgressDialogEv @ 48 NONAME + _ZN21CGlxProgressIndicator4NewLER23MDialogDismisedObserver @ 49 NONAME + _ZN21GlxAttributeRetriever9RetrieveLERK16MGlxFetchContextR13MGlxMediaListi @ 50 NONAME + _ZN21GlxGeneralUiUtilities11IsLandscapeEv @ 51 NONAME + _ZN21GlxGeneralUiUtilities12FormatStringER6TDes16RK7TDesC16iii @ 52 NONAME + _ZN21GlxGeneralUiUtilities13ConfirmQueryLERK7TDesC16 @ 53 NONAME + _ZN21GlxGeneralUiUtilities13ConfirmQueryLEiRK7TDesC16 @ 54 NONAME + _ZN21GlxGeneralUiUtilities13ShowInfoNoteLERK7TDesC16i @ 55 NONAME + _ZN21GlxGeneralUiUtilities14ShowErrorNoteLERK7TDesC16i @ 56 NONAME + _ZN21GlxGeneralUiUtilities14ShowErrorNoteLEi @ 57 NONAME + _ZN21GlxGeneralUiUtilities16LayoutIsMirroredEv @ 58 NONAME + _ZN21GlxGeneralUiUtilities21ShowConfirmationNoteLERK7TDesC16i @ 59 NONAME + _ZN27CGlxActiveMediaListRegistry23RegisterActiveMediaListEP13MGlxMediaList @ 60 NONAME + _ZN27CGlxActiveMediaListRegistry25DeregisterActiveMediaListEP13MGlxMediaList @ 61 NONAME + _ZN27CGlxActiveMediaListRegistry9InstanceLEP33MGlxActiveMediaListChangeObserver @ 62 NONAME + _ZN27MGlxActiveMediaListResolver9InstanceLEP33MGlxActiveMediaListChangeObserver @ 63 NONAME + _ZNK13CGlxUiUtility11DisplaySizeEv @ 64 NONAME + _ZNK13CGlxUiUtility14AppOrientationEv @ 65 NONAME + _ZNK13CGlxUiUtility7DisplayEv @ 66 NONAME + _ZTI13CGlxUiUtility @ 67 NONAME + _ZTI15CGlxMMCNotifier @ 68 NONAME + _ZTI17CGlxAnimationView @ 69 NONAME + _ZTI18CGlxAnimationTimed @ 70 NONAME + _ZTI18CGlxTextEntryPopup @ 71 NONAME + _ZTI21CGlxProgressIndicator @ 72 NONAME + _ZTI21CGlxSkinChangeMonitor @ 73 NONAME + _ZTI25CGlxAnimationImageLoading @ 74 NONAME + _ZTI32CGlxWaitDialogAttributeRetriever @ 75 NONAME + _ZTI33CGlxSynchronousAttributeRetriever @ 76 NONAME + _ZTV13CGlxUiUtility @ 77 NONAME + _ZTV15CGlxMMCNotifier @ 78 NONAME + _ZTV17CGlxAnimationView @ 79 NONAME + _ZTV18CGlxAnimationTimed @ 80 NONAME + _ZTV18CGlxTextEntryPopup @ 81 NONAME + _ZTV21CGlxProgressIndicator @ 82 NONAME + _ZTV21CGlxSkinChangeMonitor @ 83 NONAME + _ZTV25CGlxAnimationImageLoading @ 84 NONAME + _ZTV32CGlxWaitDialogAttributeRetriever @ 85 NONAME + _ZTV33CGlxSynchronousAttributeRetriever @ 86 NONAME + _ZThn4_N13CGlxUiUtility22HandleTvStatusChangedLE13TTvChangeType @ 87 NONAME + _ZN13CGlxUiUtility20DestroyScreenClearerEv @ 88 NONAME + _ZN13CGlxUiUtility21DisplayScreenClearerLEv @ 89 NONAME diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/uiutilities/group/glxuiutilities.mmp --- a/photosgallery/viewframework/uiutilities/group/glxuiutilities.mmp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/group/glxuiutilities.mmp Tue May 11 16:13:40 2010 +0300 @@ -116,6 +116,7 @@ LIBRARY libstdcpp.lib LIBRARY flogger.lib //LIBRARY hgcontextutility.lib // For Teleport +LIBRARY akntransitionutils.lib // EXPORTUNFROZEN // End of File diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/uiutilities/inc/glxprogressindicator.h --- a/photosgallery/viewframework/uiutilities/inc/glxprogressindicator.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/inc/glxprogressindicator.h Tue May 11 16:13:40 2010 +0300 @@ -38,7 +38,10 @@ IMPORT_C static CGlxProgressIndicator* NewL(MDialogDismisedObserver& aGlxGridViewNotifyObserver); ~CGlxProgressIndicator(); static CGlxProgressIndicator* NewLC(MDialogDismisedObserver& aGlxGridViewNotifyObserver); - + /** + * dismiss progress dialog when it is needed + */ + IMPORT_C void DismissProgressDialog(); private: CGlxProgressIndicator(MDialogDismisedObserver& aGlxGridViewNotifyObserver); void ConstructL(); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/uiutilities/inc/glxuiutility.h --- a/photosgallery/viewframework/uiutilities/inc/glxuiutility.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/inc/glxuiutility.h Tue May 11 16:13:40 2010 +0300 @@ -47,6 +47,8 @@ class CGlxTv; class CGlxResolutionManager; class CGlxScreenFurniture; +class CAknLocalScreenClearer; + //class CHgContextUtility; /** * Enumeration for different types of navigations that occur from one view to the next @@ -102,7 +104,7 @@ * Get a pointer to the Alf environment. * @return The ALF environment owned by the AlfUtility. */ - IMPORT_C CAlfEnv* Env() const; + IMPORT_C CAlfEnv* Env(); /** * Get a pointer to the Alf display. @@ -232,6 +234,16 @@ * @param aToolbar Current Toolbar */ IMPORT_C void SetGridToolBar(CAknToolbar* aToolbar); + + /** + * Display Blank screen + */ + IMPORT_C void CGlxUiUtility::DisplayScreenClearerL(); + + /** + * Destroy Blank screen + */ + IMPORT_C void CGlxUiUtility::DestroyScreenClearer(); public: // from class MGlxTvObserver @@ -262,7 +274,12 @@ */ IMPORT_C void RemoveSkinChangeObserver(MGlxSkinChangeObserver& aObserver); - +public: + // Callback for periodic timer, static, + static TInt PeriodicCallback( TAny* aPtr ); + + // Non-static func called from periodic timer + void CreateAlfEnvCallbackL(); private: /** * C++ default constructor. @@ -296,6 +313,12 @@ * different thumbnail icons in Thumbnail database. */ void GridIconSizeL(); + + /** + * Create Alf environment + */ + void CreateAlfEnvL(); + // internal class to contain details of a style private: class TGlxTextStyle @@ -357,6 +380,8 @@ //current Toolbar being used CAknToolbar* iToolbar; + CPeriodic* iPeriodic; + CAknLocalScreenClearer* iClearer; }; diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/uiutilities/src/glxprogressindicator.cpp --- a/photosgallery/viewframework/uiutilities/src/glxprogressindicator.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/src/glxprogressindicator.cpp Tue May 11 16:13:40 2010 +0300 @@ -76,13 +76,10 @@ { iProgressbarTicker->Cancel(); delete iProgressbarTicker; - } - if(iProgressDialog) - { - iProgressDialog->ProcessFinishedL(); + iProgressbarTicker = NULL; } - // Stop force generation of thumbnails when progress dialog is dismissed + // Stop force generation of thumbnails when progress dialog is dismissed if (iUiUtility) { iUiUtility->StopTNMDaemon(); @@ -99,14 +96,13 @@ TRACER("CGlxProgressIndicator::ConstructL()"); iUiUtility->StartTNMDaemon(); - if(!iProgressbarTicker) + if (!iProgressbarTicker) { iProgressbarTicker = CPeriodic::NewL(CActive::EPriorityStandard); } iFinalCount = iUiUtility->GetItemsLeftCount(); GLX_LOG_INFO1("final count in viewactivate = %d",iFinalCount); - } @@ -117,7 +113,7 @@ TInt CGlxProgressIndicator::PeriodicCallbackL(TAny* aPtr ) { TRACER("CGlxProgressIndicator::PeriodicCallbackL"); - static_cast< CGlxProgressIndicator* >( aPtr )->DisplayProgressBarL(); + static_cast (aPtr)->DisplayProgressBarL(); return KErrNone; } @@ -131,13 +127,13 @@ TInt itemsLeft = iUiUtility->GetItemsLeftCount(); GLX_LOG_INFO1("itemsLeft in DisplayProgressBarL = %d",iFinalCount); UpdateProgressBar(); - if(!itemsLeft) + if (!itemsLeft) { - if(iProgressbarTicker->IsActive()) + if (iProgressbarTicker->IsActive()) { iProgressbarTicker->Cancel(); } - StartProgressNoteL(iFinalCount,EFalse); + StartProgressNoteL(iFinalCount, EFalse); } } @@ -149,39 +145,38 @@ { TRACER("CGlxProgressIndicator::StartProgressNoteL()"); TInt itemsLeft = iUiUtility->GetItemsLeftCount(); - if(aShow) + if (aShow) { - if(!iProgressDialog) + if (!iProgressDialog) { iProgressDialog = new (ELeave) CAknProgressDialog( (reinterpret_cast (&iProgressDialog)), ETrue); } iProgressDialog->PrepareLC(R_PROGRESS_NOTE); - + iProgressInfo = iProgressDialog->GetProgressInfoL(); - + iProgressDialog->SetCallback(this); - - HBufC* processingInfo = - StringLoader::LoadLC(R_GLX_MAIN_LIST_VIEW_PROCESSING_DIALOG); + + HBufC* processingInfo = StringLoader::LoadLC( + R_GLX_MAIN_LIST_VIEW_PROCESSING_DIALOG); iProgressDialog->SetTextL(*processingInfo); - CleanupStack::PopAndDestroy(processingInfo ); + CleanupStack::PopAndDestroy(processingInfo); iProgressInfo->SetFinalValue(aFinalValue); - iProgressInfo->SetAndDraw(iFinalCount-itemsLeft); + iProgressInfo->SetAndDraw(iFinalCount - itemsLeft); iProgressDialog->RunLD(); } else { iProgressDialog->ProcessFinishedL(); iGlxGridViewNotifyObserver.HandleDialogDismissedL(); - if(iProgressDialog) + if (iProgressDialog) { iProgressDialog = NULL; iProgressInfo = NULL; } } - } // ----------------------------------------------------------------------------- @@ -189,9 +184,9 @@ // ----------------------------------------------------------------------------- // void CGlxProgressIndicator::UpdateProgressBar() - { + { TRACER("CGlxProgressIndicator::UpdateProgressBar()"); - if(iProgressInfo) + if (iProgressInfo) { /* * to show a number string in the progress bar use the below code @@ -208,20 +203,17 @@ // DialogDismissedL // ----------------------------------------------------------------------------- // -void CGlxProgressIndicator::DialogDismissedL(TInt aButtonId) +void CGlxProgressIndicator::DialogDismissedL(TInt /*aButtonId*/) { TRACER("CGlxProgressIndicator::DialogDismissedL()"); - if(iProgressbarTicker) + if (iProgressbarTicker) { iProgressbarTicker->Cancel(); + delete iProgressbarTicker; iProgressbarTicker = NULL; } - - if(iProgressDialog) - { - iProgressDialog = NULL; - iProgressInfo = NULL; - } + iProgressDialog = NULL; + iProgressInfo = NULL; } // ----------------------------------------------------------------------------- @@ -283,3 +275,18 @@ iUiUtility->StopTNMDaemon(); } } + +// ----------------------------------------------------------------------------- +// DismissProgressDialog +// ----------------------------------------------------------------------------- +// +EXPORT_C void CGlxProgressIndicator::DismissProgressDialog() + { + TRACER("CGlxProgressIndicator::DismissProgressDialog"); + + if(iProgressDialog) + { + TRAP_IGNORE(iProgressDialog->ProcessFinishedL()); + } + } + diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/uiutilities/src/glxuiutility.cpp --- a/photosgallery/viewframework/uiutilities/src/glxuiutility.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/src/glxuiutility.cpp Tue May 11 16:13:40 2010 +0300 @@ -39,6 +39,9 @@ #include #include #include // For feature constants +#include +#include +#include // Internal incudes #include // for CGlxResolutionManager @@ -55,11 +58,18 @@ #include +//For animation Effects +#include +#include + //Publish-Subscribe from Thumbnail manager const TUid KTAGDPSNotification = { 0x2001FD51 }; //PS category const TInt KForceBackgroundGeneration = 0x00000010; //PS Key const TInt KItemsleft = 0x00000008; //PS key value - +/** + * Start Delay for the periodic timer, in microseconds + */ +const TInt KPeriodicStartDelay = 1000000; //Hg //#include @@ -107,7 +117,7 @@ // ----------------------------------------------------------------------------- // CGlxUiUtility::CGlxUiUtility() -: iNavigationDirection( EGlxNavigationForwards ), +: iEnv(NULL),iNavigationDirection( EGlxNavigationForwards ), iOrientation( EGlxOrientationUninitialised ) { TRACER("CGlxUiUtility::CGlxUiUtility()"); @@ -122,8 +132,57 @@ { TRACER("CGlxUiUtility::ConstructL()"); iSettingsModel = CGlxSettingsModel::InstanceL(); + + iOrientation = EGlxOrientationDefault; // Always start in default orientation + + if (!iPeriodic) + { + iPeriodic = CPeriodic::NewL(CActive::EPriorityStandard); + } + + if (!iPeriodic->IsActive()) + { + iPeriodic->Start(KPeriodicStartDelay, KMaxTInt, + TCallBack(&PeriodicCallback, static_cast (this))); + } + + GridIconSizeL(); + iScreenFurniture = CGlxScreenFurniture::NewL(*this); + } + +// ----------------------------------------------------------------------------- +// Callback from periodic timer +// ----------------------------------------------------------------------------- +// +TInt CGlxUiUtility::PeriodicCallback(TAny* aPtr ) + { + TRACER("CGlxUiUtility::PeriodicCallback"); + static_cast< CGlxUiUtility* >( aPtr )->CreateAlfEnvCallbackL(); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// Callback from periodic timer-- non static +// ----------------------------------------------------------------------------- +// +void CGlxUiUtility::CreateAlfEnvCallbackL() + { + TRACER("CGlxUiUtility::CreateAlfEnvCallbackL"); + CreateAlfEnvL(); + } + +// ----------------------------------------------------------------------------- +// Create ALF env +// ----------------------------------------------------------------------------- +// +void CGlxUiUtility::CreateAlfEnvL() + { + TRACER("CGlxUiUtility::CreateAlfEnvL"); + if (iPeriodic->IsActive()) + { + iPeriodic->Cancel(); + } - iOrientation = EGlxOrientationDefault; // Always start in default orientation iEnv = CAlfEnv::Static(); if (!iEnv) { @@ -143,9 +202,9 @@ // calling CGlxHuiUtility::Utility() in CGlxTextureManager creates a recursive call // to CGlxTextureManager::NewL which again calls CGlxHuiUtility::Utility() and so on. AddSkinChangeObserverL( *iGlxTextureManager ); - GridIconSizeL(); - TRect rect; - AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, rect ); + + TRect rect; + AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, rect ); iAlfDisplay = &iEnv->NewDisplayL(rect, CAlfEnv::ENewDisplayAsCoeControl | CAlfEnv::ENewDisplayFullScreen ); @@ -160,9 +219,7 @@ // Is the TV Out display on // Note that this also sets the initial size for the resolution manager HandleTvStatusChangedL( ETvConnectionChanged ); - - iScreenFurniture = CGlxScreenFurniture::NewL(*this); - } + } // ----------------------------------------------------------------------------- // Destructor @@ -172,10 +229,28 @@ { TRACER("CGlxUiUtility::~CGlxUiUtility()"); GLX_LOG_INFO("~CGlxUiUtility"); - delete iScreenFurniture; - // Destroy TV Out related objects - delete iGlxTvOut; - delete iGlxResolutionManager; + + if(iClearer) + { + delete iClearer; + } + + if(iScreenFurniture) + { + delete iScreenFurniture; + } + + if(iGlxTvOut) + { + // Destroy TV Out related objects + delete iGlxTvOut; + } + + if(iGlxResolutionManager) + { + delete iGlxResolutionManager; + } + DestroyTvOutDisplay(); if( iGlxTextureManager ) @@ -188,8 +263,10 @@ { delete iAlfDisplay; } - - iEnv->RemoveActionObserver(this); + if(iEnv) + { + iEnv->RemoveActionObserver(this); + } if ( iGlxSkinChangeMonitor ) { @@ -201,25 +278,34 @@ { delete iEnv; } - iTextStyles.Close(); if ( iSettingsModel ) { iSettingsModel->Close(); } - + + if (iPeriodic) + { + iPeriodic->Cancel(); + delete iPeriodic; + } } // ----------------------------------------------------------------------------- // Env // ----------------------------------------------------------------------------- // -EXPORT_C CAlfEnv* CGlxUiUtility::Env() const +EXPORT_C CAlfEnv* CGlxUiUtility::Env() { - TRACER("CGlxUiUtility::Env()"); + TRACER("CGlxUiUtility::EnvL()"); + if(!iEnv) + { + TRAP_IGNORE(CreateAlfEnvL()); + } return iEnv; } + // ----------------------------------------------------------------------------- // Display // ----------------------------------------------------------------------------- @@ -303,7 +389,7 @@ EXPORT_C TSize CGlxUiUtility::DisplaySize() const { TRACER("CGlxUiUtility::DisplaySize()"); - const TRect& rect = Env()->PrimaryDisplay().VisibleArea(); + const TRect& rect = CEikonEnv::Static()->EikAppUi()->ApplicationRect(); return rect.Size(); } @@ -750,4 +836,32 @@ } return leftVariable; } + +// ----------------------------------------------------------------------------- +// DisplayScreenClearer +// ----------------------------------------------------------------------------- +// +EXPORT_C void CGlxUiUtility::DisplayScreenClearerL() + { + TRACER("CGlxUiUtility::DisplayScreenClearerL"); + if(!iClearer && CAknTransitionUtils::TransitionsEnabled( + AknTransEffect::EFullScreenTransitionsOff)) + { + iClearer = CAknLocalScreenClearer::NewL( ETrue ); + } + } + +// ----------------------------------------------------------------------------- +// DisplayScreenClearer +// ----------------------------------------------------------------------------- +// +EXPORT_C void CGlxUiUtility::DestroyScreenClearer() + { + TRACER("CGlxUiUtility::DestroyScreenClearer"); + if(iClearer) + { + delete iClearer; + iClearer = NULL; + } + } // End of file diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/cloudview/src/glxcloudviewimp.cpp --- a/photosgallery/viewframework/views/cloudview/src/glxcloudviewimp.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/cloudview/src/glxcloudviewimp.cpp Tue May 11 16:13:40 2010 +0300 @@ -31,6 +31,8 @@ #include #include #include // for CGlxResourceUtilities +#include +#include #include #include @@ -171,18 +173,29 @@ case EAknCmdOpen: case EKeyEnter: { - // Processing of this Command depends on Medialist Count ( > 0 tags Available) - if(iMediaList->Count()) - { - // There can be no selection in cloud view, so assume that path contains focused item - iUiUtility->SetViewNavigationDirection(EGlxNavigationForwards); - CMPXCollectionPath* path = iMediaList->PathLC( NGlxListDefs::EPathFocusOrSelection ); - iCollectionUtility->Collection().OpenL (*path); - CleanupStack::PopAndDestroy (path); - consumed= ETrue; - } - break; - } + // Processing of this Command depends on Medialist Count ( > 0 tags Available) + if (iMediaList->Count()) + { + // There can be no selection in cloud view, so assume that path contains focused item + iUiUtility->SetViewNavigationDirection(EGlxNavigationForwards); + CMPXCollectionPath* path = iMediaList->PathLC( + NGlxListDefs::EPathFocusOrSelection); + // When a collection is opened for browsing, + // there are two queries executed with similar filter. + // First query to open the collection from list / cloud view. + // Second one from grid view construction. To improve the grid opening + // performance, the first query will be completed with empty Id list. + RArray attributeArray; + CleanupClosePushL(attributeArray); + attributeArray.AppendL(KGlxFilterGeneralNavigationalStateOnly); + iCollectionUtility->Collection().OpenL(*path, + attributeArray.Array()); + CleanupStack::PopAndDestroy(&attributeArray); + CleanupStack::PopAndDestroy(path); + consumed = ETrue; + } + break; + } } return consumed; diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/fullscreenview/group/glxfullscreenview.mmp --- a/photosgallery/viewframework/views/fullscreenview/group/glxfullscreenview.mmp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/fullscreenview/group/glxfullscreenview.mmp Tue May 11 16:13:40 2010 +0300 @@ -103,5 +103,6 @@ LIBRARY fbscli.lib LIBRARY ws32.lib // for RWsSession LIBRARY aknicon.lib +LIBRARY alfdecoderserverclient.lib // EOF diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenview.hrh --- a/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenview.hrh Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenview.hrh Tue May 11 16:13:40 2010 +0300 @@ -26,4 +26,12 @@ EZoomStartDoubleTap =6 }; +/* + Defines the state of the Ui in fullscreen and Zoom + */ +enum TUiState + { + EUiOn,EUiOff + }; + #endif /* GLXFULLSCREENVIEW_HRH_ */ diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h --- a/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h Tue May 11 16:13:40 2010 +0300 @@ -22,7 +22,7 @@ #include #include #include - +#include #include "glxfullscreenview.h" #include "glxfullscreenbindingsetfactory.h" #include "glxfullscreenview.hrh" @@ -48,7 +48,6 @@ class CGestureHelper; class TGlxMedia; class CGlxFullScreenBusyIcon; -//class CHgContextUtility; namespace Alf { @@ -58,16 +57,6 @@ class IMulSliderModel; } /* - Defines the state of the Ui in fullscreen - */ -namespace NGlxNFullScreenUIState - { - enum TUiState - { - EUiOn,EUiOff - }; - } -/* Defines the swipe direction */ enum TSwipe @@ -78,7 +67,8 @@ NONSHARABLE_CLASS (CGlxFullScreenViewImp): public CGlxFullScreenView, public IAlfWidgetEventHandler, public MGlxUiCommandHandler, - public MStorageNotifierObserver + public MStorageNotifierObserver, + public CAlfEffectObserver::MAlfEffectObserver { public: /** @@ -144,8 +134,9 @@ AlfEventHandlerType eventHandlerType() ; AlfEventHandlerExecutionPhase eventExecutionPhase() ; - - + + //From MAlfEffectObserver + void HandleEffectCallback(TInt aType, TInt aHandle, TInt aStatus); private: /* * Constructor @@ -203,21 +194,21 @@ /* * Hide the UI off - * @param asliderstatus:When we start zooming using the slider widget,for continous zooming from the + * @param aHideSlider:When we start zooming using the slider widget,for continous zooming from the * fullscreen view to zoom control, we need to have the slider visible so in this case we shouldnt * be hiding the slider so pass EFalse,else case asliderstatus = ETrue */ - void HideUi(TBool aSliderStatus); + void HideUi(TBool aHideSlider); /* * Sets the UI state */ - void SetUiSate (NGlxNFullScreenUIState::TUiState aState); + void SetUiState (TUiState aState); /* * returns the Ui state */ - NGlxNFullScreenUIState::TUiState GetUiSate(); + TUiState GetUiState(); /* * Call back function for the CPeriodic @@ -282,7 +273,7 @@ /** * Disable/enable the fullscreen toolbar */ - void EnableFSToolbarL(TBool aEnable); + void EnableFSToolbar(TBool aEnable); private: /** Softkey resource id's */ @@ -313,7 +304,7 @@ CGlxZoomControl* iZoomControl; // Holds the state of the Ui in Fullscreen - NGlxNFullScreenUIState::TUiState iUiState; + TUiState iUiState; // used to turn the Ui off,if the screen is inactive for 10 sec CPeriodic* iTimer; @@ -341,6 +332,8 @@ TSize iGridIconSize; // grid icon size TBool iIsDialogLaunched; TBool iIsMMCRemoved; + CAlfEffectObserver* iAlfEffectObs; + TInt iEffectHandle; }; #endif diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp --- a/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp Tue May 11 16:13:40 2010 +0300 @@ -104,6 +104,7 @@ const TInt KGlxDecodingThreshold = 3000000; // pixels _LIT( KTfxResourceActivateFullScreen, "z:\\resource\\effects\\photos_fullscreen_open.fxml" ); +_LIT( KTfxResourceNoEffect, ""); // ======== MEMBER FUNCTIONS ======== @@ -169,7 +170,7 @@ SetToolbarObserver(this); iImgViewerMode = EFalse; //Disable the toolbar always while entering fullscreen - EnableFSToolbarL(EFalse); + EnableFSToolbar(EFalse); ShowToolbarOnViewActivation(EFalse); //Get the ScreenFurniture instance @@ -177,6 +178,7 @@ //Get the env from the uiutilities iEnv = iUiUtility->Env (); + iZoomButtonGroup = CEikButtonGroupContainer::NewL( CEikButtonGroupContainer::ECba, // type CEikButtonGroupContainer::EHorizontal, // orientation @@ -206,7 +208,10 @@ CGlxFullScreenViewImp::~CGlxFullScreenViewImp() { TRACER("CGlxFullScreenViewImp::~CGlxFullScreenViewImp"); - + if(iAlfEffectObs) + { + delete iAlfEffectObs; + } delete iMMCNotifier; iMMCNotifier = NULL; @@ -295,14 +300,10 @@ const TDesC8 & /* aCustomMessage */) { TRACER("CGlxFullScreenViewImp::DoMLViewActivateL"); - //Disable the softkeys - Cba()->MakeVisible( EFalse ); - Cba()->DrawNow(); + + // hide the toolbar + EnableFSToolbar(EFalse); - // hide the toolbar - EnableFSToolbarL(EFalse); - - CGlxNavigationalState* navigationalState = CGlxNavigationalState::InstanceL(); CleanupClosePushL( *navigationalState ); CMPXCollectionPath* naviState = navigationalState->StateLC(); @@ -343,7 +344,7 @@ iScreenFurniture->SetActiveView(iViewUid); //set the ui state to off,when the Fullscreen launches - SetUiSate(NGlxNFullScreenUIState::EUiOff); + SetUiState(EUiOff); GlxSetAppState::SetState(EGlxInFullScreenView); @@ -375,8 +376,14 @@ if (CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EFullScreenTransitionsOff)) { + if(!iAlfEffectObs) + { + iAlfEffectObs = CAlfEffectObserver::NewL(); + } const_cast (iCoverFlowWidget->ContainerLayout()).SetEffectL( KTfxResourceActivateFullScreen); + iEffectHandle = iCoverFlowWidget->ContainerLayout().Identifier(); + iAlfEffectObs->SubscribeCallbackL(this,iEffectHandle); } //Disable the status pane here as it causes flicker while animating @@ -513,17 +520,20 @@ if(!iImgViewerMode) { //show the toolbar - EnableFSToolbarL(ETrue); + EnableFSToolbar(ETrue); } // For floating toolbar in non-touch devices iScreenFurniture->SetToolbarVisibility(ETrue); + //show the softkeys - Cba()->MakeVisible( ETrue ); - Cba()->DrawNow(); + CEikButtonGroupContainer* cba = Cba(); + cba->SetCommandSetL( R_GLX_FULLSCREEN_SOFTKEYS ); + cba->MakeVisible( ETrue ); + cba->DrawNow(); //set the ui state to On - SetUiSate(NGlxNFullScreenUIState::EUiOn); + SetUiState(EUiOn); //start the timer,for the screen timeout iTimer->Cancel(); @@ -537,7 +547,7 @@ // HideUi // --------------------------------------------------------------------------- // -void CGlxFullScreenViewImp::HideUi(TBool aSliderStatus) +void CGlxFullScreenViewImp::HideUi(TBool aHideSlider) { TRACER("CGlxFullScreenViewImp::HideUi"); //cancel the timer @@ -545,11 +555,12 @@ // For floating toolbar in non-touch devices iScreenFurniture->SetToolbarVisibility(EFalse); - // hide the slider - if(aSliderStatus && iSliderWidget) + + // hide/show the slider + if(iSliderWidget) { - iSliderWidget->ShowWidget(EFalse); - } + iSliderWidget->ShowWidget(!aHideSlider); + } if (iCoverFlowWidget) { @@ -572,26 +583,26 @@ Cba()->DrawNow(); // set the ui state to On - SetUiSate(NGlxNFullScreenUIState::EUiOff); + SetUiState(EUiOff); } // --------------------------------------------------------------------------- -// SetUiSate +// SetUiState // --------------------------------------------------------------------------- // -void CGlxFullScreenViewImp::SetUiSate (NGlxNFullScreenUIState::TUiState aState) +void CGlxFullScreenViewImp::SetUiState (TUiState aState) { - TRACER("CGlxFullScreenViewImp::SetUiSate"); + TRACER("CGlxFullScreenViewImp::SetUiState"); iUiState = aState; } // --------------------------------------------------------------------------- -// GetUiSate +// GetUiState // --------------------------------------------------------------------------- // -NGlxNFullScreenUIState::TUiState CGlxFullScreenViewImp::GetUiSate() +TUiState CGlxFullScreenViewImp::GetUiState() { - TRACER("CGlxFullScreenViewImp::GetUiSate"); + TRACER("CGlxFullScreenViewImp::GetUiState"); return iUiState; } @@ -607,7 +618,7 @@ CGlxFullScreenViewImp* self = static_cast (aSelf); if (self) { - if ( NGlxNFullScreenUIState::EUiOn == self->GetUiSate()) + if ( EUiOn == self->GetUiState()) { // After time out, hide UI only when menu is not being displayed. if( self->MenuBar() && !(self->MenuBar()->IsDisplayed()) ) @@ -635,9 +646,14 @@ if(iSliderWidget) { iSliderWidget->RemoveEventHandler(*this); - } - //Dont Hide the slider,when activating the Zoom control,so pass EFalse - HideUi(EFalse); + + //show/hide the slider based on the return value of + //IsHidden() + if(iZoomControl->Activated()) + { + HideUi(iSliderWidget->IsHidden()); + } + } iViewWidget->show(ETrue); } @@ -656,7 +672,6 @@ } if(iSliderWidget) { - iSliderWidget->ShowWidget( EFalse ); iSliderWidget->AddEventHandler(*this); } iViewWidget->show(ETrue); @@ -748,8 +763,24 @@ { iZoomControl->Deactivate(); } - //Once into fullscreen view,show the screen furniture - HideUi(ETrue); + + //check if the slider is already visible in zoom view. + //if yes then do not disable the slider. + TBool sliderInvisible = ETrue; + if (EUiOn == iZoomControl->ZoomUiState()) + { + sliderInvisible = EFalse; + } + + HideUi(sliderInvisible); + + if (!sliderInvisible) + { + //Set the UI State to On Explicitly since the slider is ON and we have + //to disable on timeout. The timer is already cancelled in HideUi(). + SetUiState(EUiOn); + iTimer->Start(KGlxScreenTimeout,KGlxScreenTimeout,TCallBack( TimeOut,this )); + } } // --------------------------------------------------------------------------- @@ -765,7 +796,14 @@ if(!iImgViewerMode) { // hide the toolbar - TRAP_IGNORE(EnableFSToolbarL(EFalse)); + EnableFSToolbar(EFalse); + + //Setting Soft key to EmptySoftKeys would cause crash + //When Fullscreen is opened from ImageViewer. + //So Set Soft Keys to empty only when not in Image Viewer mode. + CEikButtonGroupContainer* cba = Cba(); + TRAP_IGNORE( cba->SetCommandSetL( R_GLX_FULLSCREEN_EMPTYSOFTKEYS ) ); + cba->DrawNow(); } HideUi(ETrue); @@ -899,10 +937,7 @@ { if(EEventKeyDown == aEvent.Code()) { - //Dont start the timer while activating the zoom control, - //when the timer activates while launching the zoom - //it causes the crash. - ShowUiL(EFalse); + HideUi(EFalse); TRAP_IGNORE( ActivateZoomControlL(EZoomStartKey)); return EEventConsumed; } @@ -915,7 +950,7 @@ //EKeyApplicationD for which TStdScancode is EStdKeyApplicatoinD case EStdKeyApplicationD: { - if ( NGlxNFullScreenUIState::EUiOff == GetUiSate()&& ( + if ( EUiOff == GetUiState()&& ( aEvent.Code() == EEventKey ) ) { //the Ui timer should be started once the UI screen furniture is shown @@ -926,7 +961,7 @@ case EStdKeyLeftArrow: case EStdKeyRightArrow: { - if ( NGlxNFullScreenUIState::EUiOn == GetUiSate() ) + if ( EUiOn == GetUiState() ) { HideUi(ETrue); } @@ -973,7 +1008,7 @@ TBool pensupport = iUiUtility->IsPenSupported(); if ( pensupport ) { - if ( NGlxNFullScreenUIState::EUiOn == GetUiSate() ) + if ( EUiOn == GetUiState() ) { //Hide the slider HideUi(ETrue); @@ -986,7 +1021,7 @@ } else { - if ( NGlxNFullScreenUIState::EUiOff == GetUiSate() ) + if ( EUiOff == GetUiState() ) { //the Ui timer should be started once the UI screen furniture is shown ShowUiL(ETrue); @@ -1027,6 +1062,18 @@ case ETypeItemRemoved: { SetItemToHDMIL(); + TInt focusIndex = iMediaList->FocusIndex(); + if (focusIndex != KErrNotFound + && EUiOn == GetUiState() + && iMediaList->Item(focusIndex).Category() + == EMPXVideo) + { + // hide the slider + if (iSliderWidget) + { + iSliderWidget->ShowWidget(EFalse); + } + } return EEventConsumed; } case ETypeHighlight: @@ -1041,7 +1088,7 @@ RemoveTexture(); } SetItemToHDMIL(); - if ( NGlxNFullScreenUIState::EUiOn == GetUiSate() ) + if ( EUiOn == GetUiState() ) { HideUi(ETrue); } @@ -1057,7 +1104,7 @@ } else { - if ( NGlxNFullScreenUIState::EUiOn == GetUiSate() ) + if ( EUiOn == GetUiState() ) { HideUi(ETrue); } @@ -1637,7 +1684,7 @@ } // --------------------------------------------------------------------------- -// HandleMMCInsertionL +// HandleMMCRemovalL // // --------------------------------------------------------------------------- void CGlxFullScreenViewImp::HandleMMCRemovalL() @@ -1656,18 +1703,33 @@ } // --------------------------------------------------------------------------- -// EnableFSToolbarL -// +// EnableFSToolbar // --------------------------------------------------------------------------- // -void CGlxFullScreenViewImp::EnableFSToolbarL(TBool aEnable) +void CGlxFullScreenViewImp::EnableFSToolbar(TBool aEnable) { - TRACER("CGlxFullScreenViewImp::EnableFSToolbarL()"); + TRACER("CGlxFullScreenViewImp::EnableFSToolbar()"); CAknToolbar* toolbar = Toolbar(); if(toolbar) { - toolbar->DisableToolbarL(!aEnable); + TRAP_IGNORE(toolbar->DisableToolbarL(!aEnable)); toolbar->SetToolbarVisibility(aEnable); } } +// --------------------------------------------------------------------------- +// HandleEffectCallback +// +// --------------------------------------------------------------------------- +// +void CGlxFullScreenViewImp::HandleEffectCallback(TInt aType, TInt aHandle, + TInt /*aStatus*/) + { + TRACER("CGlxFullScreenViewImp::HandleEffectCallback()"); + if (aHandle == iEffectHandle && aType == EAlfEffectComplete) + { + TRAP_IGNORE(const_cast + (iCoverFlowWidget->ContainerLayout()).SetEffectL( + KTfxResourceNoEffect)); + } + } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/gridview/src/glxgridviewimp.cpp --- a/photosgallery/viewframework/views/gridview/src/glxgridviewimp.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/gridview/src/glxgridviewimp.cpp Tue May 11 16:13:40 2010 +0300 @@ -32,7 +32,7 @@ #include // CGlxMedialist #include #include // For Tracer - +#include // User Includes #include "glxgridviewimp.h" @@ -46,6 +46,10 @@ const TInt KGlxToolbarButtonUnLatched = 0; // Toolbar mark button's unlatched state defined in the rss file +//Video playback view uid +#define KMPXVIDEOPLAYBACKVIEWUID 0x200159B4 +const TUid KVideoPlayBackUid = TUid::Uid(KMPXVIDEOPLAYBACKVIEWUID); + // ======== MEMBER FUNCTIONS ======== // --------------------------------------------------------------------------- @@ -111,13 +115,6 @@ ViewBaseConstructL(); MLViewBaseConstructL(aMediaListFactory, aTitle); - //create the tool bar dynamically - //to reduce the startup time of the application. - iToolbar = CAknToolbar::NewL(R_GLX_GRID_VIEW_TOOLBAR); - SetGridToolBar(iToolbar); - SetToolbarObserver(this); - iToolbar->SetToolbarVisibility(ETrue); - // Get object that stores the active media list registry iActiveMediaListRegistry = CGlxActiveMediaListRegistry::InstanceL(); } @@ -128,20 +125,29 @@ // --------------------------------------------------------------------------- // void CGlxGridViewImp::DoMLViewActivateL( - const TVwsViewId& /* aPrevViewId */, + const TVwsViewId& aPrevViewId, TUid /* aCustomMessageId */, - const TDesC8& /*aCustomMessage*/) + const TDesC8& aCustomMessage) { TRACER("CGlxGridViewImp::DoMLViewActivateL()"); TUint transitionID = (iUiUtility->ViewNavigationDirection()== EGlxNavigationForwards)?KActivateTransitionId:KFSDeActivateTransitionId; - GfxTransEffect::BeginFullScreen( transitionID, TRect(), - AknTransEffect::EParameterType, - AknTransEffect::GfxTransParam( KPhotosUid, - AknTransEffect::TParameter::EEnableEffects) ); - GfxTransEffect::EndFullScreen(); + HBufC8* activationParam = HBufC8::NewLC(KMaxUidName); + activationParam->Des().AppendNum(KGlxActivationCmdShowAll); + + //Do not animate the view if launched from camera application. + if (aCustomMessage.Compare(activationParam->Des()) != 0) + { + GfxTransEffect::BeginFullScreen( transitionID, TRect(), + AknTransEffect::EParameterType, + AknTransEffect::GfxTransParam( KPhotosUid, + AknTransEffect::TParameter::EEnableEffects) ); + GfxTransEffect::EndFullScreen(); + } + + CleanupStack::PopAndDestroy(activationParam); if(StatusPane()) { @@ -173,11 +179,20 @@ iToolbar = CAknToolbar::NewL(R_GLX_GRID_VIEW_TOOLBAR); SetGridToolBar(iToolbar); SetToolbarObserver(this); - iToolbar->SetToolbarVisibility(ETrue); + TBool visibility = iUiUtility->ViewNavigationDirection() + == EGlxNavigationBackwards ? ETrue : EFalse; + if (aPrevViewId.iViewUid == KVideoPlayBackUid) + { + GLX_DEBUG1( "CGlxGridViewImp::DoMLViewActivateL() " + "- Coming from video playback!"); + visibility = ETrue; + } + iToolbar->SetToolbarVisibility(visibility); } //Create HG Grid, medialist observer, FS thumbnailcontext iGlxGridViewContainer = CGlxGridViewContainer::NewL(iMediaList,iUiUtility,*this,iToolbar); iEikonEnv->AppUi()->AddToStackL(*this,iGlxGridViewContainer); + iUiUtility->DestroyScreenClearer(); } // --------------------------------------------------------------------------- diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp --- a/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp Tue May 11 16:13:40 2010 +0300 @@ -494,6 +494,7 @@ const RArray& aAttributes) { TRACER("CGlxGridViewMLObserver::RefreshScreen()"); + GLX_DEBUG2("CGlxGridViewMLObserver::RefreshScreen(%d)", aItemIndex); TInt mediaCount = iMediaList.Count(); TInt firstIndex = iHgGrid->FirstIndexOnScreen(); firstIndex = (firstIndex<0 ? 0 : firstIndex); @@ -501,7 +502,8 @@ lastOnScreen = (lastOnScreen >mediaCount-1? mediaCount-1:lastOnScreen); if (mediaCount < iItemsPerPage || aItemIndex == firstIndex) { - if (aItemIndex == firstIndex && HasRelevantThumbnail(firstIndex)) + if (aItemIndex == firstIndex && HasRelevantThumbnail(firstIndex) + && HasRelevantThumbnail(lastOnScreen)) { GLX_DEBUG2("## GridMLObserver::HandleAttributesAvailableL()" " RefreshScreen - firstIndex(%d)", firstIndex); @@ -509,7 +511,8 @@ } else if (aItemIndex > firstIndex && aItemIndex <= lastOnScreen) { - if ( HasRelevantThumbnail(lastOnScreen) ) + if (HasRelevantThumbnail(lastOnScreen) && HasRelevantThumbnail( + firstIndex)) { GLX_DEBUG2("GridMLObserver::HandleAttributesAvailableL()" " RefreshScreen - aItemIndex(%d)", aItemIndex); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp --- a/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp Tue May 11 16:13:40 2010 +0300 @@ -44,10 +44,12 @@ #include // For CGlxErrormanager #include #include +#include #include #include #include #include +#include #include // For transition effects #include // For transition effects @@ -343,7 +345,7 @@ } delete iBgContext; iBgContext = NULL; - if(iUiUtility->ViewNavigationDirection() == EGlxNavigationBackwards ) + if(iBackwardNavigation) { iLastFocusedIndex = 0; } @@ -452,7 +454,6 @@ iList->ItemL(i).SetTitleL(item.Title()); iList->ItemL(i).SetTextL(item.SubTitle()); UpdatePreviewL(i); - iList->RefreshScreen(i); } iList->RefreshScreen(visIndex); @@ -525,12 +526,43 @@ iMediaList->SetFocusL(NGlxListDefs::EAbsolute,aIndex); iLastFocusedIndex = iMediaList->FocusIndex(); iNextViewActivationEnabled = EFalse; - iUiUtility->SetViewNavigationDirection(EGlxNavigationForwards); - //Navigate to the next view + + //Navigate to the next view + iUiUtility->SetViewNavigationDirection(EGlxNavigationForwards); + GLX_LOG_INFO("CGlxListViewImp::HandleOpenL()- EGlxNavigationForwards!"); + CMPXCollectionPath* path = iMediaList->PathLC( NGlxListDefs::EPathFocusOrSelection); - iCollectionUtility->Collection().OpenL(*path); - CleanupStack::PopAndDestroy(path); + + // When a collection is opened for browsing, + // there are two queries executed with similar filter. + // First query to open the collection from list / cloud view. + // Second one from grid view construction. To improve the grid opening + // performance, the first query will be completed with empty Id list. + CMPXCollectionPath* pathParent = iMediaList->PathLC( + NGlxListDefs::EPathParent); + + if ((iMediaList->IdSpaceId(0) == KGlxIdSpaceIdRoot && path->Id(0) + == KGlxCollectionPluginAllImplementationUid) + || (pathParent->Id() + == KGlxCollectionPluginMonthsImplementationUid) + || (pathParent->Id() + == KGlxCollectionPluginAlbumsImplementationUid)) + { + RArray attributeArray; + CleanupClosePushL(attributeArray); + attributeArray.AppendL(KGlxFilterGeneralNavigationalStateOnly); + iCollectionUtility->Collection().OpenL(*path, + attributeArray.Array()); + CleanupStack::PopAndDestroy(&attributeArray); + } + else + { + iCollectionUtility->Collection().OpenL(*path); + } + + CleanupStack::PopAndDestroy(pathParent); + CleanupStack::PopAndDestroy(path); } } @@ -586,7 +618,7 @@ TInt lastOnScreen = firstIndex + itemsOnScreen - 1; if (lastOnScreen > (mediaCount - 1)) { - lastOnScreen = mediaCount; + lastOnScreen = mediaCount - 1; } GLX_DEBUG2("CGlxListViewImp::PreviewTNReadyL()" @@ -717,7 +749,7 @@ // Enable Buffer support iList->EnableScrollBufferL(*this, KNoOfPages * items, items); - if (iUiUtility->ViewNavigationDirection() == EGlxNavigationBackwards) + if (iBackwardNavigation) { GLX_DEBUG1("CGlxListViewImp::CreateListL() - SetEmptyTextL()"); //set the text to be shown if the list is empty. @@ -853,8 +885,7 @@ // If there is some modified in grid/fullscreen view, // HandleAttributesAvailableL will get called. Here we are setting // iIsRefreshNeeded flag to ETrue - if (!iIsRefreshNeeded && iUiUtility->ViewNavigationDirection() - == EGlxNavigationBackwards) + if (!iIsRefreshNeeded && iBackwardNavigation) { iIsRefreshNeeded = ETrue; if(iMediaList->IdSpaceId(0) != KGlxIdSpaceIdRoot) @@ -1153,6 +1184,9 @@ void CGlxListViewImp::HandleMMCRemovalL() { TRACER("CGlxListViewImp::HandleMMCRemovalL()"); + //Dismiss the dialog before env destruction starts. + //Otherwise dialog's ProcessFinishedL() Panics. + iProgressIndicator->DismissProgressDialog(); ProcessCommandL(EAknSoftkeyExit); } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/metadatadialog/bwins/glxmetadatadialogu.def --- a/photosgallery/viewframework/views/metadatadialog/bwins/glxmetadatadialogu.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/bwins/glxmetadatadialogu.def Tue May 11 16:13:40 2010 +0300 @@ -3,8 +3,5 @@ ?ActivateViewL@GlxMetadataViewUtility@@SAXABVTDesC16@@@Z @ 2 NONAME ; void GlxMetadataViewUtility::ActivateViewL(class TDesC16 const &) ?ExecuteLD@CGlxMetadataDialog@@QAEHXZ @ 3 NONAME ; int CGlxMetadataDialog::ExecuteLD(void) ?ExecuteLD@CGlxImgVwrMetadataDialog@@QAEHXZ @ 4 NONAME ; int CGlxImgVwrMetadataDialog::ExecuteLD(void) - ?GetResourceFilenameL@CGlxResourceUtilities@@SAXAAV?$TBuf@$0BAA@@@AAVRFs@@@Z @ 5 NONAME ; void CGlxResourceUtilities::GetResourceFilenameL(class TBuf<256> &, class RFs &) - ?GetResourceFilenameL@CGlxResourceUtilities@@SAXAAV?$TBuf@$0BAA@@@@Z @ 6 NONAME ; void CGlxResourceUtilities::GetResourceFilenameL(class TBuf<256> &) - ?NewL@CGlxImgVwrMetadataDialog@@SAPAV1@ABVTDesC16@@@Z @ 7 NONAME ; class CGlxImgVwrMetadataDialog * CGlxImgVwrMetadataDialog::NewL(class TDesC16 const &) - ?GetUiUtilitiesResourceFilenameL@CGlxResourceUtilities@@SA?AV?$TBuf@$0BAA@@@XZ @ 8 NONAME ; class TBuf<256> CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL(void) + ?NewL@CGlxImgVwrMetadataDialog@@SAPAV1@ABVTDesC16@@@Z @ 5 NONAME ; class CGlxImgVwrMetadataDialog * CGlxImgVwrMetadataDialog::NewL(class TDesC16 const &) diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/metadatadialog/eabi/glxmetadatadialogu.def --- a/photosgallery/viewframework/views/metadatadialog/eabi/glxmetadatadialogu.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/eabi/glxmetadatadialogu.def Tue May 11 16:13:40 2010 +0300 @@ -1,16 +1,13 @@ EXPORTS _ZN18CGlxMetadataDialog4NewLERK7TDesC16 @ 1 NONAME _ZN18CGlxMetadataDialog9ExecuteLDEv @ 2 NONAME - _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EE @ 3 NONAME - _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EER3RFs @ 4 NONAME - _ZN21CGlxResourceUtilities31GetUiUtilitiesResourceFilenameLEv @ 5 NONAME - _ZN22GlxMetadataViewUtility13ActivateViewLERK7TDesC16 @ 6 NONAME - _ZN24CGlxImgVwrMetadataDialog4NewLERK7TDesC16 @ 7 NONAME - _ZN24CGlxImgVwrMetadataDialog9ExecuteLDEv @ 8 NONAME - _ZTI18CGlxMetadataDialog @ 9 NONAME - _ZTI24CGlxImgVwrMetadataDialog @ 10 NONAME - _ZTI26CGlxMetadataCommandHandler @ 11 NONAME - _ZTV18CGlxMetadataDialog @ 12 NONAME - _ZTV24CGlxImgVwrMetadataDialog @ 13 NONAME - _ZTV26CGlxMetadataCommandHandler @ 14 NONAME + _ZN22GlxMetadataViewUtility13ActivateViewLERK7TDesC16 @ 3 NONAME + _ZN24CGlxImgVwrMetadataDialog4NewLERK7TDesC16 @ 4 NONAME + _ZN24CGlxImgVwrMetadataDialog9ExecuteLDEv @ 5 NONAME + _ZTI18CGlxMetadataDialog @ 6 NONAME + _ZTI24CGlxImgVwrMetadataDialog @ 7 NONAME + _ZTI26CGlxMetadataCommandHandler @ 8 NONAME + _ZTV18CGlxMetadataDialog @ 9 NONAME + _ZTV24CGlxImgVwrMetadataDialog @ 10 NONAME + _ZTV26CGlxMetadataCommandHandler @ 11 NONAME diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/metadatadialog/group/glxmetadatadialog.mmp --- a/photosgallery/viewframework/views/metadatadialog/group/glxmetadatadialog.mmp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/group/glxmetadatadialog.mmp Tue May 11 16:13:40 2010 +0300 @@ -37,7 +37,6 @@ SOURCE glxmetadatadialog.cpp SOURCE glxmetadatacontainer.cpp SOURCE glxmetadataviewutility.cpp -SOURCE glxresourceutilities.cpp SOURCE glxmetadatacommandhandler.cpp SOURCE glximgvwrmetadatadialog.cpp SOURCE glximgvwrmetadatacontainer.cpp diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/metadatadialog/inc/glxresourceutilities.h --- a/photosgallery/viewframework/views/metadatadialog/inc/glxresourceutilities.h Tue Apr 27 16:37:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -/* -* 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: Metadata dialog implementation -* -*/ - - - - - -#ifndef __C_GLXRESOURCELOADER_H__ -#define __C_GLXRESOURCELOADER_H__ - -#include -#include // for TFileName -#include -#include // Rfs - -/** - * Class with a single static method which - * finds the resource file on either the c or z drive - * class CGlxResourceUtil - * @author Loughlin Spollen - */ -NONSHARABLE_CLASS( CGlxResourceUtilities ) : CBase - { -public: - - /** - * Retrieve the full resource file name and path for a give resource - * file name. - * Note! this version connects a RFs session - * @param The resource filename to search - */ - IMPORT_C static void GetResourceFilenameL( TFileName& aResFile ); - - /** - * Retrieve the full resource file name and path for a give resource - * file name. - * @param The resource filename to search - * @param The file server session, must be connected before the call - */ - IMPORT_C static void GetResourceFilenameL( TFileName& aResFile, RFs& aFs ); - - /** - * Gets the full name of the UiUtilities resource file. - * @return TFileName - The resource filename for UiUtilities - */ - IMPORT_C static TFileName GetUiUtilitiesResourceFilenameL(); - - }; - - -#endif // __C_GLXRESOURCELOADER_H__ - diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp --- a/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp Tue May 11 16:13:40 2010 +0300 @@ -319,7 +319,7 @@ else if(index == EImgVwrDateAndTimeItem) { stringConverter->AsStringL( item, - KMPXMediaGeneralDate, + KGlxMediaGeneralLastModifiedDate, R_QTN_DATE_USUAL_WITH_ZERO,string ); } else if(index == EImgVwrDescriptionItem) @@ -526,7 +526,7 @@ iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralSize); iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralDimensions); iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralTitle); - iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralDate); + iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralLastModifiedDate); iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralComment); //Add Context so that we get the handleattributes call once the medialist is populated with above mentioned attributes. @@ -560,7 +560,7 @@ HBufC* string = NULL; //if attribute is date and time we need to pass the format it as R_QTN_DATE_USUAL_WITH_ZERO else null - if(attribute == KMPXMediaGeneralDate) + if(attribute == KGlxMediaGeneralLastModifiedDate) { stringConverter->AsStringL(item, attribute, @@ -584,7 +584,7 @@ { EditItemL(EImgVwrNameItem,EFalse); } - else if(attribute == KMPXMediaGeneralDate) + else if(attribute == KGlxMediaGeneralLastModifiedDate) { EditItemL(EImgVwrDateAndTimeItem,EFalse); } diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp --- a/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Tue May 11 16:13:40 2010 +0300 @@ -446,7 +446,7 @@ iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralSize); iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralDimensions); iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralTitle); - iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralDate); + iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralLastModifiedDate); iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralComment); iMainListAttributecontext->AddAttributeL(KGlxMediaGeneralLocation); iMainListAttributecontext->AddAttributeL(KMPXMediaGeneralDuration); @@ -719,7 +719,7 @@ HBufC* string = NULL; //if attribute is date and time we need to pass the format it as R_QTN_DATE_USUAL_WITH_ZERO else null - if(attribute == KMPXMediaGeneralDate) + if(attribute == KGlxMediaGeneralLastModifiedDate) { stringConverter->AsStringL(item, attribute, @@ -747,7 +747,7 @@ { EditItemL(ENameItem,EFalse); } - else if(attribute == KMPXMediaGeneralDate) + else if(attribute == KGlxMediaGeneralLastModifiedDate) { EditItemL(EDateAndTimeItem,EFalse); } @@ -1121,7 +1121,7 @@ else if(index == EDateAndTimeItem) { stringConverter->AsStringL( item, - KMPXMediaGeneralDate, + KGlxMediaGeneralLastModifiedDate, R_QTN_DATE_USUAL_WITH_ZERO,string ); } else if(index == EDescriptionItem) diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/metadatadialog/src/glxresourceutilities.cpp --- a/photosgallery/viewframework/views/metadatadialog/src/glxresourceutilities.cpp Tue Apr 27 16:37:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ -/* -* 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: Implementation of Metadata dialog -* -*/ - - - - -// CLASS HEADER -#include "glxresourceutilities.h" - -// EXTERNAL INCLUDES -#include -#include -#include -#include -#include -// INTERNAL INCLUDES -#include - -// --------------------------------------------------------------------------- -// GetResourceFilenameL -// --------------------------------------------------------------------------- -// -EXPORT_C void CGlxResourceUtilities::GetResourceFilenameL( TFileName& aResFile ) - { - TRACER("CGlxResourceUtilities::GetResourceFilenameL( TFileName& aResFile)"); - - RFs fs; - User::LeaveIfError( fs.Connect() ); - CleanupClosePushL( fs ); - CGlxResourceUtilities::GetResourceFilenameL( aResFile, fs ); - CleanupStack::PopAndDestroy( &fs ); - } - -// --------------------------------------------------------------------------- -// GetResourceFilenameL -// --------------------------------------------------------------------------- -// -EXPORT_C void CGlxResourceUtilities::GetResourceFilenameL( TFileName& aResFile, RFs& aFs ) - { - TRACER("CGlxResourceUtilities::GetResourceFilenameL( TFileName& aResFile, RFs& aFs )"); - - // don't use AknUtils CompleteWithAppPath - aResFile.Insert( 0, TDriveUnit( EDriveC).Name() ); - // try to locate the localised resource - BaflUtils::NearestLanguageFile( aFs, aResFile ); - // if the localised resource is found, the file name is changed to - // the localised name (z:\apps\resources\xxx.r001) - if( !BaflUtils::FileExists( aFs, aResFile ) ) - { - // not found on c drive, try z - aResFile.Replace( 0, KMaxDriveName, TDriveUnit( EDriveZ ).Name() ); - // try to locate the localised resource again - BaflUtils::NearestLanguageFile( aFs, aResFile ); - // if file was not found this time, there is no localised - // resource with the name - if (!BaflUtils::FileExists( aFs, aResFile ) ) - { - User::Leave( KErrNotFound ); - } - } - } - -// --------------------------------------------------------------------------- -// GetUiUtilitiesResourceFilenameL -// --------------------------------------------------------------------------- -// -EXPORT_C TFileName CGlxResourceUtilities::GetUiUtilitiesResourceFilenameL() - - { - TParse parse; - parse.Set(KGlxUiUtilitiesResource, &KDC_APP_RESOURCE_DIR, NULL); - TFileName resourceFile(parse.FullName()); - GetResourceFilenameL(resourceFile); - return resourceFile; - } - diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/viewbase/src/glxmedialistviewbase.cpp --- a/photosgallery/viewframework/views/viewbase/src/glxmedialistviewbase.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/viewbase/src/glxmedialistviewbase.cpp Tue May 11 16:13:40 2010 +0300 @@ -130,6 +130,11 @@ { TRACER ("CGlxMediaListViewBase::DoViewActivateL()"); iUiUtility->SetAppOrientationL( EGlxOrientationDefault ); + // current navigational state + CMPXCollectionPath* navigationalState = + iCollectionUtility->Collection().PathL(); + CleanupStack::PushL( navigationalState ); + if ( iMediaList ) { // may need to refresh the media list if it has got out of sync @@ -139,9 +144,6 @@ // could contain out of date items CMPXCollectionPath* path = iMediaList->PathLC(); // current navigational state - CMPXCollectionPath* navigationalState = - iCollectionUtility->Collection().PathL(); - CleanupStack::PushL( navigationalState ); // current node id in UI Hierarchy TMPXItemId navStateNodeId = navigationalState->Id( navigationalState->Levels() - 2 ); @@ -154,7 +156,6 @@ // for it to be recreated later on CloseMediaList(); } - CleanupStack::PopAndDestroy( navigationalState ); CleanupStack::PopAndDestroy( path ); } @@ -166,8 +167,6 @@ __ASSERT_ALWAYS(iMediaList, Panic(EGlxPanicNullMediaList)); - CMPXCollectionPath* navigationalState = iCollectionUtility->Collection().PathL(); - CleanupStack::PushL( navigationalState ); if (navigationalState->Id() == TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid)) { // As image viewer is direct fullscreen view, @@ -189,14 +188,11 @@ iTitleFetcher = CGlxTitleFetcher::NewL(*this, path); CleanupStack::PopAndDestroy(path); } - CleanupStack::PopAndDestroy( navigationalState ); //Allow the MskController to observe medialist everytime a view with a valid //medialist becomes active if( iCbaControl && Cba()&& iEnableMidddleSoftkey ) { - CMPXCollectionPath* navigationalState = iCollectionUtility->Collection().PathL(); - CleanupStack::PushL(navigationalState); iCbaControl->AddToObserverL(*iMediaList,Cba()); if(!(1 == navigationalState->Levels())) // Checking for the main list view { @@ -206,9 +202,10 @@ { iCbaControl->SetMainStatusL(); } - CleanupStack::PopAndDestroy(navigationalState); } + CleanupStack::PopAndDestroy( navigationalState ); + DoMLViewActivateL(aPrevViewId, aCustomMessageId, aCustomMessage); //Allow the toolbarController to observe medialist everytime a view with a valid //medialist becomes active diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/viewbase/src/glxtitlefetcher.cpp --- a/photosgallery/viewframework/views/viewbase/src/glxtitlefetcher.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/viewbase/src/glxtitlefetcher.cpp Tue May 11 16:13:40 2010 +0300 @@ -57,7 +57,10 @@ iPathId = iPath->Id(); // Go back another level from which to create a media list containing // this path - iPath->Back(); + if(iPath->Levels() > 0) + { + iPath->Back(); + } iBackMediaList = MGlxMediaList::InstanceL(*iPath); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp --- a/photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp Tue May 11 16:13:40 2010 +0300 @@ -30,6 +30,7 @@ #include #include #include // for checking the ShareOnline version +#include // CONSTANTS AND DEFINITIONS namespace @@ -292,30 +293,37 @@ { TRACER("CGlxToolbarController::SetStatusL"); - GLX_LOG_INFO1("CGlxToolbarController::SetStatusL(%d)", aList->Count()); - if (aList->Count() <= 0) - { - SetToolbarItemsDimmed(ETrue); - } - else if (KErrNotFound != aList->FocusIndex()) - { - CGlxNavigationalState* navigationalState = - CGlxNavigationalState::InstanceL(); - CleanupClosePushL(*navigationalState); - if (navigationalState->ViewingMode() == NGlxNavigationalState::EView) - { - SetToolbarItemsDimmed(EFalse); - } - else if (navigationalState->ViewingMode() - == NGlxNavigationalState::EBrowse) - { - TBool dimmed = aList->SelectionCount() ? EFalse : ETrue; - iToolbar->SetItemDimmed(EGlxCmdSend, dimmed, ETrue); - iToolbar->SetItemDimmed(EGlxCmdUpload, dimmed, ETrue); - } - CleanupStack::PopAndDestroy(navigationalState); - } - } + GLX_LOG_INFO1("CGlxToolbarController::SetStatusL(%d)", aList->Count()); + // When going back from fullscreen to grid, when the attributes are already + // available in the cache, there is no HandleAttributeAvailable callback. Hence, + // checking for medialist count and backward navigation + CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL(); + CleanupClosePushL(*uiUtility); + if (aList->Count() <= 0 && (uiUtility->ViewNavigationDirection() + == EGlxNavigationBackwards)) + { + SetToolbarItemsDimmed(ETrue); + } + else if (KErrNotFound != aList->FocusIndex()) + { + CGlxNavigationalState* navigationalState = + CGlxNavigationalState::InstanceL(); + CleanupClosePushL(*navigationalState); + if (navigationalState->ViewingMode() == NGlxNavigationalState::EView) + { + SetToolbarItemsDimmed(EFalse); + } + else if (navigationalState->ViewingMode() + == NGlxNavigationalState::EBrowse) + { + TBool dimmed = aList->SelectionCount() ? EFalse : ETrue; + iToolbar->SetItemDimmed(EGlxCmdSend, dimmed, ETrue); + iToolbar->SetItemDimmed(EGlxCmdUpload, dimmed, ETrue); + } + CleanupStack::PopAndDestroy(navigationalState); + } + CleanupStack::PopAndDestroy(uiUtility); + } //---------------------------------------------------------------------------- // EnableLatch @@ -350,6 +358,12 @@ { SetToolbarItemsDimmed(ETrue); } + if (!iToolbar->IsVisible()) + { + GLX_DEBUG1("CGlxToolbarController::HandlePopulatedL()" + " - SetToolbarVisibility(ETrue)"); + iToolbar->SetToolbarVisibility(ETrue); + } } // ---------------------------------------------------------------------------- diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/zoomview/bwins/glxzoomviewu.def --- a/photosgallery/viewframework/views/zoomview/bwins/glxzoomviewu.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/zoomview/bwins/glxzoomviewu.def Tue May 11 16:13:40 2010 +0300 @@ -1,7 +1,8 @@ EXPORTS ?HandleZoomForegroundEvent@CGlxZoomControl@@QAEXH@Z @ 1 NONAME ; void CGlxZoomControl::HandleZoomForegroundEvent(int) ?Activated@CGlxZoomControl@@QAEHXZ @ 2 NONAME ; int CGlxZoomControl::Activated(void) - ?NewL@CGlxZoomControl@@SAPAV1@AAVMGlxUiCommandHandler@@AAVMGlxMediaList@@AAVCEikButtonGroupContainer@@AAVIMulSliderWidget@Alf@@PAVCGestureHelper@GestureHelper@@@Z @ 3 NONAME ; class CGlxZoomControl * CGlxZoomControl::NewL(class MGlxUiCommandHandler &, class MGlxMediaList &, class CEikButtonGroupContainer &, class Alf::IMulSliderWidget &, class GestureHelper::CGestureHelper *) - ?Deactivate@CGlxZoomControl@@QAEXXZ @ 4 NONAME ; void CGlxZoomControl::Deactivate(void) - ?ActivateL@CGlxZoomControl@@QAEXHW4TZoomStartMode@@HAAVTGlxMedia@@PAVTPoint@@H@Z @ 5 NONAME ; void CGlxZoomControl::ActivateL(int, enum TZoomStartMode, int, class TGlxMedia &, class TPoint *, int) + ?ZoomUiState@CGlxZoomControl@@QAE?AW4TUiState@@XZ @ 3 NONAME ; enum TUiState CGlxZoomControl::ZoomUiState(void) + ?NewL@CGlxZoomControl@@SAPAV1@AAVMGlxUiCommandHandler@@AAVMGlxMediaList@@AAVCEikButtonGroupContainer@@AAVIMulSliderWidget@Alf@@PAVCGestureHelper@GestureHelper@@@Z @ 4 NONAME ; class CGlxZoomControl * CGlxZoomControl::NewL(class MGlxUiCommandHandler &, class MGlxMediaList &, class CEikButtonGroupContainer &, class Alf::IMulSliderWidget &, class GestureHelper::CGestureHelper *) + ?Deactivate@CGlxZoomControl@@QAEXXZ @ 5 NONAME ; void CGlxZoomControl::Deactivate(void) + ?ActivateL@CGlxZoomControl@@QAEXHW4TZoomStartMode@@HAAVTGlxMedia@@PAVTPoint@@H@Z @ 6 NONAME ; void CGlxZoomControl::ActivateL(int, enum TZoomStartMode, int, class TGlxMedia &, class TPoint *, int) diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/zoomview/eabi/glxzoomviewu.def --- a/photosgallery/viewframework/views/zoomview/eabi/glxzoomviewu.def Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/zoomview/eabi/glxzoomviewu.def Tue May 11 16:13:40 2010 +0300 @@ -1,11 +1,12 @@ EXPORTS _ZN15CGlxZoomControl10DeactivateEv @ 1 NONAME - _ZN15CGlxZoomControl25HandleZoomForegroundEventEi @ 2 NONAME - _ZN15CGlxZoomControl4NewLER20MGlxUiCommandHandlerR13MGlxMediaListR24CEikButtonGroupContainerRN3Alf16IMulSliderWidgetEPN13GestureHelper14CGestureHelperE @ 3 NONAME - _ZN15CGlxZoomControl9ActivateLEi14TZoomStartModeiR9TGlxMediaP6TPointi @ 4 NONAME - _ZN15CGlxZoomControl9ActivatedEv @ 5 NONAME - _ZTI15CGlxZoomControl @ 6 NONAME - _ZTI23CGlxZoomPanEventHandler @ 7 NONAME - _ZTV15CGlxZoomControl @ 8 NONAME - _ZTV23CGlxZoomPanEventHandler @ 9 NONAME + _ZN15CGlxZoomControl11ZoomUiStateEv @ 2 NONAME + _ZN15CGlxZoomControl25HandleZoomForegroundEventEi @ 3 NONAME + _ZN15CGlxZoomControl4NewLER20MGlxUiCommandHandlerR13MGlxMediaListR24CEikButtonGroupContainerRN3Alf16IMulSliderWidgetEPN13GestureHelper14CGestureHelperE @ 4 NONAME + _ZN15CGlxZoomControl9ActivateLEi14TZoomStartModeiR9TGlxMediaP6TPointi @ 5 NONAME + _ZN15CGlxZoomControl9ActivatedEv @ 6 NONAME + _ZTI15CGlxZoomControl @ 7 NONAME + _ZTI23CGlxZoomPanEventHandler @ 8 NONAME + _ZTV15CGlxZoomControl @ 9 NONAME + _ZTV23CGlxZoomPanEventHandler @ 10 NONAME diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/zoomview/inc/glxzoomcontrol.h --- a/photosgallery/viewframework/views/zoomview/inc/glxzoomcontrol.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/zoomview/inc/glxzoomcontrol.h Tue May 11 16:13:40 2010 +0300 @@ -129,6 +129,12 @@ TInt aTransitionTime , TSize *apViewPortDimension = NULL, TInt aPrimarySliderLevel = -1); + + /** + * Retrieve the UI State of the Zoom view + */ + IMPORT_C TUiState ZoomUiState(); + private:// From MGlxTvObserver virtual void HandleTvStatusChangedL ( TTvChangeType aChangeType ); diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h --- a/photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h Tue May 11 16:13:40 2010 +0300 @@ -208,11 +208,11 @@ TBool HandlePanKey(const TAlfEvent &aEvent); /** - * Handle zoom stripe key pressed. + * Handle zoom key pressed. * @param aZoomIn :ETrue for Zoom In key, EFalse for Zoom Out key * @param aEventCode :Type of key event. */ - void HandleZoomStripeAction(TZoomMode aZoomMode ,TEventCode aEventCode); + void HandleZoomKey(TZoomMode aZoomMode ,TEventCode aEventCode); /** * Handle the drag events for panning @@ -292,11 +292,7 @@ GestureHelper::TGestureCode iPreviousGestureCode ; - - TGlxZoomAndPanMathsEngine iMathsEngine; - - }; diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/zoomview/inc/glxzoomview.hrh --- a/photosgallery/viewframework/views/zoomview/inc/glxzoomview.hrh Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/zoomview/inc/glxzoomview.hrh Tue May 11 16:13:40 2010 +0300 @@ -38,10 +38,4 @@ EGlxPanIncrementInertic }; -enum TUiState - { - EUiOn, - EUiOff - }; - #endif /* GLXZOOMVIEW_HRH_ */ diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp --- a/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp Tue May 11 16:13:40 2010 +0300 @@ -298,6 +298,15 @@ iZoomSliderWidget.AddEventHandler(*this); iZoomSliderWidget.SetHandleKeyEvent(EFalse); iZoomSliderModel = (IMulSliderModel*) iZoomSliderWidget.model(); + + if(iZoomSliderWidget.IsHidden()) + { + iEventHandler->SetZoomUiState(EUiOff); + } + else + { + iEventHandler->SetZoomUiState(EUiOn); + } // 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; @@ -442,7 +451,6 @@ { iTimer->Cancel(); } - iZoomSliderWidget.ShowWidget( EFalse, 0 ); iZoomSliderWidget.RemoveEventHandler(*this); iZoomBackKey->MakeVisible( EFalse ); iTextureMgr->RemoveZoomList(); @@ -619,7 +627,7 @@ TRect rect; rect = AlfUtil::ScreenSize(); - if ( (rect.Width() != iScreenSize.iWidth) && ( rect.Height() != iScreenSize.iHeight) && (Activated()) ) + if ( (rect.Width() != iScreenSize.iWidth) && ( rect.Height() != iScreenSize.iHeight)) { //notify slider about Orientation Change iZoomSliderWidget.ContainerLayout().Owner().VisualLayoutUpdated(aVisual); @@ -631,8 +639,10 @@ //[TODO]: Use the Maths engine ro arrive at this figure (virtual and viewport sizes). else there might be problems in fringe conditions iViewPort->SetVirtualSize(TAlfRealSize(iScreenSize.iWidth,iScreenSize.iHeight), 0); iViewPort->SetViewportSize(TAlfRealSize(iScreenSize.iWidth,iScreenSize.iHeight), 0); - - iEventHandler->OrientationChanged(rect); + if(Activated()) + { + iEventHandler->OrientationChanged(rect); + } } } @@ -962,5 +972,13 @@ } } - +// --------------------------------------------------------------------------- +// ZoomUiState +// --------------------------------------------------------------------------- +// +EXPORT_C TUiState CGlxZoomControl::ZoomUiState() + { + TRACER("CGlxFullScreenViewImp::GetUiState"); + return iEventHandler->ZoomUiState(); + } // End of File diff -r 191387a8b767 -r a60acebbbd9d photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp --- a/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp Tue Apr 27 16:37:53 2010 +0300 +++ b/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp Tue May 11 16:13:40 2010 +0300 @@ -142,6 +142,7 @@ iTargetAnimatedZoomRatio = (iMaxZoomRatio + iMinZoomRatio)/2 ; CancelAnimationTimer(); + CancelUITimer(); //ToDo: Verify this with images slightly smaller or slightly larger than fullscreen size. if (EZoomIn == aZoomMode) @@ -233,6 +234,12 @@ CancelAnimationTimer(); TSize screensize = iMathsEngine.ScreenSize(); iZoomFocus = TPoint(screensize.iWidth>>1,screensize.iHeight>>1) ; + + //start the timer here after the animation is complete + if(EUiOn == iZoomUiState && iZoomActivated) + { + ShowScreenFurniture(KGlxScreenTimeout); + } } } @@ -377,14 +384,14 @@ //Listen EStdKeyApplicationC as EKeyZoomIn key is mapped to TKeyCode:: EKeyApplicationC for which TStdScancode is EStdKeyApplicatoinC case EStdKeyApplicationC : { - HandleZoomStripeAction(EZoomIn ,aEvent.Code()) ; + HandleZoomKey(EZoomIn ,aEvent.Code()) ; consumed = ETrue; break ; } //Listen EStdKeyApplicationD as EKeyZoomOut key is mapped to TKeyCode:: EKeyApplicationD for which TStdScancode is EStdKeyApplicatoinD case EStdKeyApplicationD : { - HandleZoomStripeAction(EZoomOut,aEvent.Code()); + HandleZoomKey(EZoomOut,aEvent.Code()); consumed = ETrue; break ; } @@ -397,13 +404,13 @@ } // ----------------------------------------------------------------------------- -// HandleZoomStripeAction:Zooms the image on zoom stripe action. +// HandleZoomKey:Zooms the image on zoom stripe action. // ----------------------------------------------------------------------------- // -void CGlxZoomPanEventHandler::HandleZoomStripeAction(TZoomMode aZoomMode , +void CGlxZoomPanEventHandler::HandleZoomKey(TZoomMode aZoomMode , TEventCode aEventCode) { - TRACER("CGlxZoomControl::HandleZoomStripeAction "); + TRACER("CGlxZoomControl::HandleZoomKey "); if ( iZoomActivated ) { switch(aEventCode) @@ -736,8 +743,14 @@ { return; } - - ShowScreenFurniture(KGlxScreenTimeout); + + if (EUiOff == iZoomUiState) + { + ShowScreenFurniture(KGlxScreenTimeout); + } + else{ + HideScreenFurniture(); + } } // --------------------------------------------------------------------------- @@ -841,8 +854,13 @@ void CGlxZoomPanEventHandler::ShowScreenFurniture(TTimeIntervalMicroSeconds32 aTimeout) { TRACER("CGlxZoomPanEventHandler::ShowScreenFurniture()"); - - iZoomEventHandler.HandleShowUi(ETrue); + + if (EUiOff == iZoomUiState ) + { + // make visible if not already visible. + // the timer will ofcourse get restarted. + iZoomEventHandler.HandleShowUi(ETrue); + } if (aTimeout.Int()) { @@ -858,9 +876,11 @@ void CGlxZoomPanEventHandler::HideScreenFurniture() { TRACER("CGlxZoomPanEventHandler::HideScreenFurniture()"); - - iZoomEventHandler.HandleShowUi(EFalse); - CancelUITimer(); + if (EUiOn == iZoomUiState ) + { + iZoomEventHandler.HandleShowUi(EFalse); + CancelUITimer(); + } } @@ -1145,6 +1165,7 @@ TUiState CGlxZoomPanEventHandler::ZoomUiState() { TRACER("CGlxZoomPanEventHandler::ZoomUiState"); + GLX_LOG_INFO1("CGlxZoomPanEventHandler::ZoomUiState :=%d",iZoomUiState); return iZoomUiState ; }