photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp
changeset 1 9ba538e329bd
parent 0 4e91876724a2
child 2 7d9067c6fcb1
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp	Thu Dec 17 08:45:44 2009 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp	Thu Jan 07 12:46:23 2010 +0200
@@ -41,6 +41,7 @@
 #include <glxcollectionpluginalbums.hrh>
 #include <glxcollectionpluginmonths.hrh>
 #include <glxcollectionplugintags.hrh>
+#include <glxcollectionpluginimageviewer.hrh>
 #include <glxbackservicewrapper.h>
 #include <glxgallery.hrh>
 
@@ -199,25 +200,36 @@
     			break;
     			}
     		case EGlxCmdPreviousView:
-    			{
-    			GLX_LOG_INFO("CGlxCommandHandlerBack::ExecuteL::Go back \
-                to the previous view");
-                if (!(iNavigationalState->BackExitStatus()))
-                    {
-                    if(iAppUi)
-                        {
-                        iAppUi->ProcessCommandL(EAknSoftkeyExit);    
-                        }
-                    }
-    			if( iIsViewActivated )
-    			    {
-                    iIsViewActivated = EFalse;
-                    iNavigationalState->ActivatePreviousViewL();
-    			    
-    			    }
-    			consume = ETrue;
-    			break;
-    			}
+    		    {
+    		    GLX_LOG_INFO("CGlxCommandHandlerBack::ExecuteL::Go back \
+    		    to the previous view");
+    		    CMPXCollectionPath* path = iNavigationalState->StateLC();
+    		    if (path->Id() == TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid))
+    		        {
+    		        if(iAppUi)
+    		            {
+    		            iAppUi->ProcessCommandL(EAknSoftkeyExit);    
+    		            }
+    		        }
+    		    else
+    		        {
+    		        if (!(iNavigationalState->BackExitStatus()))
+    		            {
+    		            if(iAppUi)
+    		                {
+    		                iAppUi->ProcessCommandL(EAknSoftkeyExit);    
+    		                }
+    		            }
+    		        if( iIsViewActivated )
+    		            {
+    		            iIsViewActivated = EFalse;
+    		            iNavigationalState->ActivatePreviousViewL();
+    		            }
+    		        }
+    		    CleanupStack::PopAndDestroy( path );
+    		    consume = ETrue;
+    		    break;
+    		    }
     			
     		case EGlxCmdContainerPreviousView:
     			{