diff -r 000000000000 -r 094583676ce7 wvuing/wvuiave/AppSrc/CCASettingsView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuiave/AppSrc/CCASettingsView.cpp Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,182 @@ +/* +* Copyright (c) 2006 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: View class for settings view +* +*/ + +// INCLUDE FILES +#include "chatngclient.hrh" +#include "CCASettingsView.h" +#include "CCAAppUi.h" +#include "CCAStatusPaneHandler.h" +#include "CAExternalInterface.h" +#include "CCASettingsViewContainer.h" +#include "CCAAppSettingsDialog.h" +#include "CAExternalInterface.h" +#include "ChatDefinitions.h" +#include "ChatDebugPrint.h" + +#include +#include +#include + +// The Settings have been moved to Cenrep (also retained in the Resource file), +// so the enums for keys and central repository header is added here +#include "VariantKeys.h" + +// ================= MEMBER FUNCTIONS ======================= + +// Symbian OS default constructor can leave. +void CCASettingsView::ConstructL( TInt aAvkonViewResourceId, + TUid aViewId ) + { + BaseConstructL( aAvkonViewResourceId, aViewId ); + + } + +// Destructor +CCASettingsView::~CCASettingsView() + { + if ( iContainer ) + { + AppUi()->RemoveFromViewStack( *this, iContainer ); + } + + delete iContainer; + } + +// ----------------------------------------------------------------------------- +// CCASettingsView::DoActivateL +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCASettingsView::DoActivateL( const TVwsViewId& aPrevViewId, + TUid /*aCustomMessageId*/, + const TDesC8& /*aCustomMessage*/ ) + { + CHAT_DP_TXT( "CCASettingsView::DoActivateL" ); + + // To prevent looping between this view and refresh view + if ( aPrevViewId.iViewUid != KUidRefreshView ) + { + iPrevViewId = aPrevViewId; + } + + + + iContainer = new ( ELeave ) CCASettingsViewContainer( + *( static_cast( CAAppUi() ) ), + *( CAAppUi()->GetProcessManager().GetSettingsInterface( ) ) //( CAModel().GetInternalSettingsInterface() ) + ); + iContainer->SetMopParent( this ); + iContainer->ConstructL( ClientRect() ); + + AppUi()->AddToViewStackL( *this, iContainer ); + CAAppUi()->CAStatusPane()->ClearNaviPaneL(); + + CAAppUi()->CAStatusPane()->SetTitleL( iEikonEnv, R_CHATCLIEN_SETTINGS_VIEW_TITLE ); + + if ( aPrevViewId.iViewUid == KUidRefreshView ) + { + iContainer->Listbox()->SetCurrentItemIndexAndDraw( + CCASettingsViewContainer::EServiceSettings ); + } + +#ifdef RD_SERVICE_ENHANCEMENTS + if ( iServSettingsDialogWasActive ) + { + iContainer->LaunchServSettingsDialogL( ETrue ); + } +#endif // RD_SERVICE_ENHANCEMENTS + } + +// ----------------------------------------------------------------------------- +// CCASettingsView::DoDeactivate +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCASettingsView::DoDeactivate() + { + CHAT_DP_TXT( "CCASettingsView::DoDeactivate" ); + + if ( iContainer ) + { +#ifdef RD_SERVICE_ENHANCEMENTS + iServSettingsDialogWasActive = iContainer->IsServSettingsDialogActive(); +#endif // RD_SERVICE_ENHANCEMENTS + + AppUi()->RemoveFromViewStack( *this, iContainer ); + } + + delete iContainer; + iContainer = NULL; + } + +// ----------------------------------------------------------------------------- +// CCASettingsView::HandleCommandL +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCASettingsView::HandleCommandL( TInt aCommand ) + { + switch ( aCommand ) + { + case EAknSoftkeyBack: // Flow through + case EChatClientCmdBack: + { + CAAppUi()->SwitchViewL( iPrevViewId.iViewUid ); + break; + } + case EAknSoftkeyOpen: // Flowthrough, MSK command + case EChatClientSettingsOpen: + { + TInt index( iContainer->Listbox()->CurrentItemIndex() ); + + if ( index == CCASettingsViewContainer::EApplicationSettings ) + { + iContainer->LaunchAppSettingsDialogL(); + } + + if ( index == CCASettingsViewContainer::EServiceSettings ) + { + iContainer->LaunchServSettingsDialogL(); + } + break; + } + + case EChatClientCmdHelp: + { + LaunchHelpL(); + break; + } + + default: + { + AppUi()->HandleCommandL( aCommand ); + break; + } + } + } + +// ----------------------------------------------------------------------------- +// CCASettingsView::DynInitMenuPaneL +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCASettingsView::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ) + { + CCAView::DynInitMenuPaneL( aResourceId, aMenuPane ); + } + +// End of File