diff -r 000000000000 -r 72b543305e3a mobilemessaging/smum/inc/SmumServiceCentreItemDialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobilemessaging/smum/inc/SmumServiceCentreItemDialog.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,172 @@ +/* +* 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: +* A dialog for adding new and editing old service centres. +* +*/ + + + +#ifndef SMUMSERVICECENTREITEMDIALOG_H +#define SMUMSERVICECENTREITEMDIALOG_H + +// INCLUDES +#include // CAknDialog +#include // MEikListBoxObserver + +#include + +// CONSTANTS + +// MACROS + +// DATA TYPES +enum TSmumServiceCentreItemIndex + { + ESmumServiceCentreName = 0, + ESmumServiceCentreNumber = 1 + }; + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class CMuiuSettingsArray; +class CEikTextListBox; +class CSmsSettings; +class CAknTitlePane; +class CSmumSCArray; + +// CLASS DECLARATION + +/** +* SMUM's main sms settings dialog. +*/ +NONSHARABLE_CLASS( CSmumAddEditServiceCentreDialog ): + public CAknDialog, + public MEikListBoxObserver + { + public: // Constructors and destructor + + /** + * Constructor. + */ + CSmumAddEditServiceCentreDialog( + TDes& aName, + TDes& aNumber, + TInt& aExitCode, + TBool aHelpFeatureSupported, + CSmumSCArray* aSCDlgsAddressesList = NULL, + TBool aSimSCsOnly = EFalse ); + + /** + * Destructor. + */ + ~CSmumAddEditServiceCentreDialog(); + + protected: // Functions from base classes + + /** + * From CAknDialog + */ + void ProcessCommandL(TInt aCommandId); + + /** + * From CEikDialog + */ + void PreLayoutDynInitL(); + + /** + * From CEikDialog + */ + TBool OkToExitL(TInt aButtonId); + + /** + * From MEikListBoxObserver + */ + void HandleListBoxEventL( + CEikListBox* aListBox, + TListBoxEvent aEventType); + + /** + * From CAknDialog + */ + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); + + /** + * From CAknDialog + */ + void DynInitMenuPaneL(TInt aMenuId, CEikMenuPane* aMenuPane); + + /** + * From CCoeControl, returns help context + */ + void GetHelpContext(TCoeHelpContext& aContext) const; + + private: // New functions + + /** + * Updating the array with new values from dialog's list boxes. + * @param none + * @return TBool + */ + TBool ClosingSCItemDialogL(); + + /** + * Prepare to open needed setting page + * @param TBool aEnterPressed + * @return nothing + */ + void OpenSettingPageL(TBool aEnterPressed); + + /** + * Open settingpage for editing name, update title if necessary + * @param TBool aEnterPressed + * @param TInt aIndex + * @return nothing + */ + void ModifyScNameL(TBool aEnterPressed, TInt aIndex); + + /** + * Open settingpage for editing number + * @param TBool aEnterPressed + * @param TInt aIndex + * @return nothing + */ + void ModifyScNumberL(TBool aEnterPressed, TInt aIndex); + + /** + * Replaces tab and enter characters by spaces using AknTextUtils::ReplaceCharacters + */ + void ReplaceCharacters( TDes& aText ); + + /** + * Launches help application + */ + void LaunchHelpL(); + + private: // Data + CMuiuSettingsArray* iSettingsArray; + CEikTextListBox* iListBox; + TDes& iName; + TDes& iNumber; + TInt& iExitCode; + TBool iHelpFeatureSupported; + CSmumSCArray* iSCDlgsAddressesList; + CAknTitlePane* iTitlePane; + HBufC* iPreviousTitleText; + TBool iSimSCsOnly; + }; +#endif // SMUMSERVICECENTREITEMDIALOG_H + +// End of File