diff -r 5b6f26637ad3 -r f4a778e096c2 phonebookui/Phonebook2/inc/CPbk2MergePhotoConflictDlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/inc/CPbk2MergePhotoConflictDlg.h Wed Sep 01 12:29:52 2010 +0100 @@ -0,0 +1,150 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Provides Image conflict resolution dialog +* for Contact Merge command. +* +*/ + +#ifndef CPBK2MERGEPHOTOCONFLICTDLG_H +#define CPBK2MERGEPHOTOCONFLICTDLG_H + +// INCLUDES +#include +#include +#include +#include +#include + +// CLASS DECLARATION +class CEikFormattedCellListBox; +class CAknNavigationDecorator; +class CFbsBitmap; +class CPbk2ImageManager; +class MPbk2ImageOperation; +class MVPbkBaseContact; +class CVPbkContactManager; + +/** + * CPbk2MergePhotoConflictDlg + * + */ +NONSHARABLE_CLASS( CPbk2MergePhotoConflictDlg ) : public CAknDialog, + private MPbk2ImageGetObserver, + private MEikListBoxObserver + { +public: // construction + + /** + * Two-phased constructor. + */ + IMPORT_C static CPbk2MergePhotoConflictDlg* NewL( MVPbkBaseContact* aFirstContact, + MVPbkBaseContact* aSecondContact, + TInt* aResult ); + + /** + * Destructor. + */ + ~CPbk2MergePhotoConflictDlg(); + +private: // construction + + /** + * Constructor for performing 1st stage construction + */ + CPbk2MergePhotoConflictDlg( MVPbkBaseContact* aFirstContact, + MVPbkBaseContact* aSecondContact, + TInt* aResult ); + /** + * Default constructor for performing 2nd stage construction + */ + void ConstructL(); + +private: // from MEikListBoxObserver + + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + +private: // from CAknDialog + + void PreLayoutDynInitL(); + + TBool OkToExitL( TInt aButtonId ); + + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); + + void SizeChanged(); + +private: //functions from MPbk2ImageGetObserver + void Pbk2ImageGetComplete( + MPbk2ImageOperation& aOperation, + CFbsBitmap* aBitmap ); + + void Pbk2ImageGetFailed( + MPbk2ImageOperation& aOperation, + TInt aError ); + +private: // new methods + + void SetIconsL(); + + void SetItemsL(); + + void SwitchRadioButtonL(); + + void SetNaviPaneL(); + + void SetTitlePaneL( TBool aCustom ); + + void InitBitmapAsyncL( MVPbkBaseContact& aContact ); + + void StopWait(); + + void StartWait(); + +private: // new methods + + /// Not own: Pointer for list control + CEikFormattedCellListBox* iListBox; + /// Own: Navi pane control + CAknNavigationDecorator* iNaviDecorator; + /// Not own: first bitmap to display + CFbsBitmap* iFirstImage; + /// Not own: second bitmap to display + CFbsBitmap* iSecondImage; + /// Not own: index of selected image + TInt* iSelectedItem; + /// Own: Selection indicator string + HBufC* iSelectedString; + /// Not own: contact to be merged + MVPbkBaseContact* iFirstContact; + /// not own: contact to be merged + MVPbkBaseContact* iSecondContact; + /// Not own: contact manager + CVPbkContactManager* iContactManager; + /// own: image manager + CPbk2ImageManager* iImageManager; + /// Own. Image operation for first contact + MPbk2ImageOperation* iImageOperationFirst; + + /// Own. Image operation for first contact + MPbk2ImageOperation* iImageOperationSecond; + + /// Own. size of image to be shown in photo conflict dialog + TSize iSize; + + /// Own: Active scheduler waiter + CActiveSchedulerWait* iWait; + + }; + +#endif // CPBK2MERGEPHOTOCONFLICTDLG_H