diff -r 5b238bc8ffb6 -r 01504893d9cb photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxmediaselectionpopup.cpp --- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxmediaselectionpopup.cpp Wed Sep 15 12:13:06 2010 +0300 +++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxmediaselectionpopup.cpp Wed Oct 13 14:32:09 2010 +0300 @@ -15,6 +15,11 @@ * */ + +/** + * @internal reviewed 06/06/2007 by Dave Schofield + * @internal reviewed 13/07/2007 by Aki Vanhatalo + */ // INCLUDE FILES #include "glxmediaselectionpopup.h" @@ -243,14 +248,8 @@ { cbaContainer->SetCommandSetL(R_AVKON_SOFTKEYS_CANCEL); } - //LSK / SK1’s visibility is determined by the screen context, if single click support enabled. - //As suggested by Avkon, disable the CEikCba’s item specific softkey default behavior. - CEikCba* eikCba = static_cast( cbaContainer->ButtonGroup() ); - if( eikCba ) - { - eikCba->EnableItemSpecificSoftkey( EFalse ); - } cbaContainer->DrawDeferred(); + } listBox->DrawDeferred(); @@ -335,9 +334,7 @@ const TKeyEvent& aKeyEvent, TEventCode aType) { TRACER("CGlxSingleGraphicPopupMenuStyleListBox::OfferKeyEventL"); - //Note: To add custom implementation to OfferKeyEventL(), change - //CAknSingleGraphicPopupMenuStyleListBox to CGlxSingleGraphicPopupMenuStyleListBox. - + //Based on the selected item index, disable the MultipleSelection flag //to stop the flickering of 'marked box', when Highlighted 'New Tag' is selected. CGlxMediaListAdaptor* mediaListAdaptor = @@ -488,9 +485,11 @@ iMediaList->RemoveMediaListObserver(this); // We no longer require any callbacks from the media list + CMPXCollectionPath* path = NULL; if (aAccepted) { + //Check if a static item is selected if (iMediaListAdaptor->IsStaticItemSelected()) { @@ -520,6 +519,7 @@ // The error is neither KErrNone or KErrCancel, leave. User::Leave(error); } + } else { @@ -885,18 +885,14 @@ KGlxMediaCollectionPluginSpecificSelectMediaPopupTitle); rootList->AddContextL(attributeContext, KGlxFetchContextPriorityBlocking); - // Media list must not have been deleted when the destructor of - // TGlxContextRemover is called while going out-of-scope. - { - // TGlxContextRemover will remove the context when it goes out of scope - // Used here to avoid a trap and still have safe cleanup - TGlxFetchContextRemover contextRemover(attributeContext, *rootList); - CleanupClosePushL(contextRemover); - User::LeaveIfError(GlxAttributeRetriever::RetrieveL( - *attributeContext, *rootList, EFalse)); - // context off the list - CleanupStack::PopAndDestroy(&contextRemover); - } // Limiting scope of contextRemover + // TGlxContextRemover will remove the context when it goes out of scope + // Used here to avoid a trap and still have safe cleanup + TGlxFetchContextRemover contextRemover(attributeContext, *rootList); + CleanupClosePushL(contextRemover); + User::LeaveIfError(GlxAttributeRetriever::RetrieveL(*attributeContext, + *rootList, EFalse)); + // context off the list + CleanupStack::PopAndDestroy(&contextRemover); TInt index = rootList->Index(KGlxIdSpaceIdRoot, iCollectionId);