imageeditor/ImageEditorUI/src/ImageEditorUIView.cpp
changeset 8 18b321db4884
parent 1 edfc90759b9f
--- a/imageeditor/ImageEditorUI/src/ImageEditorUIView.cpp	Fri Jan 29 13:53:17 2010 +0200
+++ b/imageeditor/ImageEditorUI/src/ImageEditorUIView.cpp	Thu Jun 03 18:57:10 2010 +0800
@@ -1,29 +1,25 @@
 /*
-* Copyright (c) 2010 Ixonos Plc.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "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:
-* Ixonos Plc
-*
-* Description: 
-* Image Editor's view class that handles all view related issues.
-*
-*/
-
-
-
+ * Copyright (c) 2010 Ixonos Plc.
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the "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:
+ * Ixonos Plc
+ *
+ * Description: 
+ * Image Editor's view class that handles all view related issues.
+ *
+ */
 // INCLUDE FILES
 #include <eikmenub.h>
 #include <eikbtgpc.h>
 #include <bautils.h>
-
 #include <avkon.hrh>
 #include <aknviewappui.h>
 #include <aknconsts.h>
@@ -36,36 +32,30 @@
 #include <CMessageData.h>
 #include <AknInfoPopupNoteController.h>
 #include <Avkon.rsg>
-
 #include <apgcli.h>
 #include <apadef.h>
 #include <apaid.h>
 #include <StringLoader.h>
 #include <pathinfo.h> 
-
 #include <ImageEditorUI.rsg>
 #include "ImageEditorUI.hrh"
 #include "ImageEditorUIPanics.h"
 #include "ImageEditorUIView.h"
 #include "ImageEditorUIContainer.h" 
 #include "ImageEditorUtils.h"
-
 #include "DrawUtils.h" 
 #include "PluginInfo.h" 
 #include "ResolutionUtil.h"
-
 #include "ImageEditorControlBase.h" 
 #include "SingleParamControl.h" 
 #include "imageeditordebugutils.h"
 #include "plugingrid.h"	
-//#include "platform_security_literals.hrh"
-
+#include "text.rsg"
 #ifdef AIW_PRINT_PROVIDER_USED
 #include <AiwServiceHandler.h>
 #include <AiwMenu.h>
 #include <AiwCommon.hrh>
 #endif
-
 // CONSTANTS
 _LIT (KResourceDir, "\\resource\\apps\\");
 _LIT (KResourceFile, "imageeditorui.rsc");
@@ -80,1436 +70,1384 @@
 #define LANDSCAPE_ARG(x)
 #endif
 
-
 //=============================================================================
 EXPORT_C void CImageEditorUIView::ConstructL()
-{
-    LOG(KImageEditorLogFile, "CImageEditorUIView::ConstructL()");
+	{
+	LOG(KImageEditorLogFile, "CImageEditorUIView::ConstructL()");
 
-    //	Read resource	
+	//	Read resource	
 	TFileName resourcefile;
 	resourcefile.Append(KResourceDir);
 	resourcefile.Append(KResourceFile);
 
-    User::LeaveIfError( CompleteWithAppPath( resourcefile ) );
-    // Implementation of RConeResourceLoader uses BaflUtils::NearestLanguageFile 
-    // to search for a localised resource in proper search order
-    iResLoader.OpenL ( resourcefile );
-    
-    //	Construct base view
-    BaseConstructL (R_IMAGEEDITORUI_VIEW);
+	User::LeaveIfError(CompleteWithAppPath(resourcefile));
+	// Implementation of RConeResourceLoader uses BaflUtils::NearestLanguageFile 
+	// to search for a localised resource in proper search order
+	iResLoader.OpenL(resourcefile);
+
+	//	Construct base view
+	BaseConstructL(R_IMAGEEDITORUI_VIEW);
 
-    //  Get reference to status pane 
-    CEikStatusPane * sp = AppUi()->StatusPane();
+	//  Get reference to status pane 
+	CEikStatusPane * sp = AppUi()->StatusPane();
 
-    //  Get reference to navi pane
-    iNaviPane = 
-        (CAknNavigationControlContainer *) sp->ControlL (TUid::Uid (EEikStatusPaneUidNavi));
+	//  Get reference to navi pane
+	iNaviPane = (CAknNavigationControlContainer *) sp->ControlL(TUid::Uid(
+			EEikStatusPaneUidNavi));
 
-    //  Get reference to title pane
-    iTitlePane = 
-        (CAknTitlePane *) sp->ControlL (TUid::Uid (EEikStatusPaneUidTitle));
+	//  Get reference to title pane
+	iTitlePane = (CAknTitlePane *) sp->ControlL(TUid::Uid(
+			EEikStatusPaneUidTitle));
 
 	// Initialize soft key ID:s (needs to be changed if cba resource in 
 	// R_IMAGEEDITORUI_VIEW changes)
 	iSoftkey1 = EAknSoftkeyEmpty;
 	iSoftkey2 = EAknSoftkeyEmpty;
 	iMSK = EAknSoftkeyEmpty;
-	
-    iInPlugin = EFalse;
-        
-    iPopupController = CAknInfoPopupNoteController::NewL();
-    
+
+	iInPlugin = EFalse;
+
+	iPopupController = CAknInfoPopupNoteController::NewL();
+
 	// Read strings needed for zoom popup
-    HBufC8 * res8 = CEikonEnv::Static()->AllocReadResourceAsDes8LC ( R_ZOOM_TEXTS );
-    TResourceReader resource;
-    //Set resource reader buffer
-    resource.SetBuffer( res8 );
+	HBufC8 * res8 =	CEikonEnv::Static()->AllocReadResourceAsDes8LC(R_ZOOM_TEXTS);
+	TResourceReader resource;
+	//Set resource reader buffer
+	resource.SetBuffer(res8);
+
+	//Read zoom text count
+	TInt16 arraycount = (TInt16) resource.ReadInt16();
+
+	// There have to be as many zoom texts as there are zoom states
+	__ASSERT_ALWAYS( arraycount == ENumOfZooms, User::Panic(KComponentName,
+					EImageEditorPanicZoomTextCountDoesntMatch) );
 
-    //Read zoom text count
-    TInt16 arraycount = ( TInt16 )resource.ReadInt16();
-    
-    // There have to be as many zoom texts as there are zoom states
-    __ASSERT_ALWAYS( arraycount == ENumOfZooms, User::Panic(KComponentName, 
-                                    EImageEditorPanicZoomTextCountDoesntMatch) );
-    
-    if ( arraycount > 0 )
-        {
-        //Construct a new descriptor array
-        if ( !iZoomTexts )
-            {
-            iZoomTexts = new ( ELeave ) CDesCArraySeg( 16 );
-            }
+	if (arraycount > 0)
+		{
+		//Construct a new descriptor array
+		if (!iZoomTexts)
+			{
+			iZoomTexts = new (ELeave) CDesCArraySeg(16);
+			}
 
-        //Read text to array
-        for ( TInt i = 0; i < arraycount; ++i )
-            {
-            //Construct a flat descriptor array and read all the texts
-            HBufC * parameter = resource.ReadHBufCL();
-            CleanupStack::PushL( parameter );
-            TPtrC ptr = parameter->Des();
-            iZoomTexts->AppendL ( ptr );
-            CleanupStack::PopAndDestroy(); // parameter
-            }
-        }
-    CleanupStack::PopAndDestroy (); // res8
+		//Read text to array
+		for (TInt i = 0; i < arraycount; ++i)
+			{
+			//Construct a flat descriptor array and read all the texts
+			HBufC * parameter = resource.ReadHBufCL();
+			CleanupStack::PushL(parameter);
+			TPtrC ptr = parameter->Des();
+			iZoomTexts->AppendL(ptr);
+			CleanupStack::PopAndDestroy(); // parameter
+			}
+		}
+	CleanupStack::PopAndDestroy(); // res8
 
 
 #ifdef AIW_PRINT_PROVIDER_USED
-    iServiceHandler = CAiwServiceHandler::NewL();
+	iServiceHandler = CAiwServiceHandler::NewL();
 	// Attach menu services.
-	iServiceHandler->AttachMenuL(R_IMAGEEDITORUI_MENUPANE, R_IMAGE_EDITOR_INTEREST);
+	iServiceHandler->AttachMenuL(R_IMAGEEDITORUI_MENUPANE,
+			R_IMAGE_EDITOR_INTEREST);
 #endif   
-    LOG(KImageEditorLogFile, "CImageEditorUIView: Constructred succesfully");
-}
+	LOG(KImageEditorLogFile, "CImageEditorUIView: Constructred succesfully");
+	}
 
 //=============================================================================
 EXPORT_C CImageEditorUIView::CImageEditorUIView() :
-CAknView (),
-iResLoader ( *iEikonEnv ), 
-iBusy(ETrue),
-iContainerInStack(EFalse)
-{
-
-}
+	CAknView(), iResLoader(*iEikonEnv), iBusy(ETrue), iContainerInStack(EFalse)
+	{
+	}
 
 //=============================================================================
 EXPORT_C CImageEditorUIView::~CImageEditorUIView()
-{
+	{
 	LOG(KImageEditorLogFile, "CImageEditorUIView::~CImageEditorUIView()");
 
 	iResLoader.Close();
 
 #ifdef AIW_PRINT_PROVIDER_USED
-    delete iServiceHandler;
+	delete iServiceHandler;
 #endif
 
-    if (iNaviPane && iNaviDecorator)
-    {
-        iNaviPane->Pop (iNaviDecorator);
-        delete iNaviDecorator;
-        iNaviDecorator = 0;
-    }
-    iNaviDecorator = 0;
-	
-	if ( iNaviPane && iPreviousNaviDecorator )
-    {
-        iNaviPane->Pop ( iPreviousNaviDecorator );
-        delete iPreviousNaviDecorator;
-        iPreviousNaviDecorator = 0;
-    }
-    iPreviousNaviDecorator = 0;
-    
+	if (iNaviPane && iNaviDecorator)
+		{
+		iNaviPane->Pop(iNaviDecorator);
+		delete iNaviDecorator;
+		iNaviDecorator = 0;
+		}
+	iNaviDecorator = 0;
+
+	if (iNaviPane && iPreviousNaviDecorator)
+		{
+		iNaviPane->Pop(iPreviousNaviDecorator);
+		delete iPreviousNaviDecorator;
+		iPreviousNaviDecorator = 0;
+		}
+	iPreviousNaviDecorator = 0;
+
 	RemoveContainerFromStack();
-    if ( iContainer )
-	{
-        delete iContainer;
-        iContainer = 0;
-    }
-     
-    iArray.Reset();
+	if (iContainer)
+		{
+		delete iContainer;
+		iContainer = 0;
+		}
+
+	iArray.Reset();
+
+	iNaviPane = NULL;
+	iTitlePane = NULL;
+	iControl = NULL;
+	iPreview = NULL;
+	iSendAppUi = NULL;
 
-    iNaviPane = NULL;
-    iTitlePane = NULL;
-    iControl = NULL;
-    iPreview = NULL;
-    iSendAppUi = NULL;
-    
-    if ( iPopupController )
-        {
-        delete iPopupController;    
-        }
-        
-    if ( iZoomTexts )
-        {
-        iZoomTexts->Reset();  
-        delete iZoomTexts;
-        }
-	
+	if (iPopupController)
+		{
+		delete iPopupController;
+		}
+
+	if (iZoomTexts)
+		{
+		iZoomTexts->Reset();
+		delete iZoomTexts;
+		}
+
 	LOG(KImageEditorLogFile, "CImageEditorUIView: View deleted");
-}
+	}
 
 //=============================================================================
 EXPORT_C TUid CImageEditorUIView::Id() const
-{
-    return KViewId;
-}
+	{
+	return KViewId;
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::UpdateLayoutL ( TInt LANDSCAPE_ARG(aScreenMode) ) const
-    {
-    CEikStatusPane* sp = StatusPane();
-    __ASSERT_ALWAYS( sp, User::Panic(KComponentName, EImageEditorPanicStatusPaneNotAccessible) );
+EXPORT_C void CImageEditorUIView::UpdateLayoutL(TInt LANDSCAPE_ARG(aScreenMode)) const
+	{
+	CEikStatusPane* sp = StatusPane();
+	__ASSERT_ALWAYS( sp, User::Panic(KComponentName, EImageEditorPanicStatusPaneNotAccessible) );
 
 #ifdef LANDSCAPE_SUPPORT
 
-    TPixelsAndRotation rotation;
-    iEikonEnv->ScreenDevice()->GetScreenModeSizeAndRotation(aScreenMode, rotation);
+	TPixelsAndRotation rotation;
+	iEikonEnv->ScreenDevice()->GetScreenModeSizeAndRotation(aScreenMode,rotation);
 
 	LOGFMT2(KImageEditorLogFile, "CImageEditorUIView: View mode: ScreenMode: %d, Rotation: %d", aScreenMode, rotation.iRotation);
 
-    switch (rotation.iRotation)
-    {
-    case CFbsBitGc::EGraphicsOrientationRotated270: // view mode
-        {
-		LOG(KImageEditorLogFile, "CImageEditorUIView: EGraphicsOrientationRotated270");
+	switch (rotation.iRotation)
+		{
+		case CFbsBitGc::EGraphicsOrientationRotated270: // view mode
+			{
+			LOG(KImageEditorLogFile, "CImageEditorUIView: EGraphicsOrientationRotated270");
 
 #ifndef SWAP_SOFTKEY_POSITIONS		
-		sp->SwitchLayoutL(R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_RIGHT);
+			sp->SwitchLayoutL(R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_RIGHT);
 #else								
-		sp->SwitchLayoutL(R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_LEFT);
+			sp->SwitchLayoutL(R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_LEFT);
 #endif
-        break;
-        }
+			break;
+			}
 
-    case CFbsBitGc::EGraphicsOrientationRotated90: // camcorder mode
-        {
-		LOG(KImageEditorLogFile, "CImageEditorUIView: EGraphicsOrientationRotated90");
+		case CFbsBitGc::EGraphicsOrientationRotated90: // camcorder mode
+			{
+			LOG(KImageEditorLogFile, "CImageEditorUIView: EGraphicsOrientationRotated90");
 
 #ifndef SWAP_SOFTKEY_POSITIONS		
-		sp->SwitchLayoutL(R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_LEFT);
+			sp->SwitchLayoutL(R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_LEFT);
 #else						
-		sp->SwitchLayoutL(R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_RIGHT);
+			sp->SwitchLayoutL(R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_RIGHT);
 #endif
-        break;
-        }
+			break;
+			}
 
-    case CFbsBitGc::EGraphicsOrientationNormal:
-    default:
-        {
-        if( CResolutionUtil::Self()->GetLandscape() )
-            {
-            sp->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL /*R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT*/ );
-            }
-        else
-            {
-            sp->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL );
-            }            
-        break;
-        }
-    }
+		case CFbsBitGc::EGraphicsOrientationNormal:
+		default:
+			{
+			if (CResolutionUtil::Self()->GetLandscape())
+				{
+				sp->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_USUAL /*R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT*/);
+				}
+			else
+				{
+				sp->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_USUAL);
+				}
+			break;
+			}
+		}
 
 #endif  
 
-    if (iFullScreen)
-        {
-        //  Hide status pane
-        sp->MakeVisible (EFalse);
-        }
-    else
-        {
-        //  Make status pane visible
-        sp->MakeVisible (ETrue);
+	if (iFullScreen)
+		{
+		//  Hide status pane
+		sp->MakeVisible(EFalse);
+		}
+	else
+		{
+		//  Make status pane visible
+		sp->MakeVisible(ETrue);
 
 #ifdef LANDSCAPE_SUPPORT
 
-        // And now the CBA...
-	    TRect rect = ClientRect();
+		// And now the CBA...
+		TRect rect = ClientRect();
 
-        CEikButtonGroupContainer* cba = Cba();
-        __ASSERT_ALWAYS( cba, User::Panic(KComponentName, EImageEditorPanicCbaNotAccessible) );
+		CEikButtonGroupContainer* cba = Cba();
+		__ASSERT_ALWAYS( cba, User::Panic(KComponentName, EImageEditorPanicCbaNotAccessible) );
 
-	    MEikButtonGroup* bgrp = cba->ButtonGroup();
-	    STATIC_CAST( CEikCba*, bgrp)->SetBoundingRect(rect);
-	    cba->HandleResourceChange(KEikDynamicLayoutVariantSwitch);
+		MEikButtonGroup* bgrp = cba->ButtonGroup();
+		STATIC_CAST( CEikCba*, bgrp)->SetBoundingRect(rect);
+		cba->HandleResourceChange(KEikDynamicLayoutVariantSwitch);
 
 #endif
-        }
-
-    }
+		}
+	}
 
 //=============================================================================
 EXPORT_C TBool CImageEditorUIView::ViewScreenModeCompatible(TInt /*aScreenMode*/)
-    {
-    // Supports any screen size
-    return ETrue;
-    }
-
+	{
+	// Supports any screen size
+	return ETrue;
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::HandleCommandL (TInt aCommand)
-{   
+EXPORT_C void CImageEditorUIView::HandleCommandL(TInt aCommand)
+	{
 
-    // If focus is gained or lost
-    if ( (aCommand == EImageEditorFocusGained) || (aCommand == EImageEditorFocusLost) )
-    {
-    	if (iContainer && iControl)
-    	{
-          	((CImageEditorControlBase *)iControl)->HandlePluginCommandL (aCommand);
+	// If focus is gained or lost
+	if ((aCommand == EImageEditorFocusGained) || (aCommand
+			== EImageEditorFocusLost))
+		{
+		if (iContainer && iControl)
+			{
+			((CImageEditorControlBase *) iControl)->HandlePluginCommandL(aCommand);
+			}
 		}
-    }
-  	//  If soft key 1 pressed
-   	else if ( iInPlugin &&  (aCommand == iSoftkey1) && (aCommand != EAknSoftkeyOptions) )
-   	{
-    	if ( iContainer && iContainer->Busy() )
-    	{
+	//  If soft key 1 pressed
+	else if (iInPlugin && (aCommand == iSoftkey1) && (aCommand
+			!= EAknSoftkeyOptions))
+		{
+		if (iContainer && iContainer->Busy())
+			{
 			return;
-		}
-        else
-    	{
-       	((CImageEditorControlBase *)iControl)->HandlePluginCommandL (aCommand);
-		}
-   	}
-
-   	//  If soft key 2 pressed
-   	else if ( iInPlugin && (aCommand == iSoftkey2)  )
-   	{
-    	if ( iContainer && iContainer->Busy() )
-    	{
-			return;
+			}
+		else
+			{
+			((CImageEditorControlBase *) iControl)->HandlePluginCommandL(aCommand);
+			}
 		}
-        else
-    	{
-            ((CImageEditorControlBase *)iControl)->HandlePluginCommandL (aCommand);
-		}
-   	}
-   	
-   	//  If msk pressed
-   	else if ( iInPlugin && (aCommand == iMSK)  )
-   	{
-    	if ( iContainer && iContainer->Busy() )
-    	{
+
+	//  If soft key 2 pressed
+	else if (iInPlugin && (aCommand == iSoftkey2))
+		{
+		if (iContainer && iContainer->Busy())
+			{
 			return;
-		}
-        else
-    	{
-            ((CImageEditorControlBase *)iControl)->HandlePluginCommandL (aCommand);
+			}
+		else
+			{
+			((CImageEditorControlBase *) iControl)->HandlePluginCommandL(
+					aCommand);
+			}
 		}
-   	}
-   	
-    //  Menu plug-in item selected
-    else if ( iInPlugin && MenuItemPressedL(aCommand) )
-    {
-        ((CImageEditorControlBase *)iControl)->HandlePluginCommandL (aCommand);
-    }
+
+	//  If msk pressed
+	else if (iInPlugin && (aCommand == iMSK))
+		{
+		if (iContainer && iContainer->Busy())
+			{
+			return;
+			}
+		else
+			{
+			((CImageEditorControlBase *) iControl)->HandlePluginCommandL(aCommand);
+			}
+		}
 
-    else
-    {
-        switch (aCommand)
-        {
-            case EImageEditorPreGlobalZoomChange:
-            case EImageEditorGlobalZoomChanged:
-            case EImageEditorGlobalCropChanged:
-            case EImageEditorPreGlobalPanChange:
-            case EImageEditorGlobalPanChanged:
-            case EImageEditorGlobalRotationChanged:
+	//  Menu plug-in item selected
+	else if (iInPlugin && MenuItemPressedL(aCommand))
+		{
+		((CImageEditorControlBase *) iControl)->HandlePluginCommandL(aCommand);
+		}
+
+	else
+		{
+		switch (aCommand)
+			{
+			case EImageEditorPreGlobalZoomChange:
+			case EImageEditorGlobalZoomChanged:
+			case EImageEditorGlobalCropChanged:
+			case EImageEditorPreGlobalPanChange:
+			case EImageEditorGlobalPanChanged:
+			case EImageEditorGlobalRotationChanged:
 			case EImageEditorPreScreenModeChange:
 			case EImageEditorPostScreenModeChange:
-			{
-                if (iInPlugin)
-                {
-					((CImageEditorControlBase *)iControl)->HandlePluginCommandL (aCommand);
-				}
-				return;
-			}
-
-            case EAknSoftkeyBack:
-            {
-   			if ( iContainer && iContainer->Busy() )
-    			{
+				{
+				if (iInPlugin)
+					{
+					((CImageEditorControlBase *) iControl)->HandlePluginCommandL(aCommand);
+					}
 				return;
 				}
-        	else
-    			{
-                AppUi()->HandleCommandL (EImageEditorSoftkeyCmdBack);
-                break;
-				}				
-            }
-            case EImageEditorUpdateSoftkeys:
-            {
-                if (iInPlugin)
-                {
-                    UpdateSoftkeysL();
-                }
-                break;
-            }
-            case EImageEditorUpdateNavipane:
-            {
-                if (iInPlugin)
-                {
-                    UpdateNaviPaneL();
-                }
-                break;
-            }
-            case EImageEditorTryDisplayMenuBar:
-            {
-                CEikMenuBar* menu = MenuBar();
-                __ASSERT_ALWAYS( menu, User::Panic(KComponentName, EImageEditorPanicMenuNotAccessible) );
-                menu->TryDisplayMenuBarL();
-                break;
-            }
-            case EImageEditorDoPrint:
-            {
+			case EAknSoftkeyBack:
+				{
+				if (iContainer && iContainer->Busy())
+					{
+					return;
+					}
+				else
+					{
+					AppUi()->HandleCommandL(EImageEditorSoftkeyCmdBack);
+					break;
+					}
+				}
+			case EImageEditorUpdateSoftkeys:
+				{
+				if (iInPlugin)
+					{
+					UpdateSoftkeysL();
+					}
+				break;
+				}
+			case EImageEditorUpdateNavipane:
+				{
+				if (iInPlugin)
+					{
+					UpdateNaviPaneL();
+					}
+				break;
+				}
+			case EImageEditorTryDisplayMenuBar:
+				{
+				CEikMenuBar* menu = MenuBar();
+				__ASSERT_ALWAYS( menu, User::Panic(KComponentName, EImageEditorPanicMenuNotAccessible) );
+				menu->TryDisplayMenuBarL();
+				break;
+				}
+			case EImageEditorDoPrint:
+				{
 #ifdef AIW_PRINT_PROVIDER_USED
 
-                CAiwGenericParamList& in = iServiceHandler->InParamListL();
+				CAiwGenericParamList& in = iServiceHandler->InParamListL();
 
-		        TFileName filename(iImageFileName);
-		        TAiwVariant variant(filename);
-		        TAiwGenericParam param(EGenericParamFile, variant);
-            
-		        in.AppendL(param);	
+				TFileName filename(iImageFileName);
+				TAiwVariant variant(filename);
+				TAiwGenericParam param(EGenericParamFile, variant);
 
-                iServiceHandler->ExecuteMenuCmdL(
-                    iSelectedPrintMenuCmd, 
-                    in, 
-                    iServiceHandler->OutParamListL()
-                    );
+				in.AppendL(param);
+
+				iServiceHandler->ExecuteMenuCmdL(iSelectedPrintMenuCmd, in,
+						iServiceHandler->OutParamListL());
 #endif       
-                break;
-            }
-            default:
-            {
-                // Print and save
-                if (aCommand >= EImageEditorMenuAiwPrintBase &&
-                    aCommand <= EImageEditorMenuAiwPrintLast)
-                    {
-                    iSelectedPrintMenuCmd = aCommand;
-                    AppUi()->HandleCommandL (EImageEditorSaveAndPrint);
-                    }
-                else
-                    {
-                    AppUi()->HandleCommandL (aCommand);
-                    }
-                break;
-            }
-        }
-    }
-}
+				break;
+				}
+			default:
+				{
+				// Print and save
+				if (aCommand >= EImageEditorMenuAiwPrintBase && aCommand
+						<= EImageEditorMenuAiwPrintLast)
+					{
+					iSelectedPrintMenuCmd = aCommand;
+					AppUi()->HandleCommandL(EImageEditorSaveAndPrint);
+					}
+				else
+					{
+					AppUi()->HandleCommandL(aCommand);
+					}
+				break;
+				}
+			}
+		}
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::HandleClientRectChange()
-{
-    LOG(KImageEditorLogFile, "CImageEditorUIView: Client rect changed");
+	{
+	LOG(KImageEditorLogFile, "CImageEditorUIView: Client rect changed");
 
-    if (iContainer)
-    {
-        iContainer->SetRect ( ClientRect() );
-    }
-}
+	if (iContainer)
+		{
+		iContainer->SetRect(ClientRect());
+		}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetImageL (CFbsBitmap * aBitmap)
-{
-    iPreview = aBitmap;
-    if (iContainer)
-    {
-	    iContainer->SetImageL (aBitmap);
-    }
-}
+EXPORT_C void CImageEditorUIView::SetImageL(CFbsBitmap * aBitmap)
+	{
+	iPreview = aBitmap;
+	if (iContainer)
+		{
+		iContainer->SetImageL(aBitmap);
+		}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetImageFileName (const TDesC& aFileName)
-{
-    iImageFileName.Copy(aFileName);
-}
-
-
+EXPORT_C void CImageEditorUIView::SetImageFileName(const TDesC& aFileName)
+	{
+	iImageFileName.Copy(aFileName);
+	}
 
 //=============================================================================
-EXPORT_C CCoeControl * CImageEditorUIView::GetContainer () const
-{
+EXPORT_C CCoeControl * CImageEditorUIView::GetContainer() const
+	{
 	return iContainer;
-}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::ActivatePluginL (CCoeControl * aControl)
-{
-    LOG(KImageEditorLogFile, "CImageEditorUIView: Activating plugin");
+EXPORT_C void CImageEditorUIView::ActivatePluginL(CCoeControl * aControl)
+	{
+	LOG(KImageEditorLogFile, "CImageEditorUIView: Activating plugin");
 
-    // Activate the plugin based on UI type
-    switch ( iArray[iIndex]->PluginUiType() ) 
-    {
-    case 1: // EPluginUiTypeNone
-        {
-            // For non-UI plug-ins active main view and render
-            iInPlugin = EFalse;
-            ActivateMainViewL();
-            HandleCommandL (EImageEditorCmdRender);
-            break;
+	// Activate the plugin based on UI type
+	switch (iArray[iIndex]->PluginUiType())
+		{
+		case 1: // EPluginUiTypeNone
+			{
+			// For non-UI plug-ins active main view and render
+			iInPlugin = EFalse;
+			ActivateMainViewL();
+			HandleCommandL(EImageEditorCmdRender);
+			break;
 
+			}
+		case 2: // EPluginUiTypeSingleParam
+		case 3: // EPluginUiTypeMultiParam
+		case 4: // EPluginUiTypeCustomized
+			{
+			iInPlugin = ETrue;
 
-        }
-    case 2: // EPluginUiTypeSingleParam
-    case 3: // EPluginUiTypeMultiParam
-    case 4: // EPluginUiTypeCustomized
-        {
-            iInPlugin = ETrue;
+			//  Set control
+			iControl = aControl;
+			if (iContainer)
+				{
+				iContainer->SetControl(iControl);
+				}
 
-            //  Set control
-            iControl = aControl;
-            if (iContainer)
-            {
-                iContainer->SetControl (iControl);
-            }
+			//  Set plug-in item
+			if (iControl)
+				{
+				LOG(KImageEditorLogFile, "CImageEditorUIView: Activating plugin: calling SetSelectedUiItemL");
 
-            //  Set plug-in item
-            if (iControl)
-            {
-                LOG(KImageEditorLogFile, "CImageEditorUIView: Activating plugin: calling SetSelectedUiItemL");
+				((CImageEditorControlBase *) iControl)->SetSelectedUiItemL(	iArray[iIndex]);
+				}
 
-                ((CImageEditorControlBase *)iControl)->SetSelectedUiItemL (iArray[iIndex]);
-            }
+			//  Prepare the plug-in item
+			if (iControl)
+				{
+				LOG(KImageEditorLogFile, "CImageEditorUIView: Activating plugin: calling ");
 
-            //  Prepare the plug-in item
-            if (iControl)
-            {
-                LOG(KImageEditorLogFile, "CImageEditorUIView: Activating plugin: calling PrepareL");
+				((CImageEditorControlBase *) iControl)->PrepareL();
+				}
 
-                ((CImageEditorControlBase *)iControl)->PrepareL ();
-            }
+			//  Update soft keys
+			UpdateSoftkeysL();
 
-            //  Update soft keys
-            UpdateSoftkeysL();
+			//  Update navigation pane
+			UpdateNaviPaneL();
 
-            //  Update navigation pane
-            UpdateNaviPaneL();
-			
-            break;
-        }
-    default:
-        {
-            iInPlugin = ETrue;
+			break;
+			}
+		default:
+			{
+			iInPlugin = ETrue;
 
-            //  Set control
-            iControl = aControl;
-            if (iContainer)
-            {
-                iContainer->SetControl (iControl);
-            }
-    	    break;
-        }
-    }
-}
+			//  Set control
+			iControl = aControl;
+			if (iContainer)
+				{
+				iContainer->SetControl(iControl);
+				}
+			break;
+			}
+		}
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::ActivateMainViewL()
-{
+	{
 
-    LOG(KImageEditorLogFile, "CImageEditorUIView: Activating main view");
+	LOG(KImageEditorLogFile, "CImageEditorUIView: Activating main view");
 
-    iInPlugin = EFalse;
+	iInPlugin = EFalse;
 
-    //  Reset buttons
+	//  Reset buttons
 	iSoftkey1 = EAknSoftkeyOptions;
 	iSoftkey2 = EAknSoftkeyBack;
 	iMSK = EImageEditorMenuCmdApplyEffect;
-	
-    if ( InZoomingState() )
-        {
-        if ( iZoomMode == ( ENumOfZooms - 1 ) )
-            {
-            SetCustomButtonsL( R_IMAGEEDITORUI_SK_OPTIONS_CANCEL );
-            }
-        else
-            {
-            SetCustomButtonsL( R_IMAGEEDITORUI_SK_OPTIONS_CANCEL_ZOOMIN );
-            }        
-        }
-     else
-        {
-        SetCustomButtonsL( R_IMAGEEDITORUI_SK_OPTIONS_BACK_APPLY );
-        }
 
-    //  Reset navi pane
-    ClearNaviPaneTextL();
+	if (InZoomingState())
+		{
+		if (iZoomMode == (ENumOfZooms - 1))
+			{
+			SetCustomButtonsL(R_IMAGEEDITORUI_SK_OPTIONS_CANCEL);
+			}
+		else
+			{
+			SetCustomButtonsL(R_IMAGEEDITORUI_SK_OPTIONS_CANCEL_ZOOMIN);
+			}
+		}
+	else
+		{
+		SetCustomButtonsL(R_IMAGEEDITORUI_SK_OPTIONS_BACK_APPLY);
+		}
 
-    //  Set control in container to NULL
-    iControl = 0;
-    if (iContainer)
-    {
-        iContainer->SetControl (iControl);
-    }
-    
-}
+	//  Reset navi pane
+	ClearNaviPaneTextL();
+
+	//  Set control in container to NULL
+	iControl = 0;
+	if (iContainer)
+		{
+		iContainer->SetControl(iControl);
+		}
+
+	}
 
 //=============================================================================
-EXPORT_C CPluginInfo * CImageEditorUIView::GetSelectedPluginInfoL ()
-{
-    TInt selectedItem;
-    TInt dialog_ok = CPluginSelectionDialog::RunDlgLD(&iPreview, selectedItem, &iArray, ClientRect());
+EXPORT_C CPluginInfo * CImageEditorUIView::GetSelectedPluginInfoL()
+	{
+	TInt selectedItem;
+	TInt dialog_ok = CPluginSelectionDialog::RunDlgLD(&iPreview, selectedItem,
+			&iArray, ClientRect());
 
-    if (dialog_ok && selectedItem != KErrCancel)
-    {
-        iIndex = selectedItem;
-        return iArray[selectedItem];
-    }
-    else
-    {
-     if ( InZoomingState() )
-        {
-        if ( iZoomMode == ( ENumOfZooms - 1 ) )
-            {
-            SetCustomButtonsL( R_IMAGEEDITORUI_SK_OPTIONS_CANCEL );
-            }
-        else
-            {
-            SetCustomButtonsL( R_IMAGEEDITORUI_SK_OPTIONS_CANCEL_ZOOMIN );
-            }        
-        }
-     else
-        {
-        SetCustomButtonsL( R_IMAGEEDITORUI_SK_OPTIONS_BACK_APPLY );
-        }           
-        return NULL;
-    }
-}
+	if (dialog_ok && selectedItem != KErrCancel)
+		{
+		iIndex = selectedItem;
+		return iArray[selectedItem];
+		}
+	else
+		{
+		if (InZoomingState())
+			{
+			if (iZoomMode == (ENumOfZooms - 1))
+				{
+				SetCustomButtonsL(R_IMAGEEDITORUI_SK_OPTIONS_CANCEL);
+				}
+			else
+				{
+				SetCustomButtonsL(R_IMAGEEDITORUI_SK_OPTIONS_CANCEL_ZOOMIN);
+				}
+			}
+		else
+			{
+			SetCustomButtonsL(R_IMAGEEDITORUI_SK_OPTIONS_BACK_APPLY);
+			}
+		return NULL;
+		}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::AddPluginUiItemL (const CPluginInfo * aPluginInfo)
-{
-    TLinearOrder<CPluginInfo> order (CPluginInfo::ComparePluginOrder);
-    iArray.InsertInOrder (aPluginInfo, order);
-}
+EXPORT_C void CImageEditorUIView::AddPluginUiItemL(
+		const CPluginInfo * aPluginInfo)
+	{
+	TLinearOrder<CPluginInfo> order(CPluginInfo::ComparePluginOrder);
+	iArray.InsertInOrder(aPluginInfo, order);
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetCustomButtonsL (TInt aResourceID) const
-{
-    LOG(KImageEditorLogFile, "CImageEditorUIView: Setting buttons");
+EXPORT_C void CImageEditorUIView::SetCustomButtonsL(TInt aResourceID) const
+	{
+	LOG(KImageEditorLogFile, "CImageEditorUIView: Setting buttons");
 
-    CEikButtonGroupContainer* cba = Cba();
-    __ASSERT_ALWAYS( cba, User::Panic(KComponentName, EImageEditorPanicCbaNotAccessible) );
+	CEikButtonGroupContainer* cba = Cba();
+	__ASSERT_ALWAYS( cba, User::Panic(KComponentName, EImageEditorPanicCbaNotAccessible) );
 
-    cba->SetCommandSetL (aResourceID);
-    cba->DrawDeferred();
-}
+	cba->SetCommandSetL(aResourceID);
+	cba->DrawDeferred();
+	}
 
 //=============================================================================
-EXPORT_C TInt CImageEditorUIView::LaunchSaveChangesQueryL () const
-{
+EXPORT_C TInt CImageEditorUIView::LaunchSaveChangesQueryL() const
+	{
 	//	Create dialog prompt
-    HBufC * prompt = iEikonEnv->AllocReadResourceLC (R_LIST_QUERY_SAVE_CONFIRMATION);
-    
+	HBufC * prompt = iEikonEnv->AllocReadResourceLC(
+			R_LIST_QUERY_SAVE_CONFIRMATION);
+
 	//	Execute query dialog
-	TInt ret = SDrawUtils::LaunchQueryDialogL (*prompt);
+	TInt ret = SDrawUtils::LaunchQueryDialogL(*prompt);
 
 	CleanupStack::PopAndDestroy(); // prompt
 
 	return ret;
-}
+	}
 
 //=============================================================================
-EXPORT_C TInt CImageEditorUIView::LaunchExitWithoutSavingQueryL () const
-{
+EXPORT_C TInt CImageEditorUIView::LaunchExitWithoutSavingQueryL() const
+	{
 	//	Create dialog prompt
-    HBufC * prompt = iEikonEnv->AllocReadResourceLC (R_LIST_QUERY_EXIT_WITHOUT_SAVING_CONFIRMATION);
-    
+	HBufC * prompt = iEikonEnv->AllocReadResourceLC(
+			R_LIST_QUERY_EXIT_WITHOUT_SAVING_CONFIRMATION);
+
 	//	Execute query dialog
-	TInt ret = SDrawUtils::LaunchQueryDialogL (*prompt);
+	TInt ret = SDrawUtils::LaunchQueryDialogL(*prompt);
 
 	CleanupStack::PopAndDestroy(); // prompt
 
 	return ret;
-}
+	}
 
 //=============================================================================
-EXPORT_C TInt CImageEditorUIView::LaunchCancelTextInputQueryL () const
-{
-   
+EXPORT_C TInt CImageEditorUIView::LaunchCancelTextInputQueryL() const
+	{
+
 	// Create dialog prompt
 	// At the moment query is not in use and corresponding string is removed
 	// from the loc file. To enable this, a new string has to be defined. 
-    HBufC * prompt = iEikonEnv->AllocReadResourceLC(R_LIST_QUERY_CANCEL_TEXT_INPUT);
-    
+	HBufC * prompt = iEikonEnv->AllocReadResourceLC(
+			R_LIST_QUERY_CANCEL_TEXT_INPUT);
+
 	//	Execute query dialog
-	TInt ret = SDrawUtils::LaunchQueryDialogOkOnlyL (*prompt);
+	TInt ret = SDrawUtils::LaunchQueryDialogOkOnlyL(*prompt);
 
 	CleanupStack::PopAndDestroy(); // save_conf, prompt
 
 	return ret;
-}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::LaunchSendQueryL (
-    const TSendingCapabilities& aCaps,
-    TFileName& aFileName
-    ) const
-{
-    if (iSendAppUi)
-    {
-        CMessageData* msgData = CMessageData::NewLC();        
-        msgData->AppendAttachmentL(aFileName);       	
+EXPORT_C void CImageEditorUIView::LaunchSendQueryL(
+		const TSendingCapabilities& aCaps, TFileName& aFileName) const
+	{
+	if (iSendAppUi)
+		{
+		CMessageData* msgData = CMessageData::NewLC();
+		msgData->AppendAttachmentL(aFileName);
 
-        iSendAppUi->ShowQueryAndSendL (msgData, aCaps);
+		iSendAppUi->ShowQueryAndSendL(msgData, aCaps);
 
 		CleanupStack::PopAndDestroy(msgData);
-    }
-}
+		}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::LaunchSendQueryL (
-    const TSendingCapabilities& aCaps,
-    RFile& aFileHandle
-    ) const
-{
-    if (iSendAppUi)
-    {
-        CMessageData* msgData = CMessageData::NewLC();        
-        msgData->AppendAttachmentHandleL(aFileHandle);       	
+EXPORT_C void CImageEditorUIView::LaunchSendQueryL(
+		const TSendingCapabilities& aCaps, RFile& aFileHandle) const
+	{
+	if (iSendAppUi)
+		{
+		CMessageData* msgData = CMessageData::NewLC();
+		msgData->AppendAttachmentHandleL(aFileHandle);
 
-        iSendAppUi->ShowQueryAndSendL (msgData, aCaps);
+		iSendAppUi->ShowQueryAndSendL(msgData, aCaps);
 
 		CleanupStack::PopAndDestroy(msgData);
-    }
-}
-
+		}
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::LaunchSaveWaitDialogL(
-    CAknProgressDialog** 			aSelfPtr,
-	TInt							aFinalValue,
-    MProgressDialogCallback*		aCallback
-    ) const
-{
+		CAknProgressDialog** aSelfPtr, TInt aFinalValue,
+		MProgressDialogCallback* aCallback) const
+	{
 	//	Create dialog prompt
 	HBufC * prompt;
-		    
-    TApaAppCaption caption;
-    TRAPD( err, ResolveCaptionNameL( caption ) );
-    
-    // If something goes wrong, show basic "Saving" note
-    if ( err )
-        {
-        prompt = iEikonEnv->AllocReadResourceLC( R_WAIT_NOTE_SAVING );
-        }
-    else
-        {
-        prompt =  StringLoader::LoadLC( R_WAIT_NOTE_SAVING_TO, caption );
-        }        
-        
+
+	TApaAppCaption caption;
+	TRAPD( err, ResolveCaptionNameL( caption ) );
+
+	// If something goes wrong, show basic "Saving" note
+	if (err)
+		{
+		prompt = iEikonEnv->AllocReadResourceLC(R_WAIT_NOTE_SAVING);
+		}
+	else
+		{
+		prompt = StringLoader::LoadLC(R_WAIT_NOTE_SAVING_TO, caption);
+		}
+
 	//	Launch wait dialog with Cancel softkey
-	SDrawUtils::LaunchProgressNoteL (
-        aSelfPtr, 
-        R_PROGRESS_DIALOG, 
-        *prompt, 
-        aFinalValue, 
-        aCallback
-        );
+	SDrawUtils::LaunchProgressNoteL(aSelfPtr, R_PROGRESS_DIALOG, *prompt,
+			aFinalValue, aCallback);
 
 	CleanupStack::PopAndDestroy(); // prompt
-}
+	}
 
 //=============================================================================
-void CImageEditorUIView::ResolveCaptionNameL( TApaAppCaption& aCaption ) const
-    {   
-    RApaLsSession appArcSession;
-    CleanupClosePushL( appArcSession );
-    User::LeaveIfError( appArcSession.Connect() );       	    
-    
-    // Get Media Gallery caption
-    TApaAppInfo appInfo;
-    User::LeaveIfError( appArcSession.GetAppInfo( appInfo, TUid::Uid( KMediaGalleryUID3 ) ) );
-    
-    aCaption = appInfo.iCaption;
-    
-    CleanupStack::PopAndDestroy( &appArcSession );  
-    }
-    
+void CImageEditorUIView::ResolveCaptionNameL(TApaAppCaption& aCaption) const
+	{
+	RApaLsSession appArcSession;
+	CleanupClosePushL(appArcSession);
+	User::LeaveIfError(appArcSession.Connect());
+
+	// Get Media Gallery caption
+	TApaAppInfo appInfo;
+	User::LeaveIfError(appArcSession.GetAppInfo(appInfo, TUid::Uid(
+			KMediaGalleryUID3)));
+
+	aCaption = appInfo.iCaption;
+
+	CleanupStack::PopAndDestroy(&appArcSession);
+	}
+
 //=============================================================================
 EXPORT_C void CImageEditorUIView::LaunchLoadWaitDialogL(
-    CAknWaitDialog** 				aSelfPtr,
-    MProgressDialogCallback*		aCallback
-    ) const
-{
+		CAknWaitDialog** aSelfPtr, MProgressDialogCallback* aCallback) const
+	{
 	//	Create dialog prompt
-	HBufC * prompt = iEikonEnv->AllocReadResourceLC (R_WAIT_NOTE_LOADING);
+	HBufC * prompt = iEikonEnv->AllocReadResourceLC(R_WAIT_NOTE_LOADING);
 
 	//	Launch wait dialog with empty softkeys
-	SDrawUtils::LaunchWaitNoteL (
-        aSelfPtr, 
-        R_WAIT_DIALOG, 
-        *prompt, 
-        aCallback
-        );
+	SDrawUtils::LaunchWaitNoteL(aSelfPtr, R_WAIT_DIALOG, *prompt, aCallback);
 
 	CleanupStack::PopAndDestroy(); // prompt
-}
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::LaunchWaitDialog() const
-{   
-    // Show empty set of cba buttons while animation on the screen
-    SetCustomButtonsL ( R_AVKON_SOFTKEYS_EMPTY );
+	{
+	// Show empty set of cba buttons while animation on the screen
+	SetCustomButtonsL(R_AVKON_SOFTKEYS_EMPTY);
 	iContainer->ShowWaitNote();
-}
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::HideWaitDialog() const
-{
+	{
 	iContainer->HideWaitNote();
-}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::ShowInformationNoteL (const TDesC& aNoteText) const
-{
+EXPORT_C void CImageEditorUIView::ShowInformationNoteL(const TDesC& aNoteText) const
+	{
 
-    CAknGlobalNote * globalnote = CAknGlobalNote::NewLC();
-    globalnote->ShowNoteL (EAknGlobalInformationNote, aNoteText); 
+	CAknGlobalNote * globalnote = CAknGlobalNote::NewLC();
+	globalnote->ShowNoteL(EAknGlobalInformationNote, aNoteText);
 
-    CleanupStack::PopAndDestroy(); // globalnote
+	CleanupStack::PopAndDestroy(); // globalnote
 
-}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::ShowConfirmationNoteL (const TDesC& aNoteText) const
-{
+EXPORT_C void CImageEditorUIView::ShowConfirmationNoteL(const TDesC& aNoteText) const
+	{
 
-    CAknGlobalNote * globalnote = CAknGlobalNote::NewLC();
-    globalnote->ShowNoteL (EAknGlobalConfirmationNote, aNoteText); 
+	CAknGlobalNote * globalnote = CAknGlobalNote::NewLC();
+	globalnote->ShowNoteL(EAknGlobalConfirmationNote, aNoteText);
 
-    CleanupStack::PopAndDestroy(); // globalnote
+	CleanupStack::PopAndDestroy(); // globalnote
 
-}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetNaviPaneTextL (
-    const TDesC & aText,
-	TBool aLeftNaviPaneScrollButtonVisibile, 
-	TBool aRightNaviPaneScrollButtonVisible )
-    {
-    LOG(KImageEditorLogFile, "CImageEditorUIView: Setting navi pane text");
+EXPORT_C void CImageEditorUIView::SetNaviPaneTextL(const TDesC & aText,
+		TBool aLeftNaviPaneScrollButtonVisibile,
+		TBool aRightNaviPaneScrollButtonVisible)
+	{
+	LOG(KImageEditorLogFile, "CImageEditorUIView: Setting navi pane text");
+
+	if (iNaviPane)
+		{
+		//  Create a new decorator
+		CAknNavigationDecorator* newNaviDecorator =
+				iNaviPane->CreateNavigationLabelL(aText);
+		CleanupStack::PushL(newNaviDecorator);
 
-    if (iNaviPane )
-        {
-        //  Create a new decorator
-        CAknNavigationDecorator* newNaviDecorator = 
-                                    iNaviPane->CreateNavigationLabelL (aText);
-        CleanupStack::PushL (newNaviDecorator);
-  
-        // Set the navi scroll indicators for the new decorator
-        newNaviDecorator->SetScrollButtonDimmed( 
-                            CAknNavigationDecorator::ELeftButton, 
-                            !aLeftNaviPaneScrollButtonVisibile );
-        newNaviDecorator->SetScrollButtonDimmed( 
-                            CAknNavigationDecorator::ERightButton, 
-                            !aRightNaviPaneScrollButtonVisible );        
-        if ( aLeftNaviPaneScrollButtonVisibile || aRightNaviPaneScrollButtonVisible )
-            {
-            newNaviDecorator->MakeScrollButtonVisible( ETrue );
-            }
-        
-        // Set new decorator on top of Navi Pane's decorator stack 
-        // (topmost decorator is the one to show)
-        iNaviPane->PushL (*newNaviDecorator);
+		// Set the navi scroll indicators for the new decorator
+		newNaviDecorator->SetScrollButtonDimmed(
+				CAknNavigationDecorator::ELeftButton,
+				!aLeftNaviPaneScrollButtonVisibile);
+		newNaviDecorator->SetScrollButtonDimmed(
+				CAknNavigationDecorator::ERightButton,
+				!aRightNaviPaneScrollButtonVisible);
+		if (aLeftNaviPaneScrollButtonVisibile
+				|| aRightNaviPaneScrollButtonVisible)
+			{
+			newNaviDecorator->MakeScrollButtonVisible(ETrue);
+			}
+
+		// Set new decorator on top of Navi Pane's decorator stack 
+		// (topmost decorator is the one to show)
+		iNaviPane->PushL(*newNaviDecorator);
 
-        // remove old "previous decorator" from decorator stack and delete it
-        if ( iPreviousNaviDecorator )
-            {   
-            iNaviPane->Pop( iPreviousNaviDecorator );
-            delete iPreviousNaviDecorator;
-            iPreviousNaviDecorator = NULL;               
-            }
-        
-        // update decorator pointers to new ones    
-        iPreviousNaviDecorator = iNaviDecorator;
-        iNaviDecorator = newNaviDecorator;
-        
-        // set observer for the currently shown decorator
-        (iNaviPane->Top())->SetNaviDecoratorObserver( iContainer );
+		// remove old "previous decorator" from decorator stack and delete it
+		if (iPreviousNaviDecorator)
+			{
+			iNaviPane->Pop(iPreviousNaviDecorator);
+			delete iPreviousNaviDecorator;
+			iPreviousNaviDecorator = NULL;
+			}
 
-        CleanupStack::Pop (newNaviDecorator);  
-        }
+		// update decorator pointers to new ones    
+		iPreviousNaviDecorator = iNaviDecorator;
+		iNaviDecorator = newNaviDecorator;
 
-    }
+		// set observer for the currently shown decorator
+		(iNaviPane->Top())->SetNaviDecoratorObserver(iContainer);
+
+		CleanupStack::Pop(newNaviDecorator);
+		}
+
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::ClearNaviPaneTextL()
-{
-    LOG(KImageEditorLogFile, "CImageEditorUIView: Clearing navi pane text");
-    if (iNaviPane)
-    {
-        if (iNaviDecorator)
-        {
-            iNaviPane->Pop (iNaviDecorator);
-            delete iNaviDecorator;
-            iNaviDecorator = 0;
-        }
-        
-        if (iPreviousNaviDecorator)
-        {
-            iNaviPane->Pop (iPreviousNaviDecorator);
-            delete iPreviousNaviDecorator;
-            iPreviousNaviDecorator = 0;
-        }
-	    HBufC * title = iEikonEnv->AllocReadResourceLC (R_MAIN_VIEW_TITLE);
-        iNaviDecorator = iNaviPane->CreateNavigationLabelL ( title->Des() );
-        iPreviousNaviDecorator = iNaviPane->CreateNavigationLabelL ( title->Des() );
-                
-        iNaviPane->PushL (*iPreviousNaviDecorator); 
-        iNaviPane->PushL (*iNaviDecorator);
-        iNaviPane->DrawDeferred();
-        iNaviDecorator->DrawDeferred();
-        CleanupStack::PopAndDestroy(); // title
-    }
-}
+	{
+	LOG(KImageEditorLogFile, "CImageEditorUIView: Clearing navi pane text");
+	if (iNaviPane)
+		{
+		if (iNaviDecorator)
+			{
+			iNaviPane->Pop(iNaviDecorator);
+			delete iNaviDecorator;
+			iNaviDecorator = 0;
+			}
+
+		if (iPreviousNaviDecorator)
+			{
+			iNaviPane->Pop(iPreviousNaviDecorator);
+			delete iPreviousNaviDecorator;
+			iPreviousNaviDecorator = 0;
+			}
+		HBufC * title = iEikonEnv->AllocReadResourceLC(R_MAIN_VIEW_TITLE);
+		iNaviDecorator = iNaviPane->CreateNavigationLabelL(title->Des());
+		iPreviousNaviDecorator
+				= iNaviPane->CreateNavigationLabelL(title->Des());
+
+		iNaviPane->PushL(*iPreviousNaviDecorator);
+		iNaviPane->PushL(*iNaviDecorator);
+		iNaviPane->DrawDeferred();
+		iNaviDecorator->DrawDeferred();
+		CleanupStack::PopAndDestroy(); // title
+		}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetTitlePaneTextL (const TDesC & aText)
-{
-    iTitlePane->SetTextL (aText);
-}
+EXPORT_C void CImageEditorUIView::SetTitlePaneTextL(const TDesC & aText)
+	{
+	iTitlePane->SetTextL(aText);
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::ClearTitlePaneTextL()
-{
-    iTitlePane->SetTextL ( KNullDesC );
-}
+	{
+	iTitlePane->SetTextL(KNullDesC);
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetSoftKey1L (
-	const TDesC &	aText,
-	const TInt		aCommand
-	)
-{
-    CEikButtonGroupContainer * cba = Cba();
-   // TInt replace_position = cba->PositionById (iSoftkey1);
-    TInt replace_position( CEikButtonGroupContainer::ELeftSoftkeyPosition );
-    cba->SetCommandL (replace_position, aCommand, aText);
-    cba->DrawDeferred();
-    iSoftkey1 = aCommand;
-}
+EXPORT_C void CImageEditorUIView::SetSoftKey1L(const TDesC & aText,
+		const TInt aCommand)
+	{
+	CEikButtonGroupContainer * cba = Cba();
+	// TInt replace_position = cba->PositionById (iSoftkey1);
+	TInt replace_position(CEikButtonGroupContainer::ELeftSoftkeyPosition);
+	cba->SetCommandL(replace_position, aCommand, aText);
+	cba->DrawDeferred();
+	iSoftkey1 = aCommand;
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetSoftKey2L (
-	const TDesC &	aText,
-	const TInt		aCommand
-	)
-{
-    CEikButtonGroupContainer * cba = Cba();
-    //TInt replace_position = cba->PositionById (iSoftkey2); 
-    TInt replace_position( CEikButtonGroupContainer::ERightSoftkeyPosition );
-    cba->SetCommandL (replace_position, aCommand, aText);
-    cba->DrawDeferred();
-    iSoftkey2 = aCommand;
-}
+EXPORT_C void CImageEditorUIView::SetSoftKey2L(const TDesC & aText,
+		const TInt aCommand)
+	{
+	CEikButtonGroupContainer * cba = Cba();
+	//TInt replace_position = cba->PositionById (iSoftkey2); 
+	TInt replace_position(CEikButtonGroupContainer::ERightSoftkeyPosition);
+	cba->SetCommandL(replace_position, aCommand, aText);
+	cba->DrawDeferred();
+	iSoftkey2 = aCommand;
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetMiddleSoftKeyL (
-	const TDesC &	aText,
-	const TInt		aCommand
-	)
-{
-    CEikButtonGroupContainer * cba = Cba();
-    
-    if ( aCommand == EAknSoftkeyContextOptions )
-        {
-        TInt contextMenuId = 
-            ((CImageEditorControlBase *)iControl)->GetContextMenuResourceId();  
-        if ( contextMenuId )
-            {
-            MenuBar()->SetContextMenuTitleResourceId( contextMenuId );
-            }
-        }
-        
-    TInt replace_position( CEikButtonGroupContainer::EMiddleSoftkeyPosition );
-    cba->SetCommandL ( replace_position, aCommand, aText );
-    cba->DrawDeferred();
-    iMSK = aCommand;
-}
+EXPORT_C void CImageEditorUIView::SetMiddleSoftKeyL(const TDesC & aText,
+		const TInt aCommand)
+	{
+	CEikButtonGroupContainer * cba = Cba();
+
+	if (aCommand == EAknSoftkeyContextOptions)
+		{
+		TInt
+				contextMenuId =
+						((CImageEditorControlBase *) iControl)->GetContextMenuResourceId();
+		if (contextMenuId)
+			{
+		//if in doodle don't show select dialog.
+			if (contextMenuId != R_TEXT_CONTEXT_MENUBAR)
+				{
+				MenuBar()->SetContextMenuTitleResourceId(contextMenuId);
+				}
+			}
+		}
+
+	TInt replace_position(CEikButtonGroupContainer::EMiddleSoftkeyPosition);
+	cba->SetCommandL(replace_position, aCommand, aText);
+	cba->DrawDeferred();
+	iMSK = aCommand;
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::SetBusy()
-{
-    
+	{
+
 	if (iContainer)
-	{
+		{
 		iContainer->SetBusy();
+		}
+
+	iBusy = ETrue;
+	RemoveContainerFromStack();
+
 	}
-	
-	iBusy = ETrue;
-	RemoveContainerFromStack();	
-
-}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::ResetBusy()
-{
+	{
 
 	AddContainerToStack();
 	iBusy = EFalse;
-    
-    if (iContainer)
-	{
+
+	if (iContainer)
+		{
 		iContainer->ResetBusy();
+		}
 	}
-}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetUndoFlag (const TBool aUndo)
-{
-    iCanUndo = aUndo;
-}
+EXPORT_C void CImageEditorUIView::SetUndoFlag(const TBool aUndo)
+	{
+	iCanUndo = aUndo;
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetSaveFlag (const TBool aSave)
-{
-    iCanSave = aSave;
-}
+EXPORT_C void CImageEditorUIView::SetSaveFlag(const TBool aSave)
+	{
+	iCanSave = aSave;
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::SetFullScreen()
-{
-    if (iContainer)
-    {
-        iContainer->SetFullScreen();
-    }
-    iFullScreen = ETrue;
-}
+	{
+	if (iContainer)
+		{
+		iContainer->SetFullScreen();
+		}
+	iFullScreen = ETrue;
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::ResetFullScreen()
-{
-    if (iContainer)
-    {
-        iContainer->ResetFullScreen();
-    }
-    iFullScreen = EFalse;
-}
+	{
+	if (iContainer)
+		{
+		iContainer->ResetFullScreen();
+		}
+	iFullScreen = EFalse;
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::SetZoomModeL ( const TZoomMode& aMode )
-{
+EXPORT_C void CImageEditorUIView::SetZoomModeL(const TZoomMode& aMode)
+	{
 	iZoomMode = aMode;
-	
+
 	HandleZoomModeChangeL();
-	
-}
+	}
 
 //=============================================================================
 void CImageEditorUIView::HandleZoomModeChangeL()
-    {
-    
-    if ( !iInPlugin && iZoomMode != EZoomNormal )
-	    {
-	    if ( iZoomMode != ( ENumOfZooms - 1 ) )
-	        {
-	        SetCustomButtonsL( R_IMAGEEDITORUI_SK_OPTIONS_CANCEL_ZOOMIN );
-	        }
-	    else
-	        {
-	        SetCustomButtonsL( R_IMAGEEDITORUI_SK_OPTIONS_CANCEL );
-	        }	    
-	    }
-	else if ( !iInPlugin && iZoomMode == EZoomNormal )
-	    {
+	{
 
-	    SetCustomButtonsL( R_IMAGEEDITORUI_SK_OPTIONS_BACK_APPLY );
-	    }
-	
+	if (!iInPlugin && iZoomMode != EZoomNormal)
+		{
+		if (iZoomMode != (ENumOfZooms - 1))
+			{
+			SetCustomButtonsL(R_IMAGEEDITORUI_SK_OPTIONS_CANCEL_ZOOMIN);
+			}
+		else
+			{
+			SetCustomButtonsL(R_IMAGEEDITORUI_SK_OPTIONS_CANCEL);
+			}
+		}
+	else if (!iInPlugin && iZoomMode == EZoomNormal)
+		{
+
+		SetCustomButtonsL(R_IMAGEEDITORUI_SK_OPTIONS_BACK_APPLY);
+		}
+
 	// hide previous tooltip
 	iPopupController->HideInfoPopupNote();
-    
-    // show tooltip (also if in plugin)
-    if ( iZoomMode != EZoomNormal )
-        {
-                
-        SDrawUtils::ShowToolTip ( iPopupController,
-                                  ( CCoeControl* )iContainer, 
-                                  TPoint( iContainer->Rect().iTl.iX,
-                                          iContainer->Rect().iTl.iY ),
-                                  EHRightVTop,
-                                  iZoomTexts->MdcaPoint( iZoomMode ) ); 
-        }
-    
-    }
+
+	// show tooltip (also if in plugin)
+	if (iZoomMode != EZoomNormal)
+		{
+
+		SDrawUtils::ShowToolTip(iPopupController, (CCoeControl*) iContainer,
+				TPoint(iContainer->Rect().iTl.iX, iContainer->Rect().iTl.iY),
+				EHRightVTop, iZoomTexts->MdcaPoint(iZoomMode));
+		}
+
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::DynInitMenuPaneL (
-	TInt			aResourceId,
-	CEikMenuPane *	aMenuPane
-	)
-    {
-    // This is called by the framework, aMenuPane should never be null pointer...
-    __ASSERT_ALWAYS( aMenuPane, User::Panic(KComponentName, EImageEditorPanicMenuNotAccessible) );
+EXPORT_C void CImageEditorUIView::DynInitMenuPaneL(TInt aResourceId,
+		CEikMenuPane * aMenuPane)
+	{
+	// This is called by the framework, aMenuPane should never be null pointer...
+	__ASSERT_ALWAYS( aMenuPane, User::Panic(KComponentName, EImageEditorPanicMenuNotAccessible) );
 
 #ifdef AIW_PRINT_PROVIDER_USED
-    if ( iServiceHandler->HandleSubmenuL( *aMenuPane ) )
-        {
-        // Return if AIW submenu 
-        return;    
-        }
+	if (iServiceHandler->HandleSubmenuL(*aMenuPane))
+		{
+		// Return if AIW submenu 
+		return;
+		}
 #endif    
-        
-	if ( aResourceId != R_IMAGEEDITORUI_MENUPANE )
-	    {
-        return;
-        }    
+
+	if (aResourceId != R_IMAGEEDITORUI_MENUPANE)
+		{
+		return;
+		}
 
-    // In busy mode
-    if ( iBusy )  
-        {
-        DimAllL ( aResourceId, *aMenuPane );
-        }
-    // In idle mode
-    else
-        {
-        //  In plug-in mode
-        if ( iInPlugin )
-            {
-            DimAllL ( aResourceId, *aMenuPane );
-            InsertPluginItemsL ( *aMenuPane );
-            
+	// In busy mode
+	if (iBusy)
+		{
+		DimAllL(aResourceId, *aMenuPane);
+		}
+	// In idle mode
+	else
+		{
+		//  In plug-in mode
+		if (iInPlugin)
+			{
+			DimAllL(aResourceId, *aMenuPane);
+			InsertPluginItemsL(*aMenuPane);
+
 #ifdef FULLSCREEN_AVAILABLE            
-            // After plugin specific items, add menu commands that are common
-            // for all plugins' options menus
-            // In normal screen mode
-            if ( !iFullScreen )
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdFullScreen, EFalse );
-                }
+			// After plugin specific items, add menu commands that are common
+			// for all plugins' options menus
+			// In normal screen mode
+			if ( !iFullScreen )
+				{
+				aMenuPane->SetItemDimmed( EImageEditorMenuCmdFullScreen, EFalse );
+				}
 
-            // In full screen mode
-            else
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdNormalScreen, EFalse );
-                }
+			// In full screen mode
+
+			else
+				{
+				aMenuPane->SetItemDimmed( EImageEditorMenuCmdNormalScreen, EFalse );
+				}
 #endif // FULLSCREEN_AVAILABLE        
-   
-            aMenuPane->SetItemDimmed ( EImageEditorMenuCmdHelp, EFalse );
-            aMenuPane->SetItemDimmed ( EImageEditorMenuCmdExit, EFalse );    
-            }
-        else if ( InZoomingState() )
-            {
-            aMenuPane->SetItemDimmed( EImageEditorMenuCmdUndo, ETrue );
+			aMenuPane->SetItemDimmed(EImageEditorMenuCmdHelp, EFalse);
+			aMenuPane->SetItemDimmed(EImageEditorMenuCmdExit, EFalse);
+			}
+		else if (InZoomingState())
+			{
+			aMenuPane->SetItemDimmed(EImageEditorMenuCmdUndo, ETrue);
 #ifdef FULLSCREEN_AVAILABLE
-            aMenuPane->SetItemDimmed( EImageEditorMenuCmdFullScreen, ETrue );
-            aMenuPane->SetItemDimmed( EImageEditorMenuCmdNormalScreen, ETrue );
+			aMenuPane->SetItemDimmed( EImageEditorMenuCmdFullScreen, ETrue );
+			aMenuPane->SetItemDimmed( EImageEditorMenuCmdNormalScreen, ETrue );
 #endif // FULLSCREEN_AVAILABLE  
-            
-            if ( !iCanSave || IsMemoryInCriticalLevel() )
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdSave, ETrue );
-                }      
-            
-            TInt position;
-            if ( aMenuPane->MenuItemExists( EImageEditorMenuCmdSend, 
-                                            position ) )
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdSend, ETrue );
-                }                           
-            if ( aMenuPane->MenuItemExists( EImageEditorAiwCriteriaPrint, 
-                                            position ) )
-                {
-                aMenuPane->SetItemDimmed( EImageEditorAiwCriteriaPrint, ETrue );
-                }    
-            
-            if ( iZoomMode == EZoomIn3 )
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdZoomIn, ETrue );
-                }
-            // Set "Apply Effect" item to be after "Zoom Out" in zooming 
-            // state's options menu
-            if ( aMenuPane->MenuItemExists( EImageEditorMenuCmdApplyEffect, 
-                                            position ) )
-                {
-                CEikMenuPaneItem::SData data = 
-                        aMenuPane->ItemData( EImageEditorMenuCmdApplyEffect );
-                aMenuPane->DeleteMenuItem( EImageEditorMenuCmdApplyEffect );
-                aMenuPane->AddMenuItemL( data, EImageEditorMenuCmdZoomOut );
-                }
-            }
-        //  In main view mode
-        else
-            {
+			if (!iCanSave || IsMemoryInCriticalLevel())
+				{
+				aMenuPane->SetItemDimmed(EImageEditorMenuCmdSave, ETrue);
+				}
+
+			TInt position;
+			if (aMenuPane->MenuItemExists(EImageEditorMenuCmdSend, position))
+				{
+				aMenuPane->SetItemDimmed(EImageEditorMenuCmdSend, ETrue);
+				}
+			if (aMenuPane->MenuItemExists(EImageEditorAiwCriteriaPrint,position))
+				{
+				aMenuPane->SetItemDimmed(EImageEditorAiwCriteriaPrint, ETrue);
+				}
+
+			if (iZoomMode == EZoomIn3)
+				{
+				aMenuPane->SetItemDimmed(EImageEditorMenuCmdZoomIn, ETrue);
+				}
+			// Set "Apply Effect" item to be after "Zoom Out" in zooming 
+			// state's options menu
+			if (aMenuPane->MenuItemExists(EImageEditorMenuCmdApplyEffect,position))
+				{
+				CEikMenuPaneItem::SData data = aMenuPane->ItemData(
+						EImageEditorMenuCmdApplyEffect);
+				aMenuPane->DeleteMenuItem(EImageEditorMenuCmdApplyEffect);
+				aMenuPane->AddMenuItemL(data, EImageEditorMenuCmdZoomOut);
+				}
+			}
+		//  In main view mode
+		else
+			{
 
 #ifdef AIW_PRINT_PROVIDER_USED
-    
+
 #else
-            aMenuPane->SetItemDimmed( EImageEditorAiwCriteriaPrint, ETrue );
+			aMenuPane->SetItemDimmed( EImageEditorAiwCriteriaPrint, ETrue );
 #endif   
 
-            //  Display CSendUi menu item
-            if ( iSendAppUi )
-                {
-         		iSendAppUi->AddSendMenuItemL( 
-         			*aMenuPane,
-         			SIE_SENDUI_MENU_ITEM_INDEX,
-         			EImageEditorMenuCmdSend,
-         			TSendingCapabilities (0, 0, TSendingCapabilities::ESupportsAttachments) );
-                }
+			//  Display CSendUi menu item
+			if (iSendAppUi)
+				{
+				iSendAppUi->AddSendMenuItemL(*aMenuPane,
+						SIE_SENDUI_MENU_ITEM_INDEX, EImageEditorMenuCmdSend,
+						TSendingCapabilities(0, 0,
+								TSendingCapabilities::ESupportsAttachments));
+				}
 
-            //  Nothing to undo
-            if ( !iCanUndo )
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdUndo, ETrue );
-                }
+			//  Nothing to undo
+			if (!iCanUndo)
+				{
+				aMenuPane->SetItemDimmed(EImageEditorMenuCmdUndo, ETrue);
+				}
 #ifdef FULLSCREEN_AVAILABLE
-            // In full screen mode
-            if ( iFullScreen )
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdFullScreen, ETrue );
-                }
+			// In full screen mode
+			if ( iFullScreen )
+				{
+				aMenuPane->SetItemDimmed( EImageEditorMenuCmdFullScreen, ETrue );
+				}
 
-            // In normal screen mode
-            else
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdNormalScreen, ETrue );
-                }
+			// In normal screen mode
+
+			else
+				{
+				aMenuPane->SetItemDimmed( EImageEditorMenuCmdNormalScreen, ETrue );
+				}
 #endif // FULLSCREEN_AVAILABLE
-            if ( !iCanSave || IsMemoryInCriticalLevel() )
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdSave, ETrue );
-                }
-                
-            if ( iZoomMode == EZoomNormal )
-                {
-                aMenuPane->SetItemDimmed( EImageEditorMenuCmdZoomOut, ETrue );
-		        aMenuPane->SetItemDimmed( EImageEditorMenuCmdFitToScreen, ETrue );
-                }
-			    
+			if (!iCanSave || IsMemoryInCriticalLevel())
+				{
+				aMenuPane->SetItemDimmed(EImageEditorMenuCmdSave, ETrue);
+				}
+
+			if (iZoomMode == EZoomNormal)
+				{
+				aMenuPane->SetItemDimmed(EImageEditorMenuCmdZoomOut, ETrue);
+				aMenuPane->SetItemDimmed(EImageEditorMenuCmdFitToScreen, ETrue);
+				}
+
 #ifdef AIW_PRINT_PROVIDER_USED
-            if ( iServiceHandler->IsAiwMenu( aResourceId ) )
-    		    {
-                CAiwGenericParamList& in = iServiceHandler->InParamListL();
-    	
-    		    TFileName filename( iImageFileName );
-    		    TAiwVariant variant( filename );
-    		    TAiwGenericParam param( EGenericParamFile, variant );
-                
-    		    in.AppendL( param );	
+			if (iServiceHandler->IsAiwMenu(aResourceId))
+				{
+				CAiwGenericParamList& in = iServiceHandler->InParamListL();
 
-    		    iServiceHandler->InitializeMenuPaneL( *aMenuPane, 
-    		                                          aResourceId, 
-    		                                          EImageEditorMenuAiwPrintBase, 
-    		                                          in);
-    		    }  
+				TFileName filename(iImageFileName);
+				TAiwVariant variant(filename);
+				TAiwGenericParam param(EGenericParamFile, variant);
+
+				in.AppendL(param);
+
+				iServiceHandler->InitializeMenuPaneL(*aMenuPane, aResourceId,
+						EImageEditorMenuAiwPrintBase, in);
+				}
 #endif
 
-            }
-        }
-    }
+			}
+		}
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::SetSendAppUi(CSendUi* aSendAppUi)
-    {
-    iSendAppUi = aSendAppUi;
-    }
-
+	{
+	iSendAppUi = aSendAppUi;
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::HandleStatusPaneSizeChange()
-{
-
-}
-
-//=============================================================================
-void CImageEditorUIView::DimAllL (
-	TInt			/*aResourceId*/,
-	CEikMenuPane &	aMenuPane
-	) const
-{
-	LOG(KImageEditorLogFile, "CImageEditorUIView::DimAllL");
+	{
 
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdApplyEffect, ETrue);
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdExit, ETrue);
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdUndo, ETrue);
-#ifdef FULLSCREEN_AVAILABLE    
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdFullScreen, ETrue);
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdNormalScreen, ETrue);
-#endif // FULLSCREEN_AVAILABLE    
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdZoomIn, ETrue);
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdZoomOut, ETrue);
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdSave, ETrue);
-    aMenuPane.SetItemDimmed (EImageEditorAiwCriteriaPrint, ETrue);
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdHelp, ETrue);
-    aMenuPane.SetItemDimmed (EImageEditorMenuCmdFitToScreen, ETrue);    
-}
+	}
 
 //=============================================================================
-void CImageEditorUIView::UpdateSoftkeysL ()
-{
-    __ASSERT_ALWAYS( iControl, User::Panic(KComponentName, EImageEditorPanicControlIsNull) );
+void CImageEditorUIView::DimAllL(TInt /*aResourceId*/, CEikMenuPane & aMenuPane) const
+	{
+	LOG(KImageEditorLogFile, "CImageEditorUIView::DimAllL");
 
-    //  Get plug-in info
-    CPluginInfo * pgn_info = iArray[iIndex];
-
-    //  Get soft key pair index 
-    TInt sk_index = ((CImageEditorControlBase *)iControl)->GetSoftkeyIndexL();
+	aMenuPane.SetItemDimmed(EImageEditorMenuCmdApplyEffect, ETrue);
+	aMenuPane.SetItemDimmed(EImageEditorMenuCmdExit, ETrue);
+	aMenuPane.SetItemDimmed(EImageEditorMenuCmdUndo, ETrue);
+#ifdef FULLSCREEN_AVAILABLE    
+	aMenuPane.SetItemDimmed (EImageEditorMenuCmdFullScreen, ETrue);
+	aMenuPane.SetItemDimmed (EImageEditorMenuCmdNormalScreen, ETrue);
+#endif // FULLSCREEN_AVAILABLE    
+	aMenuPane.SetItemDimmed(EImageEditorMenuCmdZoomIn, ETrue);
+	aMenuPane.SetItemDimmed(EImageEditorMenuCmdZoomOut, ETrue);
+	aMenuPane.SetItemDimmed(EImageEditorMenuCmdSave, ETrue);
+	aMenuPane.SetItemDimmed(EImageEditorAiwCriteriaPrint, ETrue);
+	aMenuPane.SetItemDimmed(EImageEditorMenuCmdHelp, ETrue);
+	aMenuPane.SetItemDimmed(EImageEditorMenuCmdFitToScreen, ETrue);
+	}
 
-    //  Set soft key 1
-    SetSoftKey1L ( 
-        pgn_info->Sk1Texts()[sk_index], 
-        pgn_info->Sk1Cmds()[sk_index] 
-        );
+//=============================================================================
+void CImageEditorUIView::UpdateSoftkeysL()
+	{
+	__ASSERT_ALWAYS( iControl, User::Panic(KComponentName, EImageEditorPanicControlIsNull) );
+
+	//  Get plug-in info
+	CPluginInfo * pgn_info = iArray[iIndex];
+
+	//  Get soft key pair index 
+	TInt sk_index = ((CImageEditorControlBase *) iControl)->GetSoftkeyIndexL();
 
-    //  Set soft key 2
-    SetSoftKey2L ( 
-        pgn_info->Sk2Texts()[sk_index], 
-        pgn_info->Sk2Cmds()[sk_index] 
-        );
-        
-    //  Set middle soft key
-    SetMiddleSoftKeyL ( 
-        pgn_info->MSKTexts()[sk_index], 
-        pgn_info->MSKCmds()[sk_index] 
-        );    
-}
+	//  Set soft key 1
+	SetSoftKey1L(pgn_info->Sk1Texts()[sk_index], pgn_info->Sk1Cmds()[sk_index]);
+
+	//  Set soft key 2
+	SetSoftKey2L(pgn_info->Sk2Texts()[sk_index], pgn_info->Sk2Cmds()[sk_index]);
+
+	//  Set middle soft key
+	SetMiddleSoftKeyL(pgn_info->MSKTexts()[sk_index],
+			pgn_info->MSKCmds()[sk_index]);
+	}
 
 //=============================================================================
 void CImageEditorUIView::UpdateNaviPaneL()
-{
-    __ASSERT_ALWAYS( iControl, User::Panic(KComponentName, EImageEditorPanicControlIsNull) );
+	{
+	__ASSERT_ALWAYS( iControl, User::Panic(KComponentName, EImageEditorPanicControlIsNull) );
 
-    TBool leftNaviPaneScrollButtonVisibile;
-    TBool rightNaviPaneScrollButtonVisible;
-    TPtrC naviText =  ((CImageEditorControlBase *)iControl)->GetNaviPaneTextL(
-        leftNaviPaneScrollButtonVisibile,
-        rightNaviPaneScrollButtonVisible );
+	TBool leftNaviPaneScrollButtonVisibile;
+	TBool rightNaviPaneScrollButtonVisible;
+	TPtrC naviText = ((CImageEditorControlBase *) iControl)->GetNaviPaneTextL(
+			leftNaviPaneScrollButtonVisibile, rightNaviPaneScrollButtonVisible);
 
-    SetNaviPaneTextL ( 
-        naviText,
-        leftNaviPaneScrollButtonVisibile,
-        rightNaviPaneScrollButtonVisible );
-}
+	SetNaviPaneTextL(naviText, leftNaviPaneScrollButtonVisibile,
+			rightNaviPaneScrollButtonVisible);
+	}
 
 //=============================================================================
-void CImageEditorUIView::InsertPluginItemsL (CEikMenuPane &	aMenuPane)
-{
-    __ASSERT_ALWAYS( iControl, User::Panic(KComponentName, EImageEditorPanicControlIsNull) );
+void CImageEditorUIView::InsertPluginItemsL(CEikMenuPane & aMenuPane)
+	{
+	__ASSERT_ALWAYS( iControl, User::Panic(KComponentName, EImageEditorPanicControlIsNull) );
 
-    // Insert the plug-in commands
-    CMenuItemArray & menu_items = iArray[iIndex]->MenuItems();
-    TBitField dimmed = ((CImageEditorControlBase *)iControl)->GetDimmedMenuItems();
-    for (TInt i = 0; i < menu_items.Count(); ++i)
-    {
-        // Check the visibility for each menu item.
-        if ( ! dimmed.GetBit(i) )
-        {
-            aMenuPane.InsertMenuItemL ( menu_items[i], i );
-        }
-    }
-}
+	// Insert the plug-in commands
+	CMenuItemArray & menu_items = iArray[iIndex]->MenuItems();
+	TBitField dimmed =
+			((CImageEditorControlBase *) iControl)->GetDimmedMenuItems();
+	for (TInt i = 0; i < menu_items.Count(); ++i)
+		{
+		// Check the visibility for each menu item.
+		if (!dimmed.GetBit(i))
+			{
+			aMenuPane.InsertMenuItemL(menu_items[i], i);
+			}
+		}
+	}
 
 //=============================================================================
-TBool CImageEditorUIView::MenuItemPressedL (TInt aCommand)
-{ 
-    CMenuItemArray & menu_items = iArray[iIndex]->MenuItems();
-    for (TInt i = 0; i < menu_items.Count(); ++i)
-    {
-        if ( menu_items[i].iCommandId == aCommand )
-        {
-            return ETrue;
-        }
-    }
-    return EFalse;
-}
+TBool CImageEditorUIView::MenuItemPressedL(TInt aCommand)
+	{
+	CMenuItemArray & menu_items = iArray[iIndex]->MenuItems();
+	for (TInt i = 0; i < menu_items.Count(); ++i)
+		{
+		if (menu_items[i].iCommandId == aCommand)
+			{
+			return ETrue;
+			}
+		}
+	return EFalse;
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::DoActivateL (
-   const TVwsViewId &		/*aPrevViewId*/,
-   TUid						/*aCustomMessageId*/,
-   const TDesC8 &			/*aCustomMessage*/
-   )
-{
-    LOG(KImageEditorLogFile, "CImageEditorUIView: Activating view");
-    //  Construct container
-    iContainer = new (ELeave) CImageEditorUIContainer;
-    iContainer->SetMopParent (this);
-    iContainer->ConstructL ( ClientRect() );
-	iContainer->SetView (this);
-    HandleCommandL (EImageEditorCmdViewReady);
-  
-}
+EXPORT_C void CImageEditorUIView::DoActivateL(
+		const TVwsViewId & /*aPrevViewId*/, TUid /*aCustomMessageId*/,
+		const TDesC8 & /*aCustomMessage*/
+)
+	{
+	LOG(KImageEditorLogFile, "CImageEditorUIView: Activating view");
+	//  Construct container
+	iContainer = new (ELeave) CImageEditorUIContainer;
+	iContainer->SetMopParent(this);
+	iContainer->ConstructL(ClientRect());
+	iContainer->SetView(this);
+	HandleCommandL(EImageEditorCmdViewReady);
 
+	}
 
 //=============================================================================
 EXPORT_C void CImageEditorUIView::DoDeactivate()
-{
-    LOG(KImageEditorLogFile, "CImageEditorUIView: Deactivating view");
-    
-    RemoveContainerFromStack();
-    
-    if ( iContainer )
 	{
+	LOG(KImageEditorLogFile, "CImageEditorUIView: Deactivating view");
+
+	RemoveContainerFromStack();
+
+	if (iContainer)
+		{
 		delete iContainer;
 		iContainer = 0;
-    }
-}
+		}
+	}
 
 //=============================================================================
 void CImageEditorUIView::AddContainerToStack()
-{
+	{
 	if (!iContainerInStack && iContainer)
-	{
+		{
 		TRAPD(err, AppUi()->AddToViewStackL (*this, iContainer); );
 		if (err == KErrNone)
-		{
-			iContainerInStack = ETrue;		
+			{
+			iContainerInStack = ETrue;
+			}
 		}
-	}	
-}
-
-
+	}
 
 //=============================================================================
 void CImageEditorUIView::RemoveContainerFromStack()
-{
+	{
 	if (iContainerInStack)
-	{
-		AppUi()->RemoveFromViewStack (*this, iContainer);	
-		iContainerInStack = EFalse;	
-	}	
-}
+		{
+		AppUi()->RemoveFromViewStack(*this, iContainer);
+		iContainerInStack = EFalse;
+		}
+	}
 
 //=============================================================================
 EXPORT_C TBool CImageEditorUIView::InZoomingState()
-    {
-    if ( iZoomMode == EZoomIn1 || 
-         iZoomMode == EZoomIn2 ||
-         iZoomMode == EZoomIn3 )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
+	{
+	if (iZoomMode == EZoomIn1 || iZoomMode == EZoomIn2 || iZoomMode == EZoomIn3)
+		{
+		return ETrue;
+		}
+	else
+		{
+		return EFalse;
+		}
+	}
 
 //=============================================================================
-EXPORT_C TInt CImageEditorUIView::LaunchSaveImageQueryL () const
-{
-
+EXPORT_C TInt CImageEditorUIView::LaunchSaveImageQueryL() const
+	{
 	//	Create dialog heading and options
-    HBufC * heading = CEikonEnv::Static()->AllocReadResourceLC (R_SIE_LIST_QUERY_HEADING_SAVE);
-    HBufC * option1 = CEikonEnv::Static()->AllocReadResourceLC (R_SIE_LIST_QUERY_SAVE_NEW); 
-    HBufC * option2 = CEikonEnv::Static()->AllocReadResourceLC (R_SIE_LIST_QUERY_SAVE_REPLACE);       
-                
+	HBufC * heading = CEikonEnv::Static()->AllocReadResourceLC(
+			R_SIE_LIST_QUERY_HEADING_SAVE);
+	HBufC * option1 = CEikonEnv::Static()->AllocReadResourceLC(
+			R_SIE_LIST_QUERY_SAVE_NEW);
+	HBufC * option2 = CEikonEnv::Static()->AllocReadResourceLC(
+			R_SIE_LIST_QUERY_SAVE_REPLACE);
+
 	//	Query dialog texts
-	CDesCArray * options = new (ELeave) CDesCArraySeg (2);
-	CleanupStack::PushL (options);
-	options->AppendL( option1->Des() );
-	options->AppendL( option2->Des() );
+	CDesCArray * options = new (ELeave) CDesCArraySeg(2);
+	CleanupStack::PushL(options);
+	options->AppendL(option1->Des());
+	options->AppendL(option2->Des());
 
 	//	Execute query dialog
-	TInt ret = SDrawUtils::LaunchListQueryDialogL (options, *heading);
+	TInt ret = SDrawUtils::LaunchListQueryDialogL(options, *heading);
 
 	options->Reset();
-	
+
 	CleanupStack::PopAndDestroy(4); //options, option2, option1, heading
-	
+
 	return ret;
-}
+	}
 
 //=============================================================================
-EXPORT_C void CImageEditorUIView::GetTouchPanDirections( TInt& xMovement, 
-                                                         TInt& yMovement )
-    {
+EXPORT_C void CImageEditorUIView::GetTouchPanDirections(TInt& xMovement,
+		TInt& yMovement)
+	{
 
-    xMovement = 0;
-    yMovement = 0;
-    iContainer->GetDragDirections( xMovement, yMovement );
-    }
-    
+	xMovement = 0;
+	yMovement = 0;
+	iContainer->GetDragDirections(xMovement, yMovement);
+	}
+
 EXPORT_C TBool CImageEditorUIView::IsMemoryInCriticalLevel()
 	{
 	TEntry entry;
-	RFs & fs = iEikonEnv->FsSession(); 
-	fs.Entry( iImageFileName, entry );
+	RFs & fs = iEikonEnv->FsSession();
+	fs.Entry(iImageFileName, entry);
 	TFileName driveAndPath;
-	driveAndPath.Copy( PathInfo::PhoneMemoryRootPath() );
-	driveAndPath.Append( PathInfo::ImagesPath() );
-	return !ImageEditorUtils::ImageFitsToDriveL( fs, iImageFileName, driveAndPath);
+	driveAndPath.Copy(PathInfo::PhoneMemoryRootPath());
+	driveAndPath.Append(PathInfo::ImagesPath());
+	return !ImageEditorUtils::ImageFitsToDriveL(fs, iImageFileName,
+			driveAndPath);
 	}
 
 // End of File