imageeditor/imageeditorApp/src/ImageEditorAppUi.cpp
author qifeima <>
Thu, 03 Jun 2010 18:57:10 +0800
changeset 8 18b321db4884
parent 1 edfc90759b9f
permissions -rw-r--r--
*m enhance
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     1
/*
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
     2
 * Copyright (c) 2010 Ixonos Plc.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
     3
 * All rights reserved.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
     4
 * This component and the accompanying materials are made available
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
     5
 * under the terms of the "Eclipse Public License v1.0"
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
     6
 * which accompanies this distribution, and is available
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
     8
 *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
     9
 * Initial Contributors:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    10
 * Nokia Corporation - Initial contribution
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    11
 *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    12
 * Contributors:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    13
 * Ixonos Plc
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    14
 *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    15
 * Description: 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    16
 * Image Editor AppUI class.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    17
 *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    18
 */
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    19
//	INCLUDE FILES
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    20
#include <fbs.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    21
#include <f32file.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    22
#include <badesca.h> 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    23
#include <bautils.h> 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    24
#include <e32math.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    25
#include <aknnotifystd.h> 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    26
#include <aknwaitdialog.h> 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    27
#include <AknGlobalNote.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    28
#include <eikprogi.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    29
#include <sendui.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    30
#include <hlplch.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    31
#include <aknnotewrappers.h> 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    32
#include <CMessageData.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    33
#include <e32property.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    34
#include <AknDlgShut.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    35
#include <CAknFileNamePromptDialog.h> 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    36
#include <CAknMemorySelectionDialog.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    37
#include <PathInfo.h> 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    38
#include <csxhelp/sie.hlp.hrh>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    39
#ifdef VERBOSE
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    40
#include <eikenv.h>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    41
#endif
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    42
#include <AknCommonDialogsDynMem.h> 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    43
#include <CAknMemorySelectionDialogMultiDrive.h> 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    44
#include <ImageEditor.rsg>
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    45
#include "ImageEditorUI.hrh"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    46
#include "ImageEditorPanics.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    47
#include "imageeditoruids.hrh"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    48
#include "commondefs.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    49
#include "ImageEditorApp.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    50
#include "ImageEditorAppUi.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    51
#include "ImageEditorUIView.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    52
#include "ImageEditorUI.hrh"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    53
#include "ImageEditorError.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    54
#include "PluginInfo.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    55
#include "ImageEditorPluginLocator.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    56
#include "ImageEditorPluginManager.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    57
#include "ImageEditorImageController.h"
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    58
#include "ImageEditorUIContainer.h"
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    59
#include "ImageEditorUtils.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    60
#include "ResolutionUtil.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    61
#include "Callback.h"
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    62
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    63
//	CONSTANTS
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    64
//  Panic category
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    65
_LIT(KComponentName, "ImageEditorAppUi");
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    66
_LIT(KDrawPlugin,"draw.pgn");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    67
_LIT(KNull,"");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    68
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    69
const TInt KObConstructCallBackID = 1;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    70
const TInt KObInitPluginID = 1000;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    71
const TInt KObReturnFromPluginID = 1001;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    72
const TInt KObCancelCallbackID = 1002;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    73
const TInt KObUndoDCallbackID = 1003;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    74
const TInt KObSendCallbackID = 1004;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    75
const TInt KObPrintCallbackID = 1005;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    76
const TInt KObSaveCallbackID = 1006;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    77
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    78
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    79
CImageEditorAppUi::CImageEditorAppUi() :
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    80
			//  Initialize application flags and variables
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    81
			iDocumentName(), iSourceFileName(), iImageSaved(EFalse),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    82
			iForeground(ETrue), iExitFromApp(EFalse), iSaveOnExit(ETrue),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    83
			iSysExit(EFalse), iBusy(ETrue), iOrientationChanged(EFalse),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    84
			iSaving(EFalse), iSending(EFalse), iPrinting(EFalse), iCancelling(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    85
					EFalse), iFullScreen(EFalse), iPluginsScanned(EFalse),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    86
			iImageLoaded(EFalse), iEditorReady(EFalse), iCancelTextInputActive(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    87
					EFalse), iProcessPriorityAltered(EFalse)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    88
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    89
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    90
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    91
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    92
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    93
void CImageEditorAppUi::ConstructL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    94
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
    95
		LOG(KImageEditorLogFile, "CImageEditorAppUi::ConstructL");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    96
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    97
	//	Initialize UI with standard values, read application resource file,
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    98
	//	read default document
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    99
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   100
#ifdef LANDSCAPE_ONLY
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   101
	BaseConstructL( EAppOrientationLandscape | EAknEnableSkin | EAknEnableMSK );
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   102
#else 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   103
#ifdef LANDSCAPE_SUPPORT
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   104
	BaseConstructL(EAppOrientationAutomatic | EAknEnableSkin | EAknEnableMSK);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   105
#else
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   106
	BaseConstructL( EAknEnableSkin | EAknEnableMSK );
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   107
#endif
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   108
#endif // LANDSCAPE_SUPPORT
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   109
	//  Set busy
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   110
	SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   111
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   112
	//	Create main view  
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   113
	CImageEditorUIView * view = new (ELeave) CImageEditorUIView;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   114
	CleanupStack::PushL(view);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   115
	view->ConstructL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   116
	view->ConstructMenuAndCbaEarlyL();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   117
	iEditorView = view;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   118
	AddViewL(view); // transfers ownership
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   119
	CleanupStack::Pop(); // view
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   120
		LOG (KImageEditorLogFile, "CImageEditorAppUi: Main view created");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   121
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   122
	//  Activate view
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   123
	ActivateLocalViewL(iEditorView->Id());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   124
		LOG(KImageEditorLogFile, "CImageEditorAppUi: View activated");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   125
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   126
	//  Set default navi pane text
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   127
	ClearTitlePaneTextL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   128
	ClearNaviPaneTextL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   129
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   130
	//	Create CObCallback instance
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   131
	iConstructionState = EConstructionStateAlloc;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   132
	iCallback = CObCallback::NewL((MObCallbackMethod *) this);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   133
	iCallback->DoCallback(KObConstructCallBackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   134
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   135
	// Volume key observer instance
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   136
	iVolumeKeyObserver = CImageEditorRemConObserver::NewL(*this);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   137
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   138
	iStandby = EFalse;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   139
#ifdef S60_31_VOLUME_KEYS
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   140
	iMGXRemConTarget = CMGXRemConTarget::NewL( this );
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   141
#endif
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   142
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   143
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   144
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   145
CImageEditorAppUi::~CImageEditorAppUi()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   146
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   147
		LOG(KImageEditorLogFile, "CImageEditorAppUi::~CImageEditorAppUi() starting...");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   148
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   149
	//KillWaitNote();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   150
	if (iWaitNote != NULL)
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   151
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   152
		delete iWaitNote;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   153
		iWaitNote = NULL;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   154
		}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   155
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   156
	delete iLocator;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   157
	delete iImageController;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   158
	delete iEditorManager;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   159
	delete iSendAppUi;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   160
	delete iCallback;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   161
	iSourceImageMgAlbumIdList.Close();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   162
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   163
	iEditorView = NULL;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   164
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   165
	iFile.Close();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   166
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   167
#ifdef S60_31_VOLUME_KEYS
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   168
	delete iMGXRemConTarget;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   169
#endif
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   170
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   171
	// deleted by CCoeEnv
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   172
	iResolutionUtil = NULL;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   173
	delete iVolumeKeyObserver;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   174
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   175
		LOG(KImageEditorLogFile, "CImageEditorAppUi: AppUi deleted");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   176
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   177
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   178
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   179
void CImageEditorAppUi::OperationReadyL(TOperationCode aOpId, TInt aError)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   180
	{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   181
		LOGFMT2(KImageEditorLogFile, "CImageEditorAppUi:OperationReadyL (aOpId:%d, aError:%d)", (TInt)aOpId, aError);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   182
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   183
	//	Kill wait note
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   184
	KillWaitNote();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   185
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   186
	//	Handle error
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   187
	if (aError != KErrNone)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   188
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   189
		switch (aOpId)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   190
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   191
			case EOperationCodeLoad:
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   192
			case EOperationCodeBlockLoad:
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   193
			case EOperationCodeSearch:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   194
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   195
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   196
				if (KErrCancel == aError)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   197
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   198
					// Loading image was cancelled. 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   199
					User::Leave(KSIEEErrorOkToExit);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   200
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   201
				else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   202
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   203
					User::Leave(KSIEEOpenFile);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   204
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   205
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   206
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   207
			case EOperationCodeSave:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   208
			case EOperationCodeBlockSave:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   209
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   210
					LOG(KImageEditorLogFile, "CImageEditorAppUi: Save cancelled");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   211
#ifdef VERBOSE
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   212
				LOGFMT3(KImageEditorLogFile, "\tiSourceFileName: %S, iDocumentName: %S, iTempSaveFileName: %S", &iSourceFileName, &iDocumentName, &iTempSaveFileName);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   213
#endif
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   214
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   215
				iSaving = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   216
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   217
				// delete the temporary files
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   218
				DeleteTempFiles();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   219
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   220
				// Reset bitmap sink and screen size
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   221
				UpdateScreenRectL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   222
				iOrientationChanged = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   223
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   224
				if (!iExitFromApp)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   225
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   226
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   227
					if (iSending)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   228
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   229
						// Restore document name
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   230
						iEditorManager->SetImageName(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   231
						iSending = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   232
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   233
					if (KErrCancel == aError)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   234
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   235
						// KErrCancel means user cancel, not an error.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   236
						ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   237
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   238
					else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   239
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   240
						// Leave in case of error.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   241
						User::Leave(KSIEESaveFile);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   242
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   243
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   244
				else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   245
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   246
					TInt exit = 0;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   247
					if (iSaveOnExit)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   248
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   249
						exit
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   250
								= ((CImageEditorUIView *) iEditorView)->LaunchExitWithoutSavingQueryL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   251
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   252
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   253
					if (exit == EImageEditorSoftkeyCmdYes || !iSaveOnExit)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   254
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   255
						// If the image has not been saved before, the reserved target
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   256
						// file has zero size and can be deleted.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   257
						TEntry entry;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   258
						TInt err = iEikonEnv->FsSession().Entry(iDocumentName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   259
								entry);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   260
						if (err == KErrNone && entry.iSize == 0)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   261
							{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   262
							BaflUtils::DeleteFile(iEikonEnv->FsSession(),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   263
									iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   264
							}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   265
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   266
						// Exit the application
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   267
						User::Leave(KSIEEErrorOkToExit);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   268
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   269
					else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   270
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   271
						iExitFromApp = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   272
						ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   273
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   274
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   275
				SetOrientationL(EAppUiOrientationUnspecified);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   276
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   277
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   278
			default:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   279
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   280
				User::Leave(aError);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   281
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   282
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   283
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   284
		}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   285
	else
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   286
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   287
		switch (aOpId)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   288
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   289
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   290
			case EOperationCodeLoad:
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   291
			case EOperationCodeBlockLoad:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   292
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   293
					LOG(KImageEditorLogFile, "CImageEditorAppUi: Image loaded");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   294
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   295
				// Find out whether the source file belongs to any albums
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   296
				ImageEditorUtils::FindAlbumsForImageFileL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   297
						iSourceImageMgAlbumIdList, iSourceFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   298
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   299
				// Generate the name for the saved file
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   300
				TInt err = ImageEditorUtils::GenerateNewDocumentNameL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   301
						iEikonEnv->FsSession(), iSourceFileName, iDocumentName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   302
						&iSourceImageMgAlbumIdList);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   303
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   304
				//	Delete old temp files, which could exist if the exit was not clean
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   305
				DeleteTempFiles();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   306
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   307
				// If there is not enough disk space to save the edited image, show
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   308
				// error note but continue anyway (user can free up memory before saving)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   309
				if (KSIEENotEnoughDiskSpace == err)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   310
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   311
					ShowErrorNoteL(err);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   312
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   313
				else if (KErrNone != err)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   314
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   315
					// Fatal error 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   316
					User::Leave(err);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   317
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   318
				iEditorManager->SetImageName(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   319
				iImageLoaded = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   320
				InitializeUiItemsL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   321
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   322
				if (!iOrientationChanged)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   323
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   324
					//  Immediately display the loaded image
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   325
					((CImageEditorUIView *) iEditorView)-> SetImageL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   326
							iEditorManager->GetPreviewImage());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   327
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   328
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   329
				ApplicationReadyL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   330
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   331
				// Do not have to keep file open anymore. 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   332
				// Fixes problem with Online Printing
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   333
				iFile.Close();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   334
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   335
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   336
				}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   337
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   338
			case EOperationCodeSave:
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   339
			case EOperationCodeBlockSave:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   340
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   341
					LOG(KImageEditorLogFile, "CImageEditorAppUi: Image saved");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   342
#ifdef VERBOSE
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   343
				LOGFMT3(KImageEditorLogFile, "\tiSourceFileName: %S, iDocumentName: %S, iTempSaveFileName: %S", &iSourceFileName, &iDocumentName, &iTempSaveFileName);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   344
#endif
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   345
				ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   346
				iSaving = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   347
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   348
				RFs & fs = iEikonEnv->FsSession();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   349
				if (BaflUtils::FileExists(fs, iTempSaveFileName))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   350
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   351
					// Image has been successfully saved
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   352
					iImageSaved = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   353
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   354
					CFileMan* fileMan = CFileMan::NewL(fs);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   355
					CleanupStack::PushL(fileMan);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   356
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   357
					// the temporary image file and the target file are located in the same drive
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   358
					if (iTempSaveFileName.Left(1) == iDocumentName.Left(1))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   359
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   360
						User::LeaveIfError(fileMan->Rename(iTempSaveFileName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   361
								iDocumentName));
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   362
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   363
					// the temporary image file and the target file are not in the same drive
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   364
					else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   365
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   366
						User::LeaveIfError(fileMan->Move(iTempSaveFileName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   367
								iDocumentName));
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   368
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   369
					CleanupStack::PopAndDestroy(); //fileMan
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   370
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   371
					// Source file changes (at least if saved with a new name)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   372
					iSourceFileName = iDocumentName;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   373
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   374
					// Update title
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   375
					SetFileNameTitlePaneL(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   376
					iEditorManager->SetImageName(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   377
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   378
						LOGFMT(KImageEditorLogFile, "CImageEditorAppUi: Temp file renamed to %S", &iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   379
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   380
					// Purge undo stack if on the way to exit.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   381
					// Don't purge if printing or sending the image.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   382
					if (iExitFromApp)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   383
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   384
						iEditorManager->PurgeUndoRedoHistory();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   385
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   386
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   387
					FinalizeSaveL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   388
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   389
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   390
				if (iExitFromApp)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   391
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   392
					DeleteTempFiles();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   393
					User::Leave(KSIEEErrorOkToExit);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   394
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   395
				else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   396
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   397
					if (iSending)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   398
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   399
						// Restore document name
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   400
						SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   401
						iEditorManager->SetImageName(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   402
						iCallback->DoCallback(KObSendCallbackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   403
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   404
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   405
					if (iPrinting)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   406
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   407
						// Restore document name
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   408
						SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   409
						iEditorManager->SetImageName(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   410
						iCallback->DoCallback(KObPrintCallbackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   411
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   412
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   413
					// Reset bitmap sink and screen size
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   414
					UpdateScreenRectL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   415
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   416
					// Set saved image name for printing
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   417
					((CImageEditorUIView *) iEditorView)->SetImageFileName(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   418
							iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   419
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   420
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   421
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   422
				// Update menu
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   423
				SetUndoFlag();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   424
				SetOrientationL(EAppUiOrientationUnspecified);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   425
					LOG(KImageEditorLogFile, "CImageEditorAppUi: Saving procedure completed");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   426
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   427
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   428
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   429
			default:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   430
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   431
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   432
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   433
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   434
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   435
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   436
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   437
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   438
void CImageEditorAppUi::RenderL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   439
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   440
		LOG(KImageEditorLogFile, "CImageEditorAppUi: Rendering...");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   441
	SetBusy();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   442
	iEditorManager->ProcessImageL();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   443
	((CImageEditorUIView *) iEditorView)->GetContainer()->DrawNow();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   444
	ResetBusy();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   445
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   446
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   447
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   448
TKeyResponse CImageEditorAppUi::HandleKeyEventL(const TKeyEvent & aKeyEvent,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   449
		TEventCode aType)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   450
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   451
		LOGFMT2(KImageEditorLogFile, "CImageEditorAppUi:HandleKeyEventL (aKeyEvent: %d, aType:\t %d)", aKeyEvent,aType);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   452
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   453
	TKeyResponse response = EKeyWasNotConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   454
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   455
	// if we are busy doing something
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   456
	// then we consume the key
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   457
	if (iBusy || (iConstructionState != EConstructionStateReady))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   458
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   459
		response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   460
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   461
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   462
	// we are only interested in real key events
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   463
	// rather than ups or downs
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   464
	else if (aType != EEventKey)
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   465
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   466
		// These are handled separately here because pressing shift key doesn't
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   467
		// give EEventKey event at all
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   468
		if (aType == EEventKeyDown)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   469
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   470
			switch (aKeyEvent.iScanCode)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   471
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   472
				case EStdKeyLeftShift:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   473
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   474
					iEditorView->HandleCommandL(EImageEditorPreGlobalZoomChange);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   475
					ZoomL(EZoomIn);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   476
					iEditorView->HandleCommandL(EImageEditorGlobalZoomChanged);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   477
					response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   478
					break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   479
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   480
				case EStdKeyRightShift:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   481
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   482
					iEditorView->HandleCommandL(EImageEditorPreGlobalZoomChange);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   483
					ZoomL(EZoomOut);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   484
					iEditorView->HandleCommandL(EImageEditorGlobalZoomChanged);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   485
					response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   486
					break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   487
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   488
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   489
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   490
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   491
		response = EKeyWasNotConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   492
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   493
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   494
	// scan codes for numbers are their ASCII codes
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   495
	else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   496
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   497
		TBool rotated = LandscapeScreenOrientation();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   498
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   499
		switch (aKeyEvent.iScanCode)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   500
			{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   501
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   502
			case 0x30: // 0
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   503
				{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   504
#ifdef FULLSCREEN_AVAILABLE 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   505
				if (iFullScreen)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   506
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   507
					ResetFullScreenL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   508
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   509
				else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   510
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   511
					SetFullScreenL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   512
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   513
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   514
#endif // FULLSCREEN_AVAILABLE		    
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   515
				break;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   516
				}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   517
#ifndef LANDSCAPE_ROTATE_HOTKEYS
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   518
			case 0x31: // 1
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   519
#else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   520
				case 0x33: // 3
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   521
#endif
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   522
				{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   523
				RotateL(ERotationCounterClockwise);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   524
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   525
				break;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   526
				}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   527
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   528
			case 0x32: // 2
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   529
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   530
				if (!rotated)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   531
					{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   532
					PanL(EDirectionUp);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   533
					response = EKeyWasConsumed;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   534
					}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   535
				else
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   536
					{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   537
					PanL(EDirectionLeft);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   538
					response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   539
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   540
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   541
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   542
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   543
#ifndef LANDSCAPE_ROTATE_HOTKEYS
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   544
			case 0x33: // 3
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   545
#else		    
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   546
				case 0x39: // 9
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   547
#endif		    		    
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   548
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   549
				RotateL(ERotationClockwise);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   550
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   551
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   552
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   553
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   554
			case 0x34: // 4
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   555
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   556
				if (!rotated)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   557
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   558
					PanL(EDirectionLeft);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   559
					response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   560
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   561
				else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   562
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   563
					PanL(EDirectionDown);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   564
					response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   565
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   566
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   567
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   568
			case 0x35: // 5
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   569
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   570
				// No function		    	
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   571
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   572
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   573
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   574
			case 0x36: // 6 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   575
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   576
				if (!rotated)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   577
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   578
					PanL(EDirectionRight);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   579
					response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   580
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   581
				else
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   582
					{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   583
					PanL(EDirectionUp);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   584
					response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   585
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   586
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   587
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   588
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   589
			case 0x38: // 8      		    
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   590
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   591
				if (!rotated)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   592
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   593
					PanL(EDirectionDown);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   594
					response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   595
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   596
				else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   597
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   598
					PanL(EDirectionRight);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   599
					response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   600
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   601
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   602
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   603
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   604
				// following cases handle four directions and select key
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   605
			case EStdKeyRightArrow:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   606
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   607
				PanL(EDirectionRight);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   608
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   609
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   610
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   611
			case EStdKeyLeftArrow:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   612
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   613
				PanL(EDirectionLeft);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   614
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   615
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   616
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   617
			case EStdKeyUpArrow:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   618
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   619
				PanL(EDirectionUp);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   620
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   621
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   622
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   623
			case EStdKeyDownArrow:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   624
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   625
				PanL(EDirectionDown);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   626
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   627
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   628
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   629
			case EStdKeyEnter:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   630
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   631
				TBool zoomedIn =
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   632
						((CImageEditorUIView *) iEditorView)->InZoomingState();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   633
				if (zoomedIn)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   634
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   635
					iEditorView->HandleCommandL(EImageEditorPreGlobalZoomChange);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   636
					ZoomL(EZoomIn);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   637
					iEditorView->HandleCommandL(EImageEditorGlobalZoomChanged);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   638
					}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   639
				else
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   640
					{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   641
					// display the plugin selection grid if not in zoomed state
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   642
					HandleCommandL(EImageEditorMenuCmdApplyEffect);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   643
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   644
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   645
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   646
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   647
			case 0x2a: // *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   648
			case EStdKeyNkpAsterisk: // *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   649
			case EStdKeyIncVolume:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   650
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   651
				if (iEditorManager->IsPluginLoaded())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   652
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   653
					if (iEditorManager->GetZoomMode() == EZoomIn3)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   654
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   655
						response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   656
						break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   657
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   658
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   659
				iEditorView->HandleCommandL(EImageEditorPreGlobalZoomChange);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   660
				ZoomL(EZoomIn);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   661
				iEditorView->HandleCommandL(EImageEditorGlobalZoomChanged);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   662
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   663
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   664
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   665
			case 0x23: // #
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   666
			case EStdKeyHash: // #
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   667
			case EStdKeyDecVolume:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   668
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   669
				if (iEditorManager->IsPluginLoaded())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   670
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   671
					if (iEditorManager->GetZoomMode() == EZoomNormal)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   672
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   673
						response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   674
						break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   675
						}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   676
					}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   677
				iEditorView->HandleCommandL(EImageEditorPreGlobalZoomChange);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   678
				ZoomL(EZoomOut);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   679
				iEditorView->HandleCommandL(EImageEditorGlobalZoomChanged);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   680
				response = EKeyWasConsumed;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   681
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   682
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   683
			case EStdKeyYes: // green answer call key
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   684
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   685
				if (!iEditorManager->IsPluginLoaded())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   686
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   687
					// when touch is enabled, dialer application is launched 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   688
					// by the framework and application should not consume
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   689
					// this key. Otherwise image is saved and send menu opened.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   690
					if (!AknLayoutUtils::PenEnabled())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   691
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   692
						if (!iSending)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   693
							{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   694
							SaveChangesAndSendL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   695
							}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   696
						response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   697
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   698
					else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   699
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   700
						response = EKeyWasNotConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   701
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   702
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   703
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   704
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   705
			case EStdKeyDevice3: // Select key (OK key)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   706
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   707
				// display the plugin selection grid
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   708
				HandleCommandL(EImageEditorMenuCmdApplyEffect);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   709
				response = EKeyWasConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   710
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   711
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   712
			case EStdKeyNo: // end key
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   713
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   714
				iBusy = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   715
				response = EKeyWasNotConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   716
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   717
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   718
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   719
			default:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   720
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   721
				response = EKeyWasNotConsumed;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   722
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   723
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   724
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   725
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   726
	return response;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   727
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   728
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   729
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   730
void CImageEditorAppUi::HandleCommandL(TInt aCommand)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   731
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   732
		LOGFMT(KImageEditorLogFile, "CImageEditorAppUi:HandleCommandL (%d)", aCommand);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   733
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   734
	switch (aCommand)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   735
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   736
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   737
		/** 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   738
		 *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   739
		 *   MENU COMMANDS
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   740
		 *   
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   741
		 */
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   742
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   743
		//  Launch plug-in selection grid
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   744
		case EImageEditorMenuCmdApplyEffect:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   745
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   746
			SetBusy();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   747
			iCallback->DoCallback(KObInitPluginID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   748
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   749
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   750
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   751
			//  Undo effect
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   752
		case EImageEditorMenuCmdUndo:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   753
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   754
			SetBusy();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   755
			iCallback->DoCallback(KObUndoDCallbackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   756
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   757
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   758
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   759
			//  Switch to full screen
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   760
		case EImageEditorMenuCmdFullScreen:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   761
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   762
#ifdef FULLSCREEN_AVAILABLE         
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   763
			SetFullScreenL();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   764
#endif // FULLSCREEN_AVAILABLE         
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   765
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   766
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   767
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   768
			//  Switch to normal screen
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   769
		case EImageEditorMenuCmdNormalScreen:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   770
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   771
#ifdef FULLSCREEN_AVAILABLE         
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   772
			ResetFullScreenL();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   773
#endif // FULLSCREEN_AVAILABLE            
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   774
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   775
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   776
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   777
			// Increase Zoom
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   778
		case EImageEditorMenuCmdZoomIn:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   779
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   780
			ZoomL(EZoomIn);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   781
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   782
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   783
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   784
			// Decrease Zoom
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   785
		case EImageEditorMenuCmdZoomOut:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   786
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   787
			ZoomL(EZoomOut);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   788
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   789
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   790
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   791
			// Set zoom to minimum (=normal image)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   792
		case EImageEditorMenuCmdFitToScreen:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   793
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   794
			ZoomL(EZoomMin);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   795
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   796
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   797
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   798
			//  Launch CSHelp
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   799
		case EAknCmdHelp:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   800
		case EImageEditorMenuCmdHelp:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   801
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   802
			CArrayFix<TCoeHelpContext>* context = CCoeAppUi::AppHelpContextL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   803
			if (context)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   804
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   805
				HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   806
						context);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   807
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   808
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   809
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   810
		case EImageEditorMenuCmdSave:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   811
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   812
			if (!((CImageEditorUIView*) iEditorView)->IsMemoryInCriticalLevel())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   813
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   814
				QueryAndSaveL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   815
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   816
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   817
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   818
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   819
			//  Close editor
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   820
		case EImageEditorMenuCmdExit:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   821
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   822
			TBool exitNow = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   823
			if (iEditorManager->IsImageChanged())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   824
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   825
				if (!((CImageEditorUIView*) iEditorView)->IsMemoryInCriticalLevel())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   826
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   827
					// launch "Save changes?" query
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   828
					TInt
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   829
							result =
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   830
									((CImageEditorUIView *) iEditorView)->LaunchSaveChangesQueryL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   831
					if (result == EImageEditorSoftkeyCmdYes)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   832
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   833
						if (QueryAndSaveL())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   834
							{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   835
							SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   836
							iExitFromApp = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   837
							exitNow = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   838
								LOG(KImageEditorLogFile, "CImageEditorAppUi:HandleCommandL: Hide application from Fast-swap window.");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   839
							CAknAppUi::HideApplicationFromFSW(ETrue);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   840
							}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   841
						else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   842
							{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   843
							iExitFromApp = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   844
							exitNow = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   845
							}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   846
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   847
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   848
					else if (result == EImageEditorSoftkeyCmdNo)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   849
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   850
						// do nothing, exitNow == ETrue
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   851
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   852
					else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   853
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   854
						// Automatic cancel may have occurred, don't exit
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   855
						iExitFromApp = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   856
						exitNow = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   857
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   858
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   859
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   860
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   861
			if (exitNow)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   862
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   863
				DeleteTempFiles();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   864
				RunAppShutter();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   865
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   866
				//Exit();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   867
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   868
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   869
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   870
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   871
			/** 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   872
			 *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   873
			 *   SOFTKEY COMMANDS
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   874
			 *   
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   875
			 */
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   876
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   877
			//  Back softkey pressed => Close editor
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   878
		case EImageEditorSoftkeyCmdBack:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   879
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   880
			TBool exitNow = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   881
			if (iSaving || iCancelling)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   882
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   883
				// ignore	
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   884
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   885
			if (!((CImageEditorUIView*) iEditorView)->IsMemoryInCriticalLevel())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   886
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   887
				if (iEditorManager->IsImageChanged())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   888
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   889
					// launch "Save changes?" query    
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   890
					TInt
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   891
							result =
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   892
									((CImageEditorUIView *) iEditorView)->LaunchSaveChangesQueryL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   893
					if (result == EImageEditorSoftkeyCmdYes)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   894
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   895
						if (QueryAndSaveL())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   896
							{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   897
							SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   898
							iExitFromApp = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   899
							exitNow = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   900
								LOG(KImageEditorLogFile, "CImageEditorAppUi:HandleCommandL: Hide application from Fast-swap window.");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   901
							CAknAppUi::HideApplicationFromFSW(ETrue);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   902
							}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   903
						else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   904
							{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   905
							iExitFromApp = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   906
							exitNow = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   907
							}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   908
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   909
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   910
					else if (result == EImageEditorSoftkeyCmdNo)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   911
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   912
						// do nothing, exitNow == ETrue
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   913
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   914
					else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   915
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   916
						// Automatic cancel may have occurred, don't exit
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   917
						iExitFromApp = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   918
						exitNow = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   919
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   920
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   921
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   922
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   923
			if (exitNow)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   924
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   925
				DeleteTempFiles();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   926
				RunAppShutter();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   927
				//ProcessCommandL(EAknCmdExit);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   928
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   929
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   930
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   931
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   932
			/** 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   933
			 *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   934
			 *   SYSTEM COMMANDS
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   935
			 *   
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   936
			 */
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   937
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   938
		case EEikCmdExit:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   939
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   940
				LOG(KImageEditorLogFile, "CImageEditorAppUi: EEikCmdExit caught");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   941
			DeleteTempFiles();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   942
			Exit();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   943
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   944
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   945
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   946
			/** 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   947
			 *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   948
			 *   MISC COMMANDS
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   949
			 *   
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   950
			 */
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   951
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   952
			//  Render image
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   953
		case EImageEditorCmdRender:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   954
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   955
			RenderL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   956
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   957
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   958
		case EImageEditorResetFullScreen:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   959
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   960
			ResetFullScreenL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   961
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   962
		case EImageEditorCmdViewReady:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   963
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   964
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   965
				LOG(KImageEditorLogFile, "CImageEditorAppUi: View ready");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   966
			iEditorReady = ETrue;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   967
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   968
			//  Initialize UI items
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   969
			InitializeUiItemsL();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   970
			ApplicationReadyL();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   971
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   972
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   973
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   974
		case EImageEditorApplyPlugin:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   975
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   976
			//	Return from plug-in
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   977
			SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   978
			iCallback->DoCallback(KObReturnFromPluginID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   979
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   980
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   981
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   982
		case EImageEditorCancelPlugin:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   983
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   984
			SetBusy();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   985
			iCancelling = ETrue;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   986
//			ResetFullScreenL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   987
			iPluginName.Copy(KNull);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   988
			iCallback->DoCallback(KObCancelCallbackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   989
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   990
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   991
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   992
		case EImageEditorAddFilterToEngine:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   993
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   994
			// Add the current plugin parameters to engine
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   995
			// and continue with the same plugin
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   996
			iEditorManager->AddFilterToEngineL();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   997
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   998
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
   999
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1000
		case EImageEditorStoreParameters:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1001
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1002
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1003
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1004
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1005
		case EImageEditorUndoFilter:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1006
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1007
			// Undo one filter (can be called if one plugin
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1008
			// has put more than one filter to the engine)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1009
			SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1010
			iEditorManager->UndoL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1011
			SetUndoFlag();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1012
			((CImageEditorUIView *) iEditorView)->GetContainer()->DrawNow();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1013
			ResetBusy();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1014
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1015
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1016
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1017
		case EImageEditorSaveAndPrint:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1018
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1019
			if (iEditorManager->IsImageChanged())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1020
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1021
				iPrinting = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1022
				SaveImageL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1023
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1024
			else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1025
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1026
				SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1027
				iCallback->DoCallback(KObPrintCallbackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1028
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1029
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1030
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1031
		case EImageEditorResetZoom:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1032
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1033
			// If this is called rendering must be done separately
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1034
			iEditorManager->ZoomL(EZoomMin);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1035
			((CImageEditorUIView *) iEditorView)->SetZoomModeL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1036
					iEditorManager->GetZoomMode());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1037
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1038
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1039
		case EImageEditorCmdTouchPan:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1040
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1041
			TouchPanL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1042
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1043
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1044
		case EImageEditorOpenContextMenu:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1045
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1046
			CAknViewAppUi::ProcessCommandL(EAknSoftkeyContextOptions);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1047
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1048
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1049
		default:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1050
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1051
			// CSendUi commands  
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1052
			if (aCommand >= EImageEditorMenuCmdSend && aCommand
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1053
					< EImageEditorMenuCmdSendLast)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1054
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1055
				SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1056
				SaveChangesAndSendL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1057
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1058
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1059
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1060
			/** 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1061
			 *
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1062
			 *   BEVERLY HILLS 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1063
			 *   
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1064
			 */
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1065
			else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1066
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1067
				// Do not handle unknown commands
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1068
				ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1069
				break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1070
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1071
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1072
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1073
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1074
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1075
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1076
void CImageEditorAppUi::HandleWsEventL(const TWsEvent & aEvent,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1077
		CCoeControl * aDestination)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1078
	{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1079
#ifdef VERBOSE
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1080
	LOGFMT3 (KImageEditorLogFile, "CImageEditorAppUi::HandleWsEventL: aEvent.Type() == %d, aEvent.Key().iCode == %d, aEvent.Key().iScanCode == %d", aEvent.Type(), (TInt)aEvent.Key()->iCode, (TInt)aEvent.Key()->iScanCode);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1081
#endif
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1082
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1083
	switch (aEvent.Type())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1084
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1085
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1086
		case EEventFocusLost:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1087
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1088
			iForeground = EFalse;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1089
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1090
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1091
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1092
		case EEventFocusGained:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1093
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1094
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1095
			// Update the screen rect when we gain focus.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1096
			// This isn't really needed every time, it should only do this if something has changed
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1097
			if (iImageController)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1098
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1099
				UpdateScreenRectL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1100
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1101
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1102
			if (iFullScreen)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1103
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1104
				StatusPane()->MakeVisible(EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1105
				}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1106
			iForeground = ETrue;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1107
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1108
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1109
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1110
		default:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1111
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1112
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1113
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1114
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1115
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1116
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1117
	if ((aEvent.Type() == KAknUidValueEndKeyCloseEvent)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1118
			&& iEditorManager->IsImageChanged())
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1119
		{
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1120
		if (iCancelling)
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1121
			{
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1122
			return;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1123
			}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1124
		iExitFromApp = ETrue;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1125
		if (iSaving)
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1126
			{
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1127
			iImageController->CancelOperation(ETrue);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1128
			iSaveOnExit = EFalse;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1129
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1130
			return;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1131
			}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1132
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1133
		TInt err = ImageEditorUtils::GenerateNewDocumentNameL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1134
				iEikonEnv->FsSession(), iSourceFileName, iDocumentName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1135
				&iSourceImageMgAlbumIdList);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1136
		SaveImageOverWriteL(EFalse);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1137
		}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1138
	else
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1139
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1140
		TInt err(0);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1141
			TRAP( err, CAknViewAppUi::HandleWsEventL( aEvent, aDestination ) );
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1142
		}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1143
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1144
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1145
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1146
void CImageEditorAppUi::HandleScreenDeviceChangedL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1147
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1148
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1149
		LOG(KImageEditorLogFile, "CImageEditorAppUi::HandleScreenDeviceChangedL()");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1150
	// Work-a-round to avoid softkeys to drawn incorrectly
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1151
	// when a dialog is open when changing to view mode
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1152
	if (iConstructionState == EConstructionStateReady && iSaving == EFalse
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1153
			&& iSending == EFalse)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1154
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1155
		StopDisplayingMenuBar();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1156
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1157
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1158
	CAknViewAppUi::HandleScreenDeviceChangedL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1159
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1160
	//called while screen mode change 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1161
	if (!iStandby)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1162
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1163
		if (iPluginName == KDrawPlugin)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1164
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1165
			InitialHorizontalDrawPlugin();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1166
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1167
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1168
	iStandby = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1169
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1170
	TBool visibleFlag = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1171
	if (((CImageEditorUIView *) iEditorView)->GetContainer())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1172
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1173
		visibleFlag
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1174
				= ((CImageEditorUIView *) iEditorView)->GetContainer()->IsVisible();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1175
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1176
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1177
	// If orientation changes during loading - screen bitmap need to be recreated
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1178
	// In the start-up there can be event from system without screen device change
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1179
	if (!iImageLoaded && iConstructionState != EConstructionStateAlloc)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1180
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1181
		iOrientationChanged = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1182
		// Set landscape parameter
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1183
		if (LandscapeScreenOrientation())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1184
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1185
			iResolutionUtil->SetLandscape(ETrue);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1186
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1187
		else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1188
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1189
			iResolutionUtil->SetLandscape(EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1190
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1191
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1192
		iResolutionUtil->UpdateScreenMode();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1193
		TRect rect;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1194
		iResolutionUtil->GetClientRect(rect);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1195
		CCoeControl * control =
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1196
				((CImageEditorUIView *) iEditorView)->GetContainer();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1197
		control->SetRect(rect);
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1198
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1199
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1200
	// Update screen rects if we are currently in the foreground.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1201
	else if ((iForeground && iImageController) || visibleFlag)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1202
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1203
		UpdateScreenRectL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1204
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1205
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1206
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1207
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1208
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1209
TBool CImageEditorAppUi::LandscapeScreenOrientation()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1210
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1211
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1212
		LOG(KImageEditorLogFile, "CImageEditorAppUi::LandscapeScreenOrientation()");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1213
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1214
	TBool orientation = EFalse;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1215
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1216
#ifdef LANDSCAPE_SUPPORT
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1217
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1218
	TRect rect;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1219
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1220
	AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, rect);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1221
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1222
	if (rect.iBr.iX > rect.iBr.iY)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1223
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1224
		orientation = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1225
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1226
	else
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1227
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1228
		orientation = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1229
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1230
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1231
#endif
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1232
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1233
		LOGFMT(KImageEditorLogFile, "CImageEditorAppUi: Orientation (%d)", (TInt)orientation);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1234
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1235
	return orientation;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1236
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1237
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1238
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1239
void CImageEditorAppUi::HandleForegroundEventL(TBool aForeground)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1240
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1241
		LOG(KImageEditorLogFile, "CImageEditorAppUi::HandleForegroundEventL()");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1242
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1243
	if (aForeground)
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1244
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1245
		if (!BaflUtils::FileExists(iEikonEnv->Static()->FsSession(),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1246
				iSourceFileName))
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1247
			{
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1248
			DeleteTempFiles();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1249
			RunAppShutter();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1250
			}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1251
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1252
		if (iProcessPriorityAltered)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1253
			{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1254
			// Return to normal priority.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1255
			RProcess myProcess;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1256
			TProcessPriority priority = myProcess.Priority();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1257
			if (priority < iOriginalProcessPriority)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1258
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1259
				myProcess.SetPriority(iOriginalProcessPriority);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1260
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1261
			iProcessPriorityAltered = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1262
			iStandby = ETrue;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1263
			}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1264
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1265
		// Check that application is in sync with the system 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1266
		if (!iImageLoaded && iConstructionState != EConstructionStateAlloc)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1267
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1268
			iOrientationChanged = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1269
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1270
		else if (iResolutionUtil && LandscapeScreenOrientation()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1271
				!= iResolutionUtil->GetLandscape())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1272
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1273
			UpdateScreenRectL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1274
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1275
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1276
		iEditorView->HandleCommandL(EImageEditorFocusGained);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1277
		}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1278
	else
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1279
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1280
		iEditorView->HandleCommandL(EImageEditorFocusLost);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1281
		// Set the priority to low. This is needed to handle the situations 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1282
		// where the engine is performing heavy processing while the application 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1283
		// is in background.
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1284
		RProcess myProcess;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1285
		iOriginalProcessPriority = myProcess.Priority();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1286
		myProcess.SetPriority(EPriorityLow);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1287
		iProcessPriorityAltered = ETrue;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1288
		iStandby = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1289
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1290
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1291
	CAknViewAppUi::HandleForegroundEventL(aForeground);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1292
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1293
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1294
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1295
TBool CImageEditorAppUi::ProcessCommandParametersL(TApaCommand aCommand,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1296
		TFileName & aDocumentName, const TDesC8 & aTail)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1297
	{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1298
		LOG(KImageEditorLogFile, "CImageEditorAppUi::ProcessCommandParametersL");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1299
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1300
	//	Store command parameter document name 
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1301
	iDocumentName.Copy(aDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1302
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1303
	//  Save original document name
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1304
	iSourceFileName.Copy(aDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1305
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1306
	//  Set document name for printing
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1307
	((CImageEditorUIView *) iEditorView)->SetImageFileName(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1308
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1309
	//	Return default action
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1310
	return CAknViewAppUi::ProcessCommandParametersL(aCommand, aDocumentName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1311
			aTail);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1312
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1313
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1314
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1315
void CImageEditorAppUi::OpenFileL(RFile &aFile)
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1316
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1317
		LOG(KImageEditorLogFile, "CImageEditorAppUi::OpenFileL");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1318
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1319
	// This function should be called only when editor is started
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1320
	// as an embedded application.
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1321
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1322
	//	Store command parameter document name 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1323
	aFile.FullName(iDocumentName);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1324
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1325
	//  Open file for editor 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1326
	//  File must be opened until editor is closed, otherwise
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1327
	//  shared session is lost -> Error code -14.
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1328
	RFs& fs = iEikonEnv->FsSession();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1329
	fs.ShareProtected();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1330
	TInt err = iFile.Open(fs, iDocumentName, EFileRead | EFileShareReadersOnly);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1331
	if (KErrNone != err)
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1332
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1333
		User::LeaveIfError(iFile.Open(fs, iDocumentName, EFileRead
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1334
				| EFileShareAny));
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1335
		}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1336
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1337
	//  Save original document name
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1338
	aFile.FullName(iSourceFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1339
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1340
	//  Set document name for printing
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1341
	((CImageEditorUIView *) iEditorView)->SetImageFileName(iDocumentName);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1342
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1343
	// If OpenFileL was not called when the startup sequence reached 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1344
	// the point where it needs the document name, the construction was
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1345
	// suspended to wait for this. 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1346
	if (EConstructionStateWaitForStartupParameters == iConstructionState)
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1347
		{
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1348
		// Resume construction
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1349
		iConstructionState = EConstructionStateLoadImage;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1350
		iCallback->DoCallback(KObConstructCallBackID);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1351
		}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1352
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1353
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1354
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1355
CArrayFix<TCoeHelpContext>* CImageEditorAppUi::HelpContextL() const
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1356
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1357
	CArrayFixFlat<TCoeHelpContext>* array = new (ELeave) CArrayFixFlat<
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1358
			TCoeHelpContext> (1);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1359
	CleanupStack::PushL(array);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1360
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1361
	TBool zoomedIn = ((CImageEditorUIView *) iEditorView)->InZoomingState();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1362
	if (zoomedIn)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1363
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1364
		array->AppendL(TCoeHelpContext(TUid::Uid(UID_IMAGE_EDITOR),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1365
				KSIE_HLP_ZOOMING));
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1366
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1367
	else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1368
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1369
		array->AppendL(TCoeHelpContext(TUid::Uid(UID_IMAGE_EDITOR),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1370
				KSIE_HLP_MAIN));
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1371
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1372
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1373
	CleanupStack::Pop(array);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1374
	return array;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1375
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1376
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1377
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1378
void CImageEditorAppUi::InitializePluginL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1379
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1380
		LOG(KImageEditorLogFile, "CImageEditorAppUi: Initialising plugin");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1381
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1382
	//	Get pointer to the view
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1383
	CImageEditorUIView * view = (CImageEditorUIView *) iEditorView;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1384
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1385
	//	Close the previous plug-in 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1386
	iEditorManager->ClosePlugin();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1387
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1388
	//	Open a new plug-in 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1389
	CPluginInfo * pgn_info = view->GetSelectedPluginInfoL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1390
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1391
	if (pgn_info)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1392
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1393
		iEditorManager->OpenPluginL(pgn_info->PluginDll()->Des());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1394
		iPluginName.Copy(pgn_info->PluginDll()->Des());
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1395
	
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1396
		//judge if it is draw plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1397
		if (iPluginName != KNull && iPluginName == KDrawPlugin)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1398
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1399
			((CImageEditorUIContainer *) ((CImageEditorUIView *) iEditorView)->GetContainer())->IsDrawPlugin(ETrue);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1400
			SetFullScreenL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1401
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1402
		else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1403
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1404
			((CImageEditorUIContainer *) ((CImageEditorUIView *) iEditorView)->GetContainer())->IsDrawPlugin(EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1405
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1406
		
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1407
		LOG(KImageEditorLogFile, "CImageEditorAppUi: Plugin opened");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1408
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1409
		// current rect
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1410
		TRect rect;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1411
		iResolutionUtil->GetClientRect(rect);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1412
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1413
		//	Create a plug-in control
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1414
		//  Ownership is moved to the plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1415
		CCoeControl * control = NULL;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1416
		TInt err = iEditorManager->CreatePluginControlL(rect,view->GetContainer(), control);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1417
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1418
		LOG(KImageEditorLogFile, "CImageEditorAppUi: Plugin control created");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1419
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1420
		//  The plug-in activation was cancelled
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1421
		if (err != KErrNone)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1422
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1423
			//	Cancel plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1424
			iCancelling = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1425
			iCallback->DoCallback(KObCancelCallbackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1426
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1427
		//  Activate plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1428
		else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1429
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1430
			//  Register control to UI
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1431
			view->ActivatePluginL(control);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1432
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1433
			LOG(KImageEditorLogFile, "CImageEditorAppUi: Plugin activated");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1434
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1435
			//  If the filter did not have a control, close plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1436
			if (!control)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1437
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1438
				iEditorManager->ClosePlugin();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1439
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1440
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1441
			//  Set the last opened image to editor view
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1442
			((CImageEditorUIView *) iEditorView)->SetImageL(iEditorManager->GetPreviewImage());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1443
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1444
			ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1445
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1446
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1447
	
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1448
	else
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1449
		{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1450
		ResetBusy();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1451
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1452
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1453
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1454
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1455
void CImageEditorAppUi::CreatePluginLocatorL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1456
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1457
	iLocator = CPluginLocator::NewL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1458
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1459
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1460
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1461
void CImageEditorAppUi::CreateEditorManagerL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1462
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1463
	iEditorManager = CImageEditorPluginManager::NewL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1464
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1465
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1466
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1467
void CImageEditorAppUi::CreateImageControllerL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1468
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1469
	iImageController = CImageController::NewL(this, iEditorManager);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1470
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1471
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1472
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1473
void CImageEditorAppUi::LoadPluginsL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1474
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1475
	//  Scan plug-ins
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1476
	iLocator->ScanPluginsL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1477
	}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1478
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1479
//=============================================================================
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1480
void CImageEditorAppUi::InitializeUiItemsL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1481
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1482
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1483
	LOG (KImageEditorLogFile, "CImageEditorAppUi: InitializeUiItemsL");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1484
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1485
	//  Set UI items
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1486
	if (iEditorReady && iPluginsScanned && iImageLoaded)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1487
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1488
		for (TInt i = 0, c = iLocator->CountPlugins(); i < c; ++i)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1489
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1490
			((CImageEditorUIView *) iEditorView)->AddPluginUiItemL(iLocator->GetPluginInfo(i));
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1491
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1492
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1493
		SetFileNameTitlePaneL(iSourceFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1494
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1495
		((CImageEditorUIView *) iEditorView)->SetZoomModeL(iEditorManager->GetZoomMode());
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1496
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1497
		LOG (KImageEditorLogFile, "CImageEditorAppUi: Plugins initialized");
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1498
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1499
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1500
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1501
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1502
void CImageEditorAppUi::ApplicationReadyL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1503
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1504
	LOG (KImageEditorLogFile, "CImageEditorAppUi: ApplicationReadyLL");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1505
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1506
	//  Set UI items
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1507
	if (iEditorReady && iPluginsScanned && iImageLoaded)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1508
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1509
		if (iOrientationChanged)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1510
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1511
			LOG(KImageEditorLogFile, "CImageEditorAppUi: Orientation changed, updating screen rect");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1512
			// Check that application is in sync with the system 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1513
			// This should fix the problem with screen update after image is loading when
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1514
			// screen is folded during loading
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1515
			UpdateScreenRectL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1516
			iOrientationChanged = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1517
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1518
		else if ((LandscapeScreenOrientation()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1519
				&& (StatusPane()->CurrentLayoutResId()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1520
					!= R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT)))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1521
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1522
			LOG(KImageEditorLogFile,"CImageEditorAppUi: Status pane needs to be changed->updating screen rect");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1523
			// Updating screen rect updates also status pane to correct "flat version"
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1524
			UpdateScreenRectL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1525
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1526
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1527
		TRect screenRect;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1528
		CResolutionUtil::Self()->GetClientRect(screenRect);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1529
		iOldScreenRect = screenRect;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1530
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1531
		ResetBusy();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1532
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1533
		// Open Plugin selection grid right away when application start is finished
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1534
		//HandleCommandL(EImageEditorMenuCmdApplyEffect);
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1535
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1536
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1537
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1538
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1539
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1540
void CImageEditorAppUi::LoadImageL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1541
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1542
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1543
	LOGFMT (KImageEditorLogFile, "CImageEditorAppUi: Loading image (%S)", &iSourceFileName);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1544
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1545
	//	Load the image to be edited
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1546
	iImageController->LoadImageL(iSourceFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1547
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1548
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1549
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1550
void CImageEditorAppUi::SaveImageL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1551
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1552
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1553
	LOG(KImageEditorLogFile, "CImageEditorAppUi: Saving image");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1554
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1555
	// Check if source image still exists
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1556
	if (!BaflUtils::FileExists(iEikonEnv->FsSession(), iSourceFileName))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1557
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1558
		if (iExitFromApp)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1559
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1560
			TInt exit =	((CImageEditorUIView *) iEditorView)->LaunchExitWithoutSavingQueryL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1561
			if (exit)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1562
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1563
				// Exit
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1564
				User::Leave(KSIEEErrorOkToExit);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1565
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1566
			else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1567
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1568
				iExitFromApp = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1569
				User::Leave(KSIEEInternal);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1570
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1571
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1572
		else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1573
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1574
			User::Leave(KSIEEInternal);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1575
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1576
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1577
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1578
	// Check document name if not saved yet or memory card removed
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1579
	if (!iImageSaved || !BaflUtils::PathExists(iEikonEnv->FsSession(),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1580
		iTempSaveFileName.Left(3)))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1581
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1582
		//  If not saved yet, check that document name is valid 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1583
		SetImageNameL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1584
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1585
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1586
	//	Set temp save image name to engine
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1587
	iEditorManager->SetImageName(iTempSaveFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1588
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1589
	SetLayoutAwareApp(EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1590
	//	Launch save wait note
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1591
	LaunchSaveWaitNoteL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1592
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1593
	iCallback->DoCallback(KObSaveCallbackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1594
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1595
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1596
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1597
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1598
void CImageEditorAppUi::SetImageNameL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1599
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1600
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1601
	// Create new document name
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1602
	// (note that this also selects the drive where the image is saved)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1603
	TInt err = ImageEditorUtils::GenerateNewDocumentNameL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1604
			iEikonEnv->FsSession(), iSourceFileName, iDocumentName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1605
			&iSourceImageMgAlbumIdList);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1606
	User::LeaveIfError(err); // cannot save the image
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1607
	iEditorManager->SetImageName(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1608
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1609
	// Change title pane text
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1610
	SetFileNameTitlePaneL(iSourceFileName);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1611
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1612
	//	Check that everything is in order with the file
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1613
	CheckFileL(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1614
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1615
	// Generate temporary save file name
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1616
	TParse tempFileParser;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1617
	tempFileParser.Set(KTempSaveFile, &KTempPath, &iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1618
	iTempSaveFileName.Copy(tempFileParser.FullName());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1619
	BaflUtils::EnsurePathExistsL(iEikonEnv->FsSession(), iTempSaveFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1620
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1621
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1622
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1623
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1624
void CImageEditorAppUi::SaveChangesAndSendL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1625
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1626
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1627
		LOG(KImageEditorLogFile, "CImageEditorAppUi::SaveChangesAndSendL()");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1628
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1629
	iSending = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1630
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1631
	// Delete old temp files if exists
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1632
	DeleteTempFiles();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1633
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1634
	if (iEditorManager->IsImageChanged())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1635
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1636
		// Save image
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1637
		SaveImageL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1638
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1639
	//	Otherwise send last saved image
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1640
	else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1641
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1642
		SendImageL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1643
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1644
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1645
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1646
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1647
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1648
void CImageEditorAppUi::SendImageL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1649
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1650
		LOG(KImageEditorLogFile, "CImageEditorAppUi::SendImageL()");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1651
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1652
	ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1653
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1654
	RFs& fs = iEikonEnv->FsSession();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1655
	TFileName fileToSend;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1656
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1657
	// Check if image has been modified and saved
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1658
	if (BaflUtils::FileExists(fs, iDocumentName))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1659
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1660
		fileToSend.Append(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1661
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1662
	// Use source file if no changes done
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1663
	else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1664
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1665
		fileToSend.Append(iSourceFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1666
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1667
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1668
	LOGFMT(KImageEditorLogFile, "CImageEditorAppUi: Sending image: %S", &fileToSend);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1669
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1670
	iEikonEnv->SetBusy(ETrue);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1671
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1672
	// Launch send query dialog
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1673
	TSendingCapabilities cap(0, 0, TSendingCapabilities::ESupportsAttachments);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1674
	((CImageEditorUIView *) iEditorView)->LaunchSendQueryL(cap, fileToSend);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1675
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1676
	iSending = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1677
	iEikonEnv->SetBusy(EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1678
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1679
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1680
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1681
void CImageEditorAppUi::CheckFileL(const TDesC & aFileName) const
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1682
	{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1683
	RFs & fs = iEikonEnv->FsSession();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1684
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1685
	//	Is file name valid
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1686
	if (!fs.IsValidName(aFileName))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1687
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1688
		User::Leave(KSIEESaveFile);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1689
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1690
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1691
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1692
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1693
TBool CImageEditorAppUi::CallbackMethodL(TInt aParam)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1694
	{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1695
	LOGFMT(KImageEditorLogFile, "CImageEditorAppUi::CallbackMethodL (%d)", aParam);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1696
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1697
	TBool ret = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1698
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1699
	switch (aParam)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1700
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1701
		case KObConstructCallBackID:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1702
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1703
			switch (iConstructionState)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1704
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1705
				case EConstructionStateAlloc:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1706
					{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1707
					//  Launch wait note
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1708
					LaunchLoadWaitNoteL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1709
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1710
					// Initialize resolution utility. CResolutionUtil::InitializeL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1711
					// Returns the singleton instance of the class, creating it if
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1712
					// it does not yet exist.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1713
					iResolutionUtil = CResolutionUtil::InitializeL();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1714
					iResolutionUtil->SetFullScreen(EFalse);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1715
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1716
#ifdef LANDSCAPE_SUPPORT
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1717
					// Set landscape parameter
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1718
					if (LandscapeScreenOrientation())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1719
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1720
						iResolutionUtil->SetLandscape(ETrue);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1721
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1722
					else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1723
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1724
						iResolutionUtil->SetLandscape(EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1725
						}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1726
#else
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1727
#ifdef LANDSCAPE_ONLY
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1728
					iResolutionUtil->SetLandscape(ETrue);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1729
#else
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1730
					iResolutionUtil->SetLandscape(EFalse);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1731
#endif 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1732
#endif // LANDSCAPE_SUPPORT
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1733
					iResolutionUtil->UpdateScreenMode();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1734
						LOG(KImageEditorLogFile, "CImageEditorAppUi: Resolution set");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1735
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1736
					//  Create the Send UI instance
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1737
					iSendAppUi = CSendUi::NewL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1738
					((CImageEditorUIView *) iEditorView)->SetSendAppUi(iSendAppUi);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1739
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1740
					//  Create plug-in locator
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1741
					CreatePluginLocatorL();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1742
					LOG(KImageEditorLogFile, "Locator created");
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1743
					
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1744
					//  Create plug-in manager
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1745
					CreateEditorManagerL();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1746
					LOG(KImageEditorLogFile, "Manager created");
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1747
					
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1748
					//  Create image controller
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1749
					CreateImageControllerL();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1750
					LOG(KImageEditorLogFile, "Image Controller created");
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1751
					iConstructionState = EConstructionStateLoadImage;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1752
					ret = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1753
					break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1754
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1755
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1756
				case EConstructionStateLoadImage:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1757
					{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1758
					LOG(KImageEditorLogFile, "Loading image");
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1759
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1760
					//	iSourceFileName is available (in embedded mode) only after 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1761
					//	CImageEditorDocument::OpenFileL has been called by the system.
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1762
					//	If that has not been done 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1763
					if (!iSourceFileName.Length())
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1764
						{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1765
						iConstructionState = EConstructionStateWaitForStartupParameters;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1766
						ret = EFalse;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1767
						}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1768
					else
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1769
						{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1770
						//  Kill wait note before loading image. 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1771
						//  Some corrupted images loading stacks if wait note is displayd
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1772
						//KillWaitNote();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1773
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1774
						// Relaunch wait note
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1775
						//LaunchLoadWaitNoteL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1776
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1777
						//  Load image
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1778
						LoadImageL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1779
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1780
						SetFileNameTitlePaneL(iSourceFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1781
						iConstructionState = EConstructionStateScanPlugins;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1782
						ret = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1783
						}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1784
					break;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1785
					}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1786
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1787
				case EConstructionStateScanPlugins:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1788
					{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1789
					LOG(KImageEditorLogFile, "Scanning plugins");
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1790
					LoadPluginsL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1791
					iConstructionState = EConstructionStateInitUi;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1792
					ret = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1793
					break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1794
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1795
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1796
				case EConstructionStateInitUi:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1797
					{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1798
					LOG(KImageEditorLogFile, "Init UI");
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1799
					//  Initialize UI items
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1800
					iPluginsScanned = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1801
					InitializeUiItemsL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1802
					iConstructionState = EConstructionStateReady;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1803
					ret = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1804
					break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1805
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1806
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1807
				default:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1808
					{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1809
					LOG(KImageEditorLogFile, "Ready");
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1810
					KillWaitNote();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1811
					ApplicationReadyL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1812
					break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1813
					}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1814
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1815
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1816
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1817
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1818
		case KObReturnFromPluginID:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1819
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1820
			SetUndoFlag();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1821
			iEditorManager->ShowPluginPopup();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1822
			iEditorManager->ClosePlugin();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1823
			__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1824
			((CImageEditorUIView *) iEditorView)->ActivateMainViewL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1825
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1826
			//Only for draw plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1827
			if (iPluginName != KNull && iPluginName == KDrawPlugin)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1828
				{				
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1829
				iPluginName.Copy(KNull);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1830
				ResetFullScreenL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1831
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1832
			
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1833
			ResetBusy();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1834
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1835
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1836
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1837
		case KObInitPluginID:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1838
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1839
			InitializePluginL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1840
			SetUndoFlag();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1841
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1842
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1843
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1844
		case KObCancelCallbackID:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1845
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1846
			TRect rect;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1847
			CResolutionUtil::Self()->GetClientRect(rect);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1848
			CCoeControl* control = ((CImageEditorUIView *) iEditorView)->GetContainer();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1849
			control->SetRect(rect);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1850
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1851
			iEditorManager->ClosePlugin();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1852
			iEditorManager->UndoL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1853
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1854
			__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1855
			((CImageEditorUIView *) iEditorView)->ActivateMainViewL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1856
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1857
			((CImageEditorUIView *) iEditorView)->SetImageL(iEditorManager->GetPreviewImage());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1858
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1859
			SetUndoFlag();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1860
			ResetBusy();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1861
			iCancelling = EFalse;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1862
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1863
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1864
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1865
		case KObUndoDCallbackID:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1866
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1867
			iEditorManager->UndoL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1868
			SetUndoFlag();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1869
			((CImageEditorUIView *) iEditorView)->GetContainer()->DrawNow();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1870
			ResetBusy();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1871
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1872
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1873
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1874
		case KObSendCallbackID:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1875
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1876
			SendImageL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1877
			ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1878
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1879
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1880
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1881
		case KObPrintCallbackID:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1882
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1883
			// Reset first otherwise canceling print application
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1884
			// leaves busy state active
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1885
			iPrinting = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1886
			ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1887
			((CImageEditorUIView *) iEditorView)-> HandleCommandL(EImageEditorDoPrint);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1888
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1889
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1890
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1891
		case KObSaveCallbackID:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1892
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1893
			//	Start saving 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1894
			iImageController->SaveImageL(iTempSaveFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1895
			iSaving = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1896
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1897
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1898
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1899
		default:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1900
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1901
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1902
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1903
		}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1904
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1905
	return ret;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1906
	}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1907
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1908
//=============================================================================
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1909
void CImageEditorAppUi::SetBusy()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1910
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1911
		LOG(KImageEditorLogFile, "CImageEditorAppUi: SetBusy()");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1912
	if (iEditorView)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1913
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1914
		((CImageEditorUIView *) iEditorView)->SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1915
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1916
	iBusy = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1917
	}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1918
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1919
//=============================================================================
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1920
void CImageEditorAppUi::ResetBusy()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1921
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1922
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1923
	LOG(KImageEditorLogFile, "CImageEditorAppUi: ResetBusy()");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1924
	// Keep busy until application is fully constructed
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1925
	if (iConstructionState == EConstructionStateReady)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1926
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1927
		if (iEditorView)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1928
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1929
			((CImageEditorUIView *) iEditorView)->ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1930
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1931
		iBusy = EFalse;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1932
		}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1933
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1934
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1935
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1936
void CImageEditorAppUi::SetFullScreenL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1937
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1938
	__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1939
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1940
	LOG(KImageEditorLogFile, "CImageEditorAppUi: Setting full screen");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1941
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1942
	iFullScreen = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1943
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1944
	//  Set to full screen mode
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1945
	((CImageEditorUIView *) iEditorView)->SetFullScreen();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1946
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1947
	// In the startup image controller might not be created yet 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1948
	if (iImageController)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1949
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1950
		// Update new screen resolution
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1951
		UpdateScreenRectL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1952
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1953
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1954
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1955
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1956
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1957
void CImageEditorAppUi::ResetFullScreenL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1958
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1959
	__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1960
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1961
	LOG(KImageEditorLogFile, "CImageEditorAppUi: Resetting full screen");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1962
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1963
	iFullScreen = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1964
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1965
	//  Set to full screen mode
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1966
	((CImageEditorUIView *) iEditorView)->ResetFullScreen();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1967
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1968
	// In the startup image controller might not be created yet 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1969
	if (iImageController)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1970
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1971
		UpdateScreenRectL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1972
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1973
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1974
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1975
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1976
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1977
void CImageEditorAppUi::SetUndoFlag()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1978
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1979
	if (iEditorView)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1980
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1981
		((CImageEditorUIView *) iEditorView)->SetUndoFlag(iEditorManager->CanUndo());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1982
		((CImageEditorUIView *) iEditorView)->SetSaveFlag(iEditorManager->IsImageChanged());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1983
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1984
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1985
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  1986
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1987
void CImageEditorAppUi::SetTitlePaneTextL(const TDesC & aText)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1988
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1989
	const TInt KMaximumTitleTextLength = 13;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1990
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1991
	if (iEditorView)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1992
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1993
		HBufC * title_text = HBufC::NewLC(aText.Length());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1994
		TPtr title_text_ptr = title_text->Des();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1995
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1996
		//  No truncation
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1997
		if (aText.Length() - 4 < KMaximumTitleTextLength)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1998
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  1999
			//  Copy whole file name 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2000
			title_text_ptr.Copy(aText);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2001
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2002
		//  With truncation
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2003
		else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2004
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2005
			//  Copy maximum amount of the file
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2006
			title_text_ptr.Copy(aText.Left(KMaximumTitleTextLength));
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2007
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2008
			//  Append horizontal ellipsis
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2009
			title_text_ptr.Append(KBaflCharTruncation);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2010
			//  Append sequence number
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2011
			_LIT(KSearchWildcard, "*-???");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2012
			TInt offset = aText.Match(KSearchWildcard);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2013
			if (offset != KErrNotFound)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2014
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2015
				title_text_ptr.Append(aText.Mid(offset, 4));
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2016
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2017
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2018
		//  Set title pane text
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2019
		((CImageEditorUIView *) iEditorView)->SetTitlePaneTextL(title_text_ptr);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2020
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2021
		CleanupStack::PopAndDestroy(); // title_text
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2022
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2023
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2024
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2025
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2026
void CImageEditorAppUi::ClearTitlePaneTextL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2027
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2028
	if (iEditorView)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2029
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2030
		((CImageEditorUIView *) iEditorView)->ClearTitlePaneTextL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2031
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2032
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2033
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2034
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2035
void CImageEditorAppUi::SetFileNameTitlePaneL(const TDesC& aFullFileName)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2036
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2037
	TParsePtrC parser(aFullFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2038
	SetTitlePaneTextL(parser.Name());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2039
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2040
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2041
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2042
void CImageEditorAppUi::ClearNaviPaneTextL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2043
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2044
	if (iEditorView)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2045
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2046
		((CImageEditorUIView *) iEditorView)->ClearNaviPaneTextL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2047
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2048
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2049
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2050
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2051
void CImageEditorAppUi::UpdateScreenRectL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2052
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2053
		LOG(KImageEditorLogFile, "CImageEditorAppUi::UpdateScreenRectL()");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2054
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2055
	if (iEditorView == NULL || iEditorManager == NULL || iImageController == NULL)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2056
		{
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2057
		return;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2058
		}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2059
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2060
	iEditorView->HandleCommandL(EImageEditorPreScreenModeChange);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2061
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2062
	// Set Full screen parameter
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2063
	iResolutionUtil->SetFullScreen(iFullScreen);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2064
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2065
#ifdef LANDSCAPE_SUPPORT
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2066
	// Set landscape parameter
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2067
	if (LandscapeScreenOrientation())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2068
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2069
		iResolutionUtil->SetLandscape(ETrue);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2070
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2071
	else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2072
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2073
		iResolutionUtil->SetLandscape(EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2074
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2075
#else
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2076
#ifdef LANDSCAPE_ONLY
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2077
	iResolutionUtil->SetLandscape(ETrue);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2078
#else
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2079
	iResolutionUtil->SetLandscape(EFalse);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2080
#endif
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2081
#endif
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2082
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2083
	// Update view layout
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2084
	((CImageEditorUIView *) iEditorView)->UpdateLayoutL(iEikonEnv->ScreenDevice()->CurrentScreenMode());
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2085
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2086
	LOGFMT(KImageEditorLogFile, "CImageEditorAppUi: CurrentScreenMode() = %d", iEikonEnv->ScreenDevice()->CurrentScreenMode() );
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2087
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2088
	// Set current screen size to resolution util
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2089
	iResolutionUtil->UpdateScreenMode();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2090
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2091
	// Check if screen size has changed
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2092
	TRect newScreenRect;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2093
	CResolutionUtil::Self()->GetClientRect(newScreenRect);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2094
	if (iOldScreenRect == newScreenRect && !iOrientationChanged)
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2095
		{
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2096
		LOG(KImageEditorLogFile, "CImageEditorAppUi: Not setting new preview image");
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2097
		return;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2098
		}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2099
	
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2100
	iOldScreenRect = newScreenRect;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2101
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2102
	LOG(KImageEditorLogFile, "CImageEditorAppUi: Setting new preview image");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2103
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2104
	// Create screen bitmap for new screen size
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2105
	iImageController->CreatePreviewBitmapL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2106
	if ((iConstructionState == EConstructionStateReady || iConstructionState
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2107
		== EConstructionStateInitUi) && !iSaving && iImageLoaded)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2108
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2109
		iEditorManager->SetScreenSizeL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2110
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2111
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2112
	//  Set the new image pointer to editor view
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2113
	if (!iSaving)
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2114
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2115
		((CImageEditorUIView *) iEditorView)->SetImageL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2116
				iEditorManager->GetPreviewImage());
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2117
		}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2118
	else // if saving cannot update new image until saving is completed.
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2119
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2120
		iOrientationChanged = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2121
		((CImageEditorUIView *) iEditorView)->SetImageL(NULL);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2122
		}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2123
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2124
	//  Set container extent to whole screen
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2125
	CCoeControl * control =
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2126
			((CImageEditorUIView *) iEditorView)->GetContainer();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2127
	if (control)
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2128
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2129
		//if it is draw plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2130
		if (iFullScreen || iPluginName == KDrawPlugin)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2131
			{
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2132
			control->SetExtentToWholeScreen();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2133
			}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2134
		else
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2135
			{
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2136
			TRect rect;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2137
			iResolutionUtil->GetClientRect(rect);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2138
			control->SetRect(rect);
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2139
			}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2140
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2141
		if (control->IsFocused())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2142
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2143
			control->DrawNow();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2144
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2145
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2146
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2147
	iEditorView->HandleCommandL(EImageEditorPostScreenModeChange);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2148
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2149
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2150
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2151
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2152
void CImageEditorAppUi::ZoomL(const TZoom aZoom)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2153
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2154
	__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2155
	__ASSERT_ALWAYS( iEditorManager, User::Panic(KComponentName, EImageEditorPanicNoEditorManager) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2156
	SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2157
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2158
	// Zoom
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2159
	iEditorManager->ZoomL(aZoom);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2160
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2161
	RenderL();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2162
	iEditorManager->GetSystemParameters();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2163
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2164
	// Inform the view about current zoom mode
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2165
	((CImageEditorUIView *) iEditorView)-> SetZoomModeL(iEditorManager->GetZoomMode());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2166
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2167
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2168
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2169
void CImageEditorAppUi::PanL(TDirection aDirection)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2170
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2171
	__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2172
	__ASSERT_ALWAYS( iEditorManager, User::Panic(KComponentName, EImageEditorPanicNoEditorManager) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2173
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2174
	iEditorView->HandleCommandL(EImageEditorPreGlobalPanChange);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2175
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2176
	SetBusy();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2177
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2178
	// Pan
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2179
	iEditorManager->PanL(aDirection);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2180
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2181
	RenderL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2182
	iEditorManager->GetSystemParameters();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2183
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2184
	ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2185
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2186
	iEditorView->HandleCommandL(EImageEditorGlobalPanChanged);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2187
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2188
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2189
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2190
void CImageEditorAppUi::TouchPanL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2191
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2192
	__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2193
	__ASSERT_ALWAYS( iEditorManager, User::Panic(KComponentName, EImageEditorPanicNoEditorManager) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2194
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2195
	iEditorView->HandleCommandL(EImageEditorPreGlobalPanChange);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2196
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2197
	SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2198
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2199
	// Fetch directions
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2200
	TInt xMovement(0);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2201
	TInt yMovement(0);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2202
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2203
	((CImageEditorUIView *) iEditorView)->GetTouchPanDirections(xMovement,yMovement);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2204
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2205
	// Pan
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2206
	iEditorManager->PanL(xMovement, yMovement);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2207
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2208
	RenderL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2209
	iEditorManager->GetSystemParameters();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2210
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2211
	ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2212
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2213
	iEditorView->HandleCommandL(EImageEditorGlobalPanChanged);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2214
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2215
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2216
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2217
void CImageEditorAppUi::RotateL(const TRotation aRot)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2218
	{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2219
	__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2220
	__ASSERT_ALWAYS( iEditorManager, User::Panic(KComponentName, EImageEditorPanicNoEditorManager) );
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2221
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2222
	if (!iEditorManager->IsPluginLoaded())
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2223
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2224
		iEditorManager->RotateL(aRot);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2225
		RenderL();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2226
		SetUndoFlag();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2227
		iEditorView->HandleCommandL(EImageEditorGlobalRotationChanged);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2228
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2229
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2230
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2231
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2232
void CImageEditorAppUi::LaunchLoadWaitNoteL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2233
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2234
	__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2235
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2236
	SetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2237
	((CImageEditorUIView *) iEditorView)->LaunchWaitDialog();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2238
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2239
	//    if (!iWaitNote)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2240
	//    {
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2241
	//        ((CImageEditorUIView *)iEditorView)->LaunchLoadWaitDialogL( &iWaitNote, this );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2242
	//    }
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2243
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2244
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2245
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2246
void CImageEditorAppUi::LaunchSaveWaitNoteL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2247
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2248
	__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2249
	TAppUiOrientation orientation(EAppUiOrientationPortrait);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2250
	if (LandscapeScreenOrientation())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2251
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2252
		orientation = EAppUiOrientationLandscape;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2253
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2254
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2255
	SetOrientationL(orientation);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2256
	if (!iProgressNote)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2257
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2258
		((CImageEditorUIView *) iEditorView)->LaunchSaveWaitDialogL(&iProgressNote, 100, this);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2259
		iSaving = ETrue;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2260
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2261
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2262
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2263
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2264
void CImageEditorAppUi::KillWaitNote()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2265
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2266
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2267
	/*    if (iWaitNote)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2268
	 {
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2269
	 // If the application is exiting, iWaitNote->ProcessFinishedL()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2270
	 // apparently does not finish in time and does something after the 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2271
	 // application has been deleted, causing USER 0 panic on debug builds.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2272
	 delete iWaitNote;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2273
	 iWaitNote = NULL;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2274
	 } */
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2275
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2276
	if (iProgressNote)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2277
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2278
		delete iProgressNote;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2279
		iProgressNote = NULL;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2280
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2281
	else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2282
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2283
		// This can be hidden in all cases. If dialog is not active, nothing 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2284
		// special happens
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2285
		((CImageEditorUIView *) iEditorView)->HideWaitDialog();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2286
		// Commented due to multiple ResetBusy() call during initialization:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2287
		//ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2288
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2289
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2290
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2291
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2292
void CImageEditorAppUi::IncrementProgressBarL(const TInt aIncrement)
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2293
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2294
	__ASSERT_ALWAYS( iProgressNote, User::Panic(KComponentName, EImageEditorPanicNoProgressDialog) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2295
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2296
	CEikProgressInfo * progi = iProgressNote->GetProgressInfoL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2297
	if (progi)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2298
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2299
		progi->IncrementAndDraw(aIncrement);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2300
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2301
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2302
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2303
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2304
void CImageEditorAppUi::DialogDismissedL(TInt aButtonId)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2305
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2306
		LOGFMT(KImageEditorLogFile, "CImageEditorAppUi::DialogDismissedL( %d )", aButtonId);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2307
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2308
	if (aButtonId == EAknSoftkeyCancel)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2309
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2310
		if (!iSaving)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2311
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2312
			iCallback->Cancel();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2313
			iImageController->CancelOperation(ETrue);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2314
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2315
		else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2316
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2317
			iImageController->CancelOperation();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2318
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2319
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2320
		iWaitNote = NULL;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2321
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2322
		ResetBusy();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2323
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2324
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2325
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2326
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2327
TErrorHandlerResponse CImageEditorAppUi::HandleError(TInt aError,const SExtendedError & aExtErr, TDes & aErrorText, TDes & aContextText)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2328
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2329
	LOGFMT(KImageEditorLogFile, "CImageEditorAppUi::HandleError: %d", aError);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2330
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2331
	//	Reset busy flag
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2332
	KillWaitNote();
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2333
	ResetBusy();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2334
	iCancelling = EFalse;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2335
	iSaving = EFalse;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2336
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2337
	TErrorHandlerResponse ret = ENoDisplay;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2338
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2339
	// Handle Image Editor errors
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2340
	if ((aError < KSIEEErrorBase) && (aError > KSIEEErrorMax))
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2341
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2342
		TRAPD ( err, HandleErrorL (aError) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2343
		if (err == KErrNoMemory)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2344
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2345
			Exit();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2346
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2347
		}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2348
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2349
	// Let the framework handle system errors
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2350
	else if (aError == KErrNoMemory)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2351
		{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2352
		iImageController->Cancel();
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2353
		ret = CAknViewAppUi::HandleError(aError, aExtErr, aErrorText,aContextText);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2354
		Exit();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2355
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2356
	// KErrCancel is returned when Bluetooth send is cancelled
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2357
	// No need to show error dialog
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2358
	else if (aError == KErrCancel)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2359
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2360
		// Nothing to do
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2361
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2362
	else if ((aError == KErrArgument) || (aError == KErrInUse))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2363
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2364
		//	Show error note
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2365
		HandleErrorL(aError);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2366
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2367
	//end
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2368
	else if ((aError <= KErrExtended) && (aError >= KLeaveExit))
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2369
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2370
		ret = CAknViewAppUi::HandleError(aError, aExtErr, aErrorText,aContextText);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2371
		// Close plugin if error occurs, otherwise plugin may crash
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2372
		iEditorManager->ClosePlugin();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2373
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2374
		__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2375
		TRAP_IGNORE( ((CImageEditorUIView *)iEditorView)->ActivateMainViewL() );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2376
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2377
		TRAP_IGNORE( ((CImageEditorUIView *)iEditorView)->SetImageL (iEditorManager->GetPreviewImage()) );
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2378
		}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2379
	else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2380
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2381
		ret = CAknViewAppUi::HandleError(aError, aExtErr, aErrorText,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2382
				aContextText);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2383
		// Close plugin if error occurs, otherwise plugin may crash
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2384
		iEditorManager->ClosePlugin();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2385
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2386
		__ASSERT_ALWAYS( iEditorView, User::Panic(KComponentName, EImageEditorPanicNoView) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2387
		TRAPD( err, ((CImageEditorUIView *)iEditorView)->ActivateMainViewL() );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2388
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2389
		TRAP_IGNORE( ((CImageEditorUIView *)iEditorView)->SetImageL (
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2390
							iEditorManager->GetPreviewImage()) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2391
		if (err == KErrNoMemory)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2392
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2393
			Exit();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2394
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2395
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2396
	return ret;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2397
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2398
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2399
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2400
void CImageEditorAppUi::HandleErrorL(const TInt aError)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2401
	{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2402
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2403
	//	Show error note
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2404
	ShowErrorNoteL(aError);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2405
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2406
	//	Handle error
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2407
	switch (aError)
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2408
		{
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2409
		case KSIEEErrorOkToExit:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2410
		case KSIEEOpenFile:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2411
		case KSIEEExifRead:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2412
		case KSIEEInternalNonRecoverable:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2413
		case KSIEEIncompatibleImage:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2414
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2415
			// For some weird reason, in some cases when trying to 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2416
			// exit from CImageEditorAppUi::OperationReadyL, calling 
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2417
			// Exit() here won't exit the application.
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2418
			RunAppShutter();
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2419
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2420
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2421
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2422
		default:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2423
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2424
			// Close plugin if error occurs, otherwise plugin may crash
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2425
			if (iEditorManager)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2426
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2427
				iEditorManager->ClosePlugin();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2428
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2429
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2430
			if (iEditorView)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2431
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2432
				((CImageEditorUIView *) iEditorView)->ActivateMainViewL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2433
				((CImageEditorUIView *) iEditorView)->SetImageL(iEditorManager->GetPreviewImage());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2434
				}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2435
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2436
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2437
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2438
		}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2439
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2440
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2441
//=============================================================================
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2442
void CImageEditorAppUi::ShowErrorNoteL(const TInt aError) const
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2443
	{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2444
	TInt res_id = -1;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2445
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2446
	switch (aError)
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2447
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2448
		case KErrNotFound:
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2449
		case KSIEEOpenFile:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2450
		case KSIEEExifRead:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2451
		case KSIEEIncompatibleImage:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2452
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2453
			res_id = R_ERROR_LOADING;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2454
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2455
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2456
		case KSIEESaveFile:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2457
		case KSIEEExifUpdate:
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2458
		case KErrArgument:
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2459
		case KErrInUse:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2460
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2461
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2462
			res_id = R_ERROR_SAVING;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2463
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2464
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2465
		case KSIEENotEnoughDiskSpace:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2466
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2467
			res_id = R_ERROR_NOT_ENOUGH_DISK_SPACE;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2468
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2469
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2470
		case KSIEEProcessFile:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2471
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2472
			res_id = R_ERROR_PROCESSING;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2473
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2474
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2475
		case KSIEEEngine:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2476
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2477
			res_id = R_ERROR_ENGINE;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2478
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2479
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2480
		case KSIEEInternal:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2481
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2482
			res_id = R_ERROR_INTERNAL;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2483
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2484
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2485
		case KSIEEInternalNonRecoverable:
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2486
			{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2487
			res_id = R_ERROR_INTERNAL_NON_RECOVERABLE;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2488
			break;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2489
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2490
		case KSIEEProtectedFile:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2491
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2492
			res_id = R_ERROR_PROTECTED_FILE;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2493
			break;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2494
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2495
		default:
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2496
			break;
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2497
		}
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2498
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2499
	if (res_id != -1)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2500
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2501
		HBufC * textdata = iEikonEnv->AllocReadResourceLC(res_id);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2502
		TPtrC ptr = textdata->Des();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2503
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2504
			LOGFMT(KImageEditorLogFile, "CImageEditorAppUi::ShowErrorNoteL: \"%S\"", &ptr);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2505
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2506
		CAknGlobalNote* globalNote = CAknGlobalNote::NewLC();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2507
		TInt noteId = globalNote->ShowNoteL(EAknGlobalErrorNote, ptr);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2508
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2509
		User::After(1500042); // waiting for 1 second
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2510
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2511
		// discard note
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2512
		globalNote->CancelNoteL(noteId);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2513
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2514
		CleanupStack::PopAndDestroy(); //textdata 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2515
		CleanupStack::PopAndDestroy(); // GlobalNote
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2516
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2517
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2518
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2519
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2520
void CImageEditorAppUi::DeleteTempFiles() const
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2521
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2522
	// Get the used temp directory path.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2523
	// Take drive letter from iDocumentName
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2524
	TParse parse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2525
	parse.Set(KTempPath, &iDocumentName, NULL);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2526
	TPtrC tempDir = parse.DriveAndPath();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2527
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2528
		LOGFMT (KImageEditorLogFile, "CImageEditorAppUi::DeleteTempFiles(): %S", &tempDir);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2529
	// Delete all files in the temp directory
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2530
	_LIT(KAllFiles, "*.*");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2531
	TFindFile file_finder(iEikonEnv->FsSession());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2532
	CDir* file_list;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2533
	TInt err = file_finder.FindWildByDir(KAllFiles, tempDir, file_list);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2534
	while (err == KErrNone)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2535
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2536
		TInt i;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2537
		for (i = 0; i < file_list->Count(); i++)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2538
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2539
			const TDesC& name = (*file_list)[i].iName;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2540
			const TDesC& related = file_finder.File();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2541
			TParse fullentry;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2542
			fullentry.Set(name, &related, NULL);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2543
			BaflUtils::DeleteFile(iEikonEnv->FsSession(), fullentry.FullName());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2544
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2545
		delete file_list;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2546
		err = file_finder.FindWild(file_list);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2547
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2548
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2549
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2550
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2551
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2552
void CImageEditorAppUi::FinalizeSaveL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2553
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2554
	LOG(KImageEditorLogFile, "CImageEditorAppUi::FinalizeSaveL");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2555
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2556
#ifdef FILE_TIME_STAMP_UPDATE    
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2557
		// Set the timestamp of the saved file to original file's timestamp + 2 seconds.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2558
		// The idea is to make the original and edited images appear next to each other.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2559
		TEntry original;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2560
		TInt err = iEikonEnv->FsSession().Entry( iSourceFileName, original );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2561
		if (KErrNone == err)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2562
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2563
			TTime newTime = original.iModified + TTimeIntervalSeconds (2);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2564
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2565
			CFileMan* fileMan = CFileMan::NewL( iEikonEnv->FsSession() );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2566
			CleanupStack::PushL (fileMan);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2567
			fileMan->Attribs(iDocumentName, 0, 0, newTime); // do not set or clear anything, mofify time 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2568
			CleanupStack::PopAndDestroy (fileMan);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2569
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2570
#endif
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2571
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2572
	LOG(KImageEditorLogFile, "CImageEditorAppUi: Check if source image belongs to an album");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2573
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2574
	iSourceImageMgAlbumIdList.Reset();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2575
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2576
	LOG(KImageEditorLogFile, "CImageEditorAppUi: publish the filename for provider");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2577
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2578
	// Publish & Subscribe API used for delivering document name to AIW provider
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2579
	TInt err2 = RProperty::Define(KImageEditorProperties, EPropertyFilename,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2580
			RProperty::EText);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2581
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2582
	if (err2 != KErrAlreadyExists)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2583
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2584
		User::LeaveIfError(err2);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2585
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2586
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2587
	User::LeaveIfError(RProperty::Set(KImageEditorProperties,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2588
			EPropertyFilename, iDocumentName));
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2589
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2590
	LOG(KImageEditorLogFile, "CImageEditorAppUi::FinalizeSaveL out");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2591
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2592
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2593
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2594
void CImageEditorAppUi::HandleVolumeUpL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2595
	{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2596
	LOG(KImageEditorLogFile, "CImageEditorAppUi::HandleVolumeUpL: in");
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2597
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2598
	TKeyEvent key;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2599
	key.iScanCode = EStdKeyIncVolume;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2600
	key.iCode = EKeyIncVolume;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2601
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2602
	if (LandscapeScreenOrientation())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2603
		{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2604
		key.iScanCode = EStdKeyDecVolume;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2605
		key.iCode = EKeyDecVolume;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2606
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2607
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2608
	key.iRepeats = 0;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2609
	iEikonEnv->SimulateKeyEventL(key, EEventKey);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2610
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2611
	LOG(KImageEditorLogFile, "CImageEditorAppUi::HandleVolumeUpL: out");
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2612
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2613
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2614
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2615
void CImageEditorAppUi::HandleVolumeDownL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2616
	{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2617
	LOG(KImageEditorLogFile, "CImageEditorAppUi::HandleVolumeDownL: in");
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2618
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2619
	TKeyEvent key;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2620
	key.iScanCode = EStdKeyDecVolume;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2621
	key.iCode = EKeyDecVolume;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2622
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2623
	if (LandscapeScreenOrientation())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2624
		{
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2625
		key.iScanCode = EStdKeyIncVolume;
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2626
		key.iCode = EKeyIncVolume;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2627
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2628
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2629
	key.iRepeats = 0;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2630
	iEikonEnv->SimulateKeyEventL(key, EEventKey);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2631
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2632
	LOG(KImageEditorLogFile, "CImageEditorAppUi::HandleVolumeDownL: out");
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2633
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2634
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2635
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2636
void CImageEditorAppUi::SaveImageOverWriteL(TBool aOverWrite)
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2637
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2638
		LOG(KImageEditorLogFile, "CImageEditorAppUi: SaveImageOverWriteL: in");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2639
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2640
	// Generate temporary save file name
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2641
	TParse tempFileParser;
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2642
	tempFileParser.Set(KTempSaveFile, &KTempPath, &iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2643
	iTempSaveFileName.Copy(tempFileParser.FullName());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2644
	BaflUtils::EnsurePathExistsL(iEikonEnv->FsSession(), iTempSaveFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2645
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2646
	if (iExitFromApp)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2647
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2648
		TInt
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2649
				exit = ((CImageEditorUIView *) iEditorView)->LaunchExitWithoutSavingQueryL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2650
		if (exit)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2651
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2652
			// Exit
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2653
			User::Leave(KSIEEErrorOkToExit);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2654
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2655
		else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2656
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2657
			iExitFromApp = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2658
			User::Leave(KSIEEInternal);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2659
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2660
		}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2661
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2662
	// overwrite the existing file
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2663
	if (aOverWrite)
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2664
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2665
		iDocumentName = iSourceFileName;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2666
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2667
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2668
	// save with a new file name
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2669
	else
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2670
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2671
		// Check document name if not saved yet or memory card removed
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2672
		if (!iImageSaved || !BaflUtils::PathExists(iEikonEnv->FsSession(),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2673
				iTempSaveFileName.Left(3)))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2674
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2675
			//  If not saved yet, check that document name is valid 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2676
			CheckFileL(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2677
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2678
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2679
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2680
	//	Set temp save image name to engine
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2681
	iEditorManager->SetImageName(iTempSaveFileName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2682
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2683
	//	Launch save wait note
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2684
	LaunchSaveWaitNoteL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2685
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2686
	iCallback->DoCallback(KObSaveCallbackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2687
	LOG(KImageEditorLogFile, "CImageEditorAppUi: SaveImageOverWriteL: out");
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2688
	}
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2689
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2690
//=============================================================================
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2691
TInt CImageEditorAppUi::QueryAndSaveL()
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2692
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2693
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2694
	TInt isSaved = 0;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2695
	TInt userSelection = 0;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2696
	TBool isFileOpen = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2697
	RFs& fs = iEikonEnv->FsSession();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2698
	TInt err = fs.IsFileOpen(iSourceFileName, isFileOpen);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2699
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2700
	// Check if .jpg or .jpeg file
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2701
	TBool isJpgExtension = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2702
	TParsePtrC fileParse(iSourceFileName);
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2703
	_LIT( KJpgExtension, ".jpg" );
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2704
	_LIT( KJpegExtension, ".jpeg" );
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2705
	TPtrC extension(fileParse.Ext());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2706
	if ((extension.MatchF(KJpgExtension) == KErrNone) || (extension.MatchF(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2707
			KJpegExtension) == KErrNone))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2708
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2709
		isJpgExtension = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2710
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2711
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2712
	// If source file is open (e.g. in ImageViewer application) don't give
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2713
	// user an option to replace original but launch directly "Save with a
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2714
	// new name query. Don't give other that jpg originals.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2715
	if (!isFileOpen && isJpgExtension)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2716
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2717
		// the user selects to save with a new file name
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2718
		// launch query with choices "Replace original" and 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2719
		// "Save with a new file name" 
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2720
		userSelection = ((CImageEditorUIView *) iEditorView)->LaunchSaveImageQueryL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2721
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2722
	SetOrientationL(Orientation());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2723
	SetLayoutAwareApp(EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2724
	// If user has selected "Save with a new file name"
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2725
	if (userSelection == 0)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2726
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2727
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2728
		// Multiple drive support enabled
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2729
#ifdef RD_MULTIPLE_DRIVE
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2730
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2731
		TDriveNumber driveNumber;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2732
		TFileName driveAndPath;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2733
		// new multi drive dialog
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2734
		CAknMemorySelectionDialogMultiDrive* multiDriveDlg = CAknMemorySelectionDialogMultiDrive::NewL(ECFDDialogTypeSave,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2735
						EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2736
		CleanupStack::PushL(multiDriveDlg);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2737
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2738
		// launch "Select memory" query (mds)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2739
		if (multiDriveDlg->ExecuteL(driveNumber, &driveAndPath, NULL ))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2740
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2741
			// Generate a default name for the new file
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2742
			TInt err = ImageEditorUtils::GenerateNewFileNameL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2743
					iEikonEnv->FsSession(), iSourceFileName, iDocumentName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2744
					driveAndPath, NULL );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2745
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2746
			driveAndPath.Append(PathInfo::ImagesPath());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2747
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2748
			//Save as the original  file format.
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2749
			iDocumentName.Delete(iDocumentName.Length() - 5, 4);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2750
			iDocumentName.Append(fileParse.Ext());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2751
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2752
			// launch file name prompt dialog
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2753
			// the generated name is shown as a default name in dialog
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2754
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2755
			TBuf<160> tmp(iDocumentName.Left(160));
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2756
			iSavingQuery = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2757
			if (CAknFileNamePromptDialog::RunDlgLD(tmp, /* iDocumentName, */
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2758
			driveAndPath, KNullDesC))
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2759
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2760
				iDocumentName.Copy(tmp);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2761
				iSavingQuery = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2762
				// add just queried filename to the path
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2763
				driveAndPath.Append(iDocumentName);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2764
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2765
				iDocumentName = driveAndPath;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2766
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2767
				SaveImageOverWriteL(EFalse);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2768
				isSaved = 1;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2769
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2770
			iSavingQuery = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2771
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2772
		CleanupStack::PopAndDestroy(multiDriveDlg);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2773
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2774
#else // No multiple drive support
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2775
		CAknMemorySelectionDialog::TMemory selectedMemory(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2776
				CAknMemorySelectionDialog::EPhoneMemory );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2777
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2778
		// launch "Select memory" query
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2779
		if ( CAknMemorySelectionDialog::RunDlgLD( selectedMemory ) )
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2780
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2781
			// create path for the image
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2782
			TFileName driveAndPath;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2783
			ImageEditorUtils::TMemorySelection memorySelection =
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2784
			ImageEditorUtils::ESelectPhone;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2785
			if( selectedMemory == CAknMemorySelectionDialog::EPhoneMemory )
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2786
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2787
				memorySelection = ImageEditorUtils::ESelectPhone;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2788
				driveAndPath.Copy( PathInfo::PhoneMemoryRootPath() );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2789
				driveAndPath.Append( PathInfo::ImagesPath() );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2790
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2791
			else if ( selectedMemory ==
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2792
					CAknMemorySelectionDialog::EMemoryCard )
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2793
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2794
				memorySelection = ImageEditorUtils::ESelectMmc;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2795
				driveAndPath.Copy( PathInfo::MemoryCardRootPath() );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2796
				driveAndPath.Append( PathInfo::ImagesPath() );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2797
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2798
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2799
			TInt err = ImageEditorUtils::GenerateNewDocumentNameL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2800
					iEikonEnv->FsSession(),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2801
					iSourceFileName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2802
					iDocumentName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2803
					&iSourceImageMgAlbumIdList,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2804
					NULL,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2805
					memorySelection );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2806
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2807
			// launch file name prompt dialog
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2808
			// the generated name is shown as a default name
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2809
			iSavingQuery = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2810
			if ( CAknFileNamePromptDialog::RunDlgLD( iDocumentName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2811
							driveAndPath,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2812
							KNullDesC ) )
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2813
				{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2814
				iSavingQuery = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2815
				TInt err = ImageEditorUtils::GenerateFilePathL(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2816
						iEikonEnv->FsSession(),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2817
						iSourceFileName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2818
						iDocumentName,
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2819
						memorySelection
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2820
				);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2821
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2822
				SaveImageOverWriteL( EFalse );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2823
				isSaved = 1;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2824
				}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2825
			iSavingQuery = EFalse;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2826
			}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2827
#endif
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2828
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2829
	// the user selects to overwrite the original image
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2830
	else if (userSelection == 1)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2831
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2832
		SaveImageOverWriteL(ETrue);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2833
		isSaved = 1;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2834
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2835
	return isSaved;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2836
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2837
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2838
// ----------------------------------------------------------------------------
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2839
// CImageEditorAppUi::HandleVolumeKeyEvent
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2840
// ----------------------------------------------------------------------------
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2841
//
8
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2842
void CImageEditorAppUi::HandleVolumeKeyEvent(
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2843
		TRemConCoreApiOperationId aOperationId, TRemConCoreApiButtonAction /* aButtonAct */)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2844
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2845
	if (((CImageEditorUIView *) iEditorView)->GetContainer())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2846
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2847
		if (!((CImageEditorUIView *) iEditorView)->GetContainer()->IsFocused())
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2848
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2849
			return;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2850
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2851
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2852
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2853
	if (iForeground)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2854
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2855
		TKeyEvent keyEvent;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2856
		if (aOperationId == ERemConCoreApiVolumeUp)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2857
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2858
			keyEvent.iScanCode = EStdKeyIncVolume;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2859
				TRAP_IGNORE( HandleKeyEventL( keyEvent, EEventKey ) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2860
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2861
		else if (aOperationId == ERemConCoreApiVolumeDown)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2862
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2863
			keyEvent.iScanCode = EStdKeyDecVolume;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2864
				TRAP_IGNORE( HandleKeyEventL( keyEvent, EEventKey ) );
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2865
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2866
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2867
	}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2868
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2869
void CImageEditorAppUi::InitialHorizontalDrawPlugin()
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2870
	{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2871
	//    //	Get pointer to the view
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2872
	CImageEditorUIView * view = (CImageEditorUIView *) iEditorView;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2873
	
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2874
	TRect rect;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2875
	iResolutionUtil->GetClientRect(rect);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2876
	SetFullScreenL();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2877
	//	Create a plug-in control
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2878
	//  Ownership is moved to the plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2879
	CCoeControl * control = NULL;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2880
	TInt err = iEditorManager->CreatePluginControlL(rect, view->GetContainer(),
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2881
			control);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2882
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2883
	LOG(KImageEditorLogFile, "CImageEditorAppUi: Plugin control created");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2884
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2885
	//  The plug-in activation was cancelled
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2886
	if (err != KErrNone)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2887
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2888
		//	Cancel plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2889
		iCancelling = ETrue;
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2890
		iCallback->DoCallback(KObCancelCallbackID);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2891
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2892
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2893
	//  Activate plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2894
	else
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2895
		{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2896
		//  Register control to UI
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2897
		view->ActivatePluginL(control);
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2898
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2899
		LOG(KImageEditorLogFile, "CImageEditorAppUi: Plugin activated");
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2900
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2901
		//  If the filter did not have a control, close plug-in
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2902
		if (!control)
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2903
			{
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2904
			iEditorManager->ClosePlugin();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2905
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2906
			}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2907
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2908
		//  Set the last opened image to editor view
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2909
		((CImageEditorUIView *) iEditorView)->SetImageL(iEditorManager->GetPreviewImage());
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2910
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2911
		ResetBusy();
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2912
		}
18b321db4884 *m enhance
qifeima <>
parents: 1
diff changeset
  2913
	}
1
edfc90759b9f Committing the Image Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
  2914
// End of File