--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/IMPSServiceSettingsUI/Src/CWVSettingsUISettingItemEditor.h Wed Sep 01 12:31:13 2010 +0100
@@ -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 <e32base.h>
+#include <badesca.h>
+#include <aknsettingpage.h>
+
+// 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