diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook/inc/CPbkSettingsDlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook/inc/CPbkSettingsDlg.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,107 @@ +/* +* Copyright (c) 2002 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: +* Settings list dialog for Phonebook. +* +*/ + + +#ifndef __CPbkSettingsDlg_H__ +#define __CPbkSettingsDlg_H__ + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CPbkSettingsList; +class CAknTitlePane; +class CAknNavigationDecorator; +class CPbkContactEngine; +class TCoeHelpContext; +class CAknWaitDialog; + +// CLASS DECLARATION + +/** + * Settings list dialog. + */ +class CPbkSettingsDlg : + public CAknDialog, + private MContactViewObserver + { + public: // interface + /** + * Creates a new instance of this class. + * @param aEngine reference to Phonebook engine + */ + IMPORT_C static CPbkSettingsDlg* NewL(CPbkContactEngine& aEngine); + + /** + * Executes the settings dialog. + */ + IMPORT_C void ExecuteLD(); + + private: // from CAknDialog + void PreLayoutDynInitL(); + void ProcessCommandL(TInt aCommandId); + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, + TEventCode aType); + TBool OkToExitL(TInt aButtonId); + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + void FocusChanged( TDrawNow aDrawNow ); + private: // from MContactViewObserver + void HandleContactViewEvent + (const CContactViewBase& aView,const TContactViewEvent& aEvent); + + private: // from CCoeControl + void SizeChanged(); + void HandleResourceChange(TInt aType); + + private: // implementation + CPbkSettingsDlg(CPbkContactEngine& aEngine); + void ConstructL(); + ~CPbkSettingsDlg(); + void CreateSettingsListL(); + void AttemptExit(); + void SaveTitlePaneL(); + void SetupPanesL(); + void SaveSettingsL(); + void GetHelpContext(TCoeHelpContext& aContext) const; + TRect ReadScreenResourceL(TInt aResourceId); + + private: // data + /// Ref: phonebook engine + CPbkContactEngine& iEngine; + /// Own: settings list + CPbkSettingsList* iSettingsList; + /// Own: title pane text to restore on exit + HBufC* iStoredTitlePaneText; + /// Ref: application's title pane + CAknTitlePane* iTitlePane; + /// Own: navi pane control + CAknNavigationDecorator* iNaviDecorator; + /// Ref: all contacts view + CContactViewBase* iAllContactsView; + /// Own: underlying view state + TBool iUnderlyingViewReady; + /// Own: wait note wrapper + CAknWaitDialog* iWaitNote; + /// For testing only + friend class CPbkSettingsDlg_TestAccess; + }; + +#endif // __CPbkSettingsDlg_H__ + +// End of File