commsconfig/cscsettingsui/inc/cscsettingsuimainview.h
branchRCL_3
changeset 22 d38647835c2e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/cscsettingsui/inc/cscsettingsuimainview.h	Wed Sep 01 12:29:57 2010 +0100
@@ -0,0 +1,286 @@
+/*
+* Copyright (c) 2007-2010 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:  Declatirion of CSCSettingsUiMainView
+*
+*/
+
+
+#ifndef C_CSCSETTINGSUIMAINVIEW_H
+#define C_CSCSETTINGSUIMAINVIEW_H
+
+class CCSCSettingsUiModel;
+class CAknRadioButtonSettingPage;
+
+class CAknNavigationControlContainer;
+class CAknNavigationDecorator;
+#include "cscsettingsuimaincontainer.h"
+
+/**
+ *  CCSCSettingsUiMainView class
+ *  Declarition of CCSCSettingsUiMainView.
+ *
+ *  @lib CSCSettingsUi.lib
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS( CCSCSettingsUiMainView ) : public CAknView,
+                                              public MEikListBoxObserver
+    {
+public: 
+
+    /**
+     * Two-phased constructor.
+     *
+     * @param aModel for reference to the model
+     */
+    static CCSCSettingsUiMainView* NewL( 
+        CCSCSettingsUiModel& aModel );
+
+    /**
+     * Two-phased constructor.
+     *
+     * @param aModel for reference to the model
+     */
+    static CCSCSettingsUiMainView* NewLC( 
+        CCSCSettingsUiModel& aModel );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CCSCSettingsUiMainView();
+
+    /**
+     * Processes situation when softkeys need to be changed.
+     *
+     * @since S60 v3.2
+     */
+    void UpdateSoftkeysL();
+
+    /**
+     * Resets service settings when switching services.
+     * 
+     * @since S60 v5.2
+     */
+    void ResetViewL();
+
+// from base class CAknView
+
+    /**
+     * From CAknView.
+     */
+    TUid Id() const;
+
+private:
+
+    CCSCSettingsUiMainView(
+        CCSCSettingsUiModel& aModel );
+    void ConstructL();
+
+    /**
+     * Changes given service name to title pane.
+     *
+     * @since S60 v3.2
+     */   
+    void SetTitleTextL();
+
+    /**
+     * For checking if editing of preferred service setting is allowed
+     *
+     * @since S60 v3.2
+     * @return ETrue if editing allowed
+     */
+    TBool IsEditPreferredServiceSettingAllowedL();
+
+    /**
+     * Shows preferred service setting page.
+     *
+     * @since S60 v5.0
+     */ 
+    void ShowUsernameSettingPageL();
+
+    /**
+     * Shows preferred service setting page.
+     *
+     * @since S60 v3.2
+     */ 
+    void ShowPasswordSettingPageL();        
+
+    /**
+     * Shows preferred service setting page.
+     *
+     * @since S60 v3.2
+     */ 
+    void ShowPrefServiceSettingPageL();
+
+    /**
+     * Shows preferred service setting page when VCC is supported.
+     *
+     * @since S60 v5.0
+     */ 
+    void ShowVccPrefServiceSettingPageL();
+
+    /**
+     * Shows IM tone selection list.
+     *
+     * @since S60 v5.0
+     */ 
+    void ShowImToneSelectionListL();
+
+    /**
+     * Handles 'change' middle softkey selection.
+     * 
+     * @param aListBoxItem listbox item
+     * @since S60 v5.0
+     */ 
+    void HandleMskChangeSelectionL( TMainListBoxItem aListBoxItem );
+
+    /**
+     * Changes preferred telephony setting value.
+     * From VoIP(PS) to CS or vice versa.
+     * @since S60 v3.2
+     */ 
+    void ChangePrefTelephonyValueL();
+
+    /**
+     * Changes handover notify tone value (on/off).
+     * @since S60 v5.0
+     */ 
+    void ChangeHandoverNotifToneValueL();
+
+    /**
+     * Appends resource texts to the des array.
+     *
+     * @since S60 v3.2
+     * @param aList Text array.
+     * @param aItem Text resource id.
+     */ 
+    void AppendItemL(CDesCArrayFlat& aList, TInt aItem);
+
+    /**
+     * Launches Connection Method Settings Ui for editing destinations.
+     *
+     * @since S60 v5.0
+     */   
+    void LaunchCMSettingsUiL();
+
+    /**
+     * Handles returning to previous view where settingsui was launced.
+     *
+     * @since S60 v5.0
+     */
+    void HandleReturnToPreviousViewL( TBool aViewBack = ETrue );
+
+    /**
+     * Handles exist from settingsui.
+     *
+     * @since S60 v5.0
+     */
+    void HandleSettingsUiExitL();
+
+// from base class CEikAppUi
+
+    /**
+     * From CEikAppUi.
+     */
+    void HandleCommandL( TInt aCommand );
+
+// from base class CAknView
+
+    /**
+     * From CAknView.
+     */
+    void DoActivateL( 
+        const TVwsViewId& aPrevViewId, 
+        TUid aCustomMessageId, 
+        const TDesC8& aCustomMessage );
+
+    /**
+     * From CAknView.
+     */
+    void DoDeactivate();
+
+// from base class MEikListBoxObserver
+
+    /**
+     * From MEikListBoxObserver.
+     */
+    void HandleListBoxEventL( 
+        CEikListBox* aListBox, 
+        TListBoxEvent aEventType );
+
+    /**
+     * From MEikListBoxObserver.
+     */
+    void HandleListBoxSelectionL();
+
+    /**
+     * From MEikListBoxObserver.
+     */
+    void DynInitMenuPaneL(
+        TInt aResourceId, 
+        CEikMenuPane* aMenuPane );
+
+private: // data  
+
+    /**
+     * Handle to model class for settings handling.
+     */
+    CCSCSettingsUiModel& iModel;
+
+    /**
+     * Handle to title pane.
+     * Not own.
+     */
+    CAknTitlePane* iTitlePane;
+
+    /**
+     * Container class for main view.
+     * Own.
+     */
+    CCSCSettingsUiMainContainer* iContainer;
+
+    /**
+     * Navigation pane.
+     * Not own.
+     */
+    CAknNavigationControlContainer* iNaviPane;
+
+    /**
+     * Navigation decorator.
+     * Own.
+     */
+    CAknNavigationDecorator* iNaviDecorator;
+
+    /**
+     * Flag for telling if IM tone selection list is open.
+     */
+    TBool iImToneSelectionListOpen;
+
+    /**
+     * Flag for telling if service is deleted.
+     */
+    TBool iDeleted;
+
+    /**
+     * Flag for telling if SNAP list is open.
+     */
+    TBool iSnapListOpen;
+
+#ifdef _DEBUG
+    friend class UT_cscsettingsui;
+#endif
+
+    };
+
+#endif  // C_CSCSETTINGSUIMAINVIEW_H
+