diff -r edfc90759b9f -r 18b321db4884 imageeditor/ImageEditorUI/src/ImageEditorUIView.cpp --- 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 #include #include - #include #include #include @@ -36,36 +32,30 @@ #include #include #include - #include #include #include #include #include - #include #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 #include #include #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 order (CPluginInfo::ComparePluginOrder); - iArray.InsertInOrder (aPluginInfo, order); -} +EXPORT_C void CImageEditorUIView::AddPluginUiItemL( + const CPluginInfo * aPluginInfo) + { + TLinearOrder 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