diff -r ebe688cedc25 -r 7fdbb852d323 mobilemessaging/smum/inc/SmumSettingsDialogGSM.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobilemessaging/smum/inc/SmumSettingsDialogGSM.h Wed Sep 01 12:31:54 2010 +0100 @@ -0,0 +1,342 @@ +/* +* 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: +* Main settings dialog for Sms. +* +*/ + + + +#ifndef SMUMSETTINGSDIALOGGSM_H +#define SMUMSETTINGSDIALOGGSM_H + +// INCLUDES +#include // CSmumSettingsDialog + +// CONSTANTS +const TInt KSmumStringLength = 50; + +// FORWARD DECLARATIONS +class CAknNavigationControlContainer; +class CRepository; + +// MACROS + +// DATA TYPES +enum TSmumSettingsValidityPeriod + { + ESmumValidityPeriodHour = 0, + ESmumValidityPeriodSixHours = 1, + ESmumValidityPeriod24Hours = 2, + ESmumValidityPeriod3Days = 3, + ESmumValidityPeriodWeek = 4, + ESmumValidityPeriodMaximum = 5 + }; + +enum TSmumSettingsConversion + { + ESmumConversionNone = 0, + ESmumConversionFax = 1, + ESmumConversionPaging = 2 + }; + +enum TSmumSettingsDelivery + { + ESmumDeliveryImmediately = 0, + ESmumDeliveryUponRequest = 1 + }; + +enum TSmumConnectionType + { + ESmumPreferGSMConnection = 0, + ESmumPreferGPRSConnection = 1 + }; + +// LBI = ListBoxIndex +enum TSmumMainSmsSettingsSettingLBIndex + { + ESmumServiceCentresLBI, //= 0 + ESmumServiceCentreInUseLBI, //= 1 + ESmumEmailServiceCentreLBI, //= 2, + ESmumCharSupportInUseLBI, //= 3 + ESmumDeliveryReportLBI, //= 4 + ESmumValidityPeriodLBI, //= 5 + // REQ:417-48417 Message forward with sender info + ESmumForwardWithSenderInfoLBI, //= 6 + // End REQ:417-48417 + ESmumPreferredConnectionLBI, //= 7 + ESmumReplyViaSameCentreLBI //= 8 + }; + +enum TSmumMainSmsSendingOptSettingLBIndex + { + ESmumSendOptServiceCentreInUseLBI, //= 0, + ESmumSendOptCharSupportInUseLBI, //= 1, + ESmumSendOptDeliveryReportLBI, //= 2, + ESmumSendOptValidityPeriodLBI, //= 3, + ESmumSendOptReplyViaSameCentreLBI //= 4 + }; + + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class CSmumSettingsArray; +class CEikTextListBox; +class CAknTitlePane; + +// CLASS DECLARATION + +/** +* SMUM's main sms settings dialog. +*/ +NONSHARABLE_CLASS( CSmumMainSettingsDialogGSM ) : public CSmumMainSettingsDialog + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CSmumMainSettingsDialog* NewL( + CSmsSettings& aSettings, + TInt aTypeOfSettings, + TInt& aExitCode, + TInt& aCharSetSupportForSendingOptions, + CSmsHeader* aSmsHeader = NULL ); + + /** + * Destructor. + */ + ~CSmumMainSettingsDialogGSM(); + + 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; + + /** + * From CEikDialog + */ + void HandleResourceChange( TInt aType ); + + private: // New functions + enum TCSPSupportedSettings + { + // Support for validity period + EValidityPeriodSupport = 0x0001, + // Support for Protocol ID "Message conversion" + EProtocolIDSupport = 0x0002, + // Support for delivery repot + EDeliveryReportSupport = 0x0004, + // Support for Reply Path "Reply via same centre" + EReplyPathSupport = 0x0008, + }; + + /** + * 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(); + + /** + * 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); + + /** + * 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(); + + /** + * Returns the index of variated listbox selection + * @since 2.6 + * @param aListSelection, listbox selection + * @return TInt, variated index of selection + */ + TInt GetVariatedSelectionIndex( + const TInt aListSelection ) const; + + /** + * Delete not supported settings according to CSP bits + * and Email over sms feature + * @since 2.6 + */ + void DeleteVariatedSettings(); + + /** + * Deletes one single setting item from settings arrays + * @since 2.6 + * @param aIndex index of the setting in array that will be removed + */ + void DeleteSettingItemFromArrays( TInt aIndex ); + + /** + * Read CSP bits from sim + * @since 2.6 + */ + void ReadCspSupportBitsL(); + + /** + * Reads the setting value and sets it to member variable + * @since 3.0 + * @return TInt, 0 for Full charset support, 1 for Reduced + */ + TInt ReadCharSetSupport(); + + /** + * Displays the configuration page for + * Email Over Sms settings(SMSC and Email Gateway) + * @since 2.6 + */ + void DisplayEmailOverSmsSettingsL(); + + /** + * Updates the Middle Softkey + * @since 3.1 + */ + void UpdateMskL( ); + + /** + * Does delayed exit after specified delay + * @since S60 v5.0 + * @param aDelayTime Requested delay in microseconds + */ + void DoDelayedExitL( const TInt aDelay ); + + /** + * Used for exiting application properly + * @since S60 v5.0 + * param aThis Pointer to this AppUi + */ + static TInt DelayedExit( TAny* aThis ); + + private : + + /** + * C++ default constructor. + */ + CSmumMainSettingsDialogGSM( + CSmsSettings& aSettings, + TInt aTypeOfSettings, + TInt& aExitCode, + TInt& aCharSetSupportForSendingOptions, + 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 iHelpFeatureSupported; + CAknNavigationControlContainer* iSmumNaviPane; //not owned + TUint iCSPFeatures; + CArrayFixFlat* iSettingsArrayIndex; + TInt& iCharacterSupport; + CRepository* iCentralRapository; + CPeriodic* iIdle; + TBool iUseSimSCsOnly; + TBool iEmailFeatureSupported; + TInt iRemoveReplyScSetting; + TInt iStoreSettingsIndex; + TInt iMskId; + // REQ:417-48417 Message forward with sender info + TBool iForwardWithSenderSupported; + // End REQ:417-48417 + }; + +#endif // SMUMSETTINGSDIALOGGSM_H + +// End of File