diff -r 000000000000 -r 72b543305e3a mobilemessaging/smum/inc/SmumSettingsDialogCDMA.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobilemessaging/smum/inc/SmumSettingsDialogCDMA.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,263 @@ +/* +* Copyright (c) 2002-2008 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: +* Main settings dialog for Sms. +* +*/ + + + +#ifndef SMUMSETTINGSDIALOGCDMA_H +#define SMUMSETTINGSDIALOGCDMA_H + +// INCLUDES +#include // CSmumSettingsDialog +#include +#include // Phonebook Engine +#include // Phonebook Contact +#include +#include +#include + +// DATA TYPES + +// LBI = ListBoxIndex + +enum TSmumMainSmsSettingsSettingLBIndexCDMA + { + ESmumPriorityLevelLBICDMA = 0, + ESmumCallbackNumberLBICDMA = 1, + ESmumMessageQueuingLBICDMA = 2, + ESmumDeliveryReportLBICDMA = 3 + }; + +enum TSmumMainSmsSendingOptSettingLBIndexCDMA + { + ESmumSendOptPriorityLevelLBICDMA = 0, + ESmumSendOptCallbackNumberLBICDMA = 1, + ESmumCdmaSendOptDeliveryReportLBICDMA = 2 + }; + +enum TSmumSettingsPriorityCDMA + { + ESmumPriorityNormal = 0, + ESmumPriorityUrgent = 1 + }; + +enum TSmumCallbackNumberSettingsList + { + ESmumUseThisPhoneNumber = 0, + ESmumAddFromContact = 1, + ESmumEnterPhoneNumber = 2, + ESmumNoCallbackNumber = 3 + }; + +enum TSmumMessageQueuing + { + ESmumQueuingOn =0, + ESmumQueuingOff =1 + }; + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +NONSHARABLE_CLASS(CSmumSettingsArray); +NONSHARABLE_CLASS(CEikTextListBox); +NONSHARABLE_CLASS(CAknTitlePane); +NONSHARABLE_CLASS(CSmsAccount); + +// CLASS DECLARATION + +/** +* SMUM's main sms settings dialog. +*/ +NONSHARABLE_CLASS(CSmumMainSettingsDialogCDMA) : public CSmumMainSettingsDialog + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CSmumMainSettingsDialog* NewL( + CSmsSettings& aSettings, + TInt aTypeOfSettings, + TInt& aExitCode, + CSmsHeader* aSmsHeader = NULL ); + + /** + * Destructor. + */ + ~CSmumMainSettingsDialogCDMA(); + + protected: // Functions from base classes + + /** + * From CAknDialog + */ + void ProcessCommandL(TInt aCommandId); + + /** + * From CEikDialog + */ + void PreLayoutDynInitL(); + + /** + * From CEikDialog + */ + TBool OkToExitL(TInt aButtonId); + + /** + * From CEikDialog + */ + void DynInitMenuPaneL(TInt aMenuId, CEikMenuPane* aMenuPane); + + /** + * From MEikListBoxObserver + */ + void HandleListBoxEventL( + CEikListBox* aListBox, + TListBoxEvent aEventType ); + + /** + * From CAknDialog + */ + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); + + /** + * From CCoeControl, returns help context + */ + void GetHelpContext(TCoeHelpContext& aContext) const; + + private: // New functions + + /** + * Initializing the values for listboxes in Sms Settings from Sms settings. + * @param none + * @return nothing + */ + void OpeningDialogL(); + + /** + * Updating the values from listboxes to Sms settings. + * @param none + * @return nothing + */ + void ClosingDialogL() const; + + /** + * Launch Service Centres dialog. + * @param none + * @return TInt button id + */ + TInt LaunchServiceCentresDialogL(); + + /** + * Updating "SC in use" dynamic array. + * @param none + * @return nothing + */ + void UpdateSCInUseArrayL(); + + /** + * Check what to open depending the focus of listbox + * @param TBool aEnterPressed + * @return nothing + */ + void CheckOpeningListBoxItemL(TBool aEnterPressed); + + + /** + * Reads the phone's won number from the NAM + * @param TBuf ownNumber + * @return nothing + */ + void ReadOwnNumberL(TDes& aOwnNumber); + + /** + * Selects a callback number from the phonebook engine + * @param TBuf number + * @return nothing + */ + void DoAddressBookDialogL(TDes& aNumber); + + + /** + * Set item to listbox. + * @param TInt aSettingLBIndex, TInt aValue + * @return nothing + */ + void SetItem(TInt aSettingLBIndex, TInt aValue);// new method + + /** + * Get item value from listbox. + * @param TInt TInt aSettingLBIndex + * @return TInt + */ + TInt Item(TInt aSettingLBIndex) const;// new method + + /** + * Launches help application + */ + void LaunchHelpL(); + + /* + * Checks if message queuing is on + * @returns true if queuing is On + */ + TBool IsMsgQueuingOnL(); + + /* + * Sets Message Queuing On/Off + * @param TBool aSetting On/Off setting + */ + void SetMsgQueuingOnL(TBool aSetting) const; + + private : + + /** + * C++ default constructor. + */ + CSmumMainSettingsDialogCDMA( + CSmsSettings& aSettings, + TInt aTypeOfSettings, + TInt& aExitCode, + CSmsHeader* aSmsHeader = NULL ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: // Data + CSmumSettingsArray* iSettingsArray; + CEikTextListBox* iListBox; + CSmsSettings& iSettings; + TInt iTypeOfSettings; // for knowing the type 0 = sms settings, 1 = send options, 2 = bio + TInt& iExitCode; + CSmsHeader* iSmsHeader; // for replypath handling + CAknTitlePane* iTitlePane; // for handling titlepanes + HBufC* iPreviousTitleText; // - " - + TBool iLaunchDialog; + TBool iHelpFeatureSupported; + HBufC* iNoCallbackNumber; // read from loc, to be displayed when there is no callback number set + CPbkContactEngine* iPbkEngine; + CSmsAccount* iSmsAccount; // For Queuing Settings + RPbkViewResourceFile iPhonebookResource; + TInt iMaxCallbackLength; // Maximum callback number length + TBool iDeliveryAckSupport; // Support for delivery ack + }; + +#endif // SMUMSETTINGSDIALOGCDMA_H + +// End of File