diff -r ebe688cedc25 -r 7fdbb852d323 messagingappbase/msgavkon/muiu_internal/settingsarray/inc/MuiuSettingsArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingappbase/msgavkon/muiu_internal/settingsarray/inc/MuiuSettingsArray.h Wed Sep 01 12:31:54 2010 +0100 @@ -0,0 +1,151 @@ +/* +* 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: +* Text, number, pasword, sc number and listbox settings +* +*/ + + + +#ifndef MUIUSETTINGSARRAY_H +#define MUIUSETTINGSARRAY_H + +// INCLUDES +#include // CUidNameArray +#include +#include + +// CONSTANTS +const TInt KMuiuMaxSettingsTextLength = 100; + +// DATA TYPES +typedef TBuf TMuiuSettingsText; + +// FORWARD DECLARATIONS +class CEikTextListBox; +class CUidNameArray; +class MMceAccountManager; +class CMuiuMtmSettingsArray; +class CAknSettingPage; + +// CLASS DECLARATION +struct TMuiuSettingsItem + { + TMuiuSettingsText iLabelText; + TMuiuSettingsType iType; + TBool iCompulsory; //Default value EFalse + TMuiuSettingsText iUserText; + TInt iUserTextMaxLength; + TInt iCurrentNumber; + CDesCArrayFlat* iMuiuSettingsItemArray; + TBool iLangSpecificNumConv; //Default value ETrue + }; + + + +/** +* Text, number, pasword, sc number and listbox settings. +*/ +class CMuiuSettingsArray : + public CArrayFixFlat, + public MDesCArray + { + public: + /* + * Two phase Symbian OS constructor + * @param aResourceId: resource id. Resource structure defined by MUIU_SETTINGS_ARRAY. + */ + IMPORT_C static CMuiuSettingsArray* NewL( TInt aResourceId ); + + /* + * destructor + */ + IMPORT_C virtual ~CMuiuSettingsArray(); + + /* + * Lauches avkon setting page for item aIndex (list setting page or text setting page) + * @param aIndex: item to be edited + * @param aEnterPressed: ETrue if enter pressed. Used only in list setting page if two + * items then toggle between two items. + * @return ETrue if edited, EFalse if no changes. + */ + IMPORT_C TBool EditItemL( TInt aIndex, TBool aEnterPressed = EFalse ); + + public: + /* + * from MDesCArray + */ + IMPORT_C virtual TInt MdcaCount() const; + + /* + * from MDesCArray + */ + IMPORT_C virtual TPtrC MdcaPoint(TInt aIndex) const; + + private: + + /* + * Opens list box setting page + */ + TBool HandleEditListBoxSettingsL( TInt aIndex, TBool aEnterPressed = EFalse ); + + /* + * Opens text setting page + */ + TBool HandleEditTextSettingsL( TInt aIndex ); + + /* + * Opens text setting page + */ + TBool HandleEditNumberL( TInt aIndex ); + + /* + * Opens text setting page + */ + TBool HandleEditPasswordL( TInt aIndex ); + + /* + * Opens Sc number edit setting page + */ + TBool HandleEditScNumberL( TInt aIndex ); + + /* + * Check if the read string is "Message sent as" + */ + TBool IsMessageSentStringL( HBufC* aString ); + + protected: + /* + * C++ default constructor + */ + IMPORT_C CMuiuSettingsArray(); + + /* + * Symbian OS constructor + */ + IMPORT_C void ConstructL( TInt aResourceId ); + + protected: + HBufC* iTempText; // use this if you override MdcaPoint + private: + HBufC* iCompulsoryText; + CAknSettingPage* iSettingPage; + TUint16 iPasswordFill; + RConeResourceLoader iResources; + }; + + +#endif // MUIUSETTINGSARRAY_H + +// End of file