diff -r 000000000000 -r 094583676ce7 wvuing/IMPSServiceSettingsUI/Src/CWVSettingsUISettingItemEditor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/IMPSServiceSettingsUI/Src/CWVSettingsUISettingItemEditor.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,175 @@ +/* +* Copyright (c) 2003 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: Setting item array editor +* +*/ + + + +#ifndef CWVSETTINGSUISETTINGITEMEDITOR_H +#define CWVSETTINGSUISETTINGITEMEDITOR_H + +// INCLUDES +#include "impscommonuibuilddefinitions.h" + +#include +#include +#include + +// FORWARD DECLARATIONS + +// CLASS DECLARATION +class CAknSettingItemArray; +class CIMPSSAPSettingsStore; +class CSelectionItemList; +class CIMPSPresenceConnectionUi; +class CIMPSSAPSettings; + +/** +* Setting item list creator +* Creates a setting item list. +* +* @lib WVServiceSettingsUi.dll +* @since 2.1 +*/ +NONSHARABLE_CLASS( CWVSettingsUISettingItemEditor ) : public CBase, public MAknSettingPageObserver + { +public: // Constructor and destructor + // prohibit construction and destruction + + /** + * C++ default constructor. + */ + CWVSettingsUISettingItemEditor(); + + /** + * Destructor. + */ + virtual ~CWVSettingsUISettingItemEditor(); + +public: // New methods + + /** + * Creates a setting item list. + * @param aIsPopUp is the setting item a popup + * @param aListBoxIndex index of the edited item + * @param aSettingItemList setting item array + * @param aSAPSettingsStore SAP settings store + * @param aPECLoginType PEC login type + * @param aPECLoginTypeEdited tells if the login type was edited + * @param aIMLoginTypeEdited tells if the login type was edited + * @param aSelectedDaysPEC selected days array of PEC + * @param aConnectHoursPECInt connection hours + * @param aPECConnHoursEdited was PEC connection hours edited + * @param aSelectedDaysIM selected days array of IM + * @param aConnectHoursIMInt connection hours + * @param aIMConnHoursEdited was IM connection hours edited + * @param aCancelled was edit cancelled + * @param aCASettings tell if we are showing CA settings item + * @return setting item list + */ + void EditSettingItemL( TBool aIsPopUp, + TInt aListBoxIndex, + CAknSettingItemArray& aSettingItemList, + CIMPSSAPSettingsStore& aSAPSettingsStore, + TInt& aIMLoginType, + TBool& aIMLoginTypeEdited, + CSelectionItemList* aSelectedDaysIM, + TInt& aConnectHoursIMInt, + TBool& aIMConnHoursEdited, + TBool& aCancelledaCancelled, + TInt aSettingItem, + CIMPSPresenceConnectionUi* aConnectionUI = NULL, + TBool * aForcedLoginMade = NULL ); + +private: // New methods + + /** + * Show missing information error note + * @since 2.1 + */ + void ShowMissingInfoErrorNoteL(); + + /** + * Edits connect days setting item + * @param aSelectionItemList a list of the days that can be selected + * @param aCancelled was edit cancelled + * @since 2.5 + */ + void EditConnectedDaysL( CSelectionItemList* aSelectionItemList, TBool& aCancelled ); + + /** + * Edit connect hours setting item + * @param aConnectHoursInt tells which setting item is selected + * @param aCancelled was edit cancelled + * @since 2.5 + */ + void EditConnectedHoursL( TInt& aConnectHoursInt, TBool& aCancelled ); + + /** + * Edit login type setting item + * @see EditConnectedHoursL + * @since 2.6 + */ + void EditLoginTypeL( TBool aIsPopUp, + TInt aListBoxIndex, + CAknSettingItemArray& aSettingItemList, + CIMPSSAPSettingsStore& aSAPSettingsStore, + TInt& aIMLoginType, + TBool& aIMLoginTypeEdited, + CSelectionItemList* aSelectedDaysIM, + TInt& aConnectHoursIMInt, + TBool& aIMConnHoursEdited, + TBool& aCancelled, + TInt aSettingItem ); + + /** + * Shows necessary query and executes login + * if user tries to activate automatic login + * type for server he/she hasn't not logged in + * before. + * @since S60 v3.2 + * @param aSapSettings reference to current SAP + * @return ETrue if user accepted quey and login succesful, + * EFalse if user cancelled query or login cancelled + * or failed. + */ + TBool ForceLoginL( CIMPSSAPSettings& aSapSettings ); + +private: // methods from base classes + /** + * From MAknSettingPageObserver + * @see MAknSettingPageObserver + */ + virtual void HandleSettingPageEventL( CAknSettingPage* aSettingPage, + TAknSettingPageEvent aEventType ); + + +private: // Data + + // Doesn't own: SAP Settings store + CIMPSSAPSettingsStore* iSAPSettingsStore; + // Doesn't own: Setting item array + CAknSettingItemArray* iSettingItemArray; + + // Doesn't own: Connection UI + CIMPSPresenceConnectionUi* iConnectionUI; + + // Will tell if forced login was completed or not + TBool* iForcedLoginMade; + }; + +#endif // CWVSETTINGSUISETTINGITEMEDITOR_H + +// End of File