profilesapplication/Profiles/ProfileApp/UIsrc/CProfileSettingsView.cpp
branchRCL_3
changeset 18 b7fa36b488f8
parent 17 861562a14a53
child 19 cd54903d48da
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileSettingsView.cpp	Thu Aug 19 09:55:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,375 +0,0 @@
-/*
-* 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: Settings view class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "CProfileSettingsView.h"
-
-#include    <aknViewAppUi.h>
-#include    <akntitle.h>
-#include    <akntabgrp.h>
-#include    <featmgr.h>
-#include    <MProfileEngineExtended.h>
-#include    <MProfilesNamesArray.h>
-#include    <CProfileEngineHandler.h>
-#include    <CProfileIndexHandler.h>
-#include    <CProfileTabHandler.h>
-#include    <profileapp.rsg>
-
-#include    "ProfilePanics.h"
-#include    "CProfileSettingsContainer.h"
-#include    "ProfileApp.hrh"
-
-
-
-/******************************************************************************
- * class CProfileTopControl
- ******************************************************************************/
-
-
-// -----------------------------------------------------------------------------
-// CProfileTopControl::NewL()
-// 
-// -----------------------------------------------------------------------------
-//
-CProfileTopControl* CProfileTopControl::NewL( CCoeControl* aFocusControl )
-    {
-    CProfileTopControl* self = new ( ELeave ) CProfileTopControl();
-    self->iFocusControl = aFocusControl;
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CProfileTopControl::FocusChanged()
-// 
-// -----------------------------------------------------------------------------
-//
-void CProfileTopControl::FocusChanged( TDrawNow aDrawNow )
-    {
-    // Not calling super::FocusChanged is intentional
-    if( iFocusControl )
-        {
-        iFocusControl->SetFocus( IsFocused(), aDrawNow );
-        }
-    }
-
-
-/******************************************************************************
- * class CProfileDummyHandler
- ******************************************************************************/
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::CProfileDummyHandler()
-// 
-// -----------------------------------------------------------------------------
-//
-CProfileDummyHandler::CProfileDummyHandler()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::~CProfileDummyHandler()
-// 
-// -----------------------------------------------------------------------------
-//
-CProfileDummyHandler::~CProfileDummyHandler()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::CreateSettingItemL()
-// 
-// This should never be called in Profiles App.
-// -----------------------------------------------------------------------------
-//
-CAknSettingItem* CProfileDummyHandler::CreateSettingItemL( TInt /* aIdentifier */ )
-    {
-    User::Panic( KProfilePanicText, EProfilePanicInvalidSettingItemId );
-    return NULL; // to make compiler happy
-    }
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::SetObserver()
-// 
-// -----------------------------------------------------------------------------
-//
-void CProfileDummyHandler::SetObserver(MProfileExternalSettingsObserver& /* aObserver */ )
-   {
-   }
-
-
-// -----------------------------------------------------------------------------
-// CProfileDummyHandler::AllowedToChange()
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CProfileDummyHandler::AllowedToChange( TInt /* aSettingItemId */ ) const
-    {
-    return EFalse;
-    }
-
-
-
-/******************************************************************************
- * class CProfileSettingsView
- ******************************************************************************/
-
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::CProfileSettingsView
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileSettingsView::CProfileSettingsView(
-    CProfileEngineHandler& aEngineHandler,
-    CProfileIndexHandler& aIndexHandler )
-    :   iEngineHandler( aEngineHandler ),
-        iIndexHandler( aIndexHandler )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-void CProfileSettingsView::ConstructL()
-    {
-    BaseConstructL( R_PROFILE_SETTINGS_VIEW );
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileSettingsView* CProfileSettingsView::NewLC(
-    CProfileEngineHandler& aEngineHandler,
-    CProfileIndexHandler& aIndexHandler )
-    {
-    CProfileSettingsView* self = new( ELeave ) CProfileSettingsView(
-        aEngineHandler, aIndexHandler );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// Destructor.
-CProfileSettingsView::~CProfileSettingsView()
-    {
-    if( iTopControl )
-        {
-        AppUi()->RemoveFromStack( iTopControl );
-        }
-    if( iTabHandler )
-        {
-        AppUi()->RemoveFromStack( iTabHandler->TabGroup() );
-        }
-    if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-    delete iContainer;
-    delete iTabHandler;
-    delete iTopControl;
-    delete iDummyHandler;
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::Id
-// -----------------------------------------------------------------------------
-//
-TUid CProfileSettingsView::Id() const
-    {
-    return KProfileAppSettingViewId;
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::HandleCommandL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EAknSoftkeyBack:
-            {
-            if( iContainer && iContainer->ItemEdited() )
-                {
-                break;
-                }
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        case EAknSoftkeyChange: // From context specific options menu
-        case EProfileCmdChange:
-            {
-            if( !iContainer )
-                {
-                break;
-                }
-            iContainer->EditItemL(
-                iContainer->SettingItemArray()->ItemIndexFromVisibleIndex(
-                    iContainer->ListBox()->CurrentItemIndex() ),
-                    ( aCommand == EProfileCmdChange ) );
-            break;
-            }
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::DoActivateL(
-    const TVwsViewId& /* aPrevViewId */,
-    TUid aCustomMessageId,
-    const TDesC8& aCustomMessage )
-    {
-    if ( !iContainer )
-        {
-        // If aCustomMessageId is the same as CProfileSettingsView id,
-        // the caller is external. Check if profile id is given and open it.
-        if( aCustomMessageId == KProfileAppSettingViewId )
-		    {
-		    TLex8 lex( aCustomMessage );
-		    TInt value = 0;
-		    lex.Val( value );
-		    TInt err = KErrNone;
-		    MProfilesNamesArray* profileNamesArray = iEngineHandler.Engine()->ProfilesNamesArrayLC();
-		    TInt index = profileNamesArray->FindById(value);
-		    CleanupStack::PopAndDestroy();
-		    TRAP( err, iIndexHandler.SetCurrentProfileIndex( index ) );	
-
-		    CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
-		    CleanupStack::PushL( cba );
-		    cba->SetCommandSetL( R_PROFILE_SETTINGS_VIEW_CBA_IDLE );
-		    CleanupStack::Pop( cba );
-		    cba->DrawDeferred();	
-		    }
-
-        // Get pointer to navi pane
-        CAknNavigationControlContainer* naviPane =
-            static_cast<CAknNavigationControlContainer*>(
-		    StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-        // Get pointer to title pane
-       	CAknTitlePane* titlePane = static_cast< CAknTitlePane* >(
-		    StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-
-        //iTabHandler = CProfileTabHandler::NewL(
-        //    iEngineHandler, iIndexHandler, *naviPane );
-
-        iDummyHandler = new ( ELeave ) CProfileDummyHandler();
-        iContainer = CProfileSettingsContainer::NewL(
-            *this, iEngineHandler, *iDummyHandler, &iIndexHandler,
-            iTabHandler, titlePane );
-
-        iTopControl = CProfileTopControl::NewL( iContainer );
-  
-  		AppUi()->AddToViewStackL( *this, iContainer );
-   		// Tab group must be added to stack last.
-   		//AppUi()->AddToStackL( *this, iTabHandler->TabGroup() );
-   		// Top control is always on top as it listens to focus changes (which
-   		// will be routed to container to adapt highlight animation to focus)
-   		AppUi()->AddToStackL( *this, iTopControl );
-
-   		iContainer->MakeVisible( ETrue );
-        }
-   }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::DoDeactivate
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::DoDeactivate()
-    {
-    if( iTopControl )
-        {
-        AppUi()->RemoveFromStack( iTopControl );
-        delete iTopControl;
-        iTopControl = NULL;
-        }
-    if( iTabHandler )
-        {
-        AppUi()->RemoveFromStack( iTabHandler->TabGroup() );
-        delete iTabHandler;
-        iTabHandler = NULL;
-        }
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-    delete iDummyHandler;
-    iDummyHandler = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::DynInitMenuPaneL(
-    TInt aResourceId, CEikMenuPane* aMenuPane )
-    {
-    if( ( iContainer ) && 
-        ( aResourceId == R_PROFILE_SETTINGS_VIEW_OPTIONS_MENUPANE ) )
-        {
-        // Check if the setting item is allowed to be changed
-        // If not, hide "Change" from Options menu
-        CAknSettingItemArray* array = iContainer->SettingItemArray();
-        if( !iContainer->AllowedToChange(
-            array->At( array->ItemIndexFromVisibleIndex(
-            iContainer->ListBox()->CurrentItemIndex() ) )->Identifier() ) )
-            {
-            aMenuPane->SetItemDimmed( EProfileCmdChange, ETrue );
-            }
-        if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) // Help
-            {
-            aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::UpdateClientRect
-// -----------------------------------------------------------------------------
-//
-void CProfileSettingsView::UpdateClientRect()
-	{
-    iContainer->SetRect( ClientRect() );
-	}
-
-// -----------------------------------------------------------------------------
-// CProfileSettingsView::View
-// -----------------------------------------------------------------------------
-//
-CAknView& CProfileSettingsView::View()
-    {
-    return *this;
-    }
-
-// End of File