diff -r 000000000000 -r 3ce708148e4d omadm/omadmappui/src/NSmlDMProfilesView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadm/omadmappui/src/NSmlDMProfilesView.cpp Thu Dec 17 08:40:12 2009 +0200 @@ -0,0 +1,273 @@ +/* +* Copyright (c) 2005-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: Methods for Server Profiles View +* +*/ + + +// INCLUDE FILES +#include "NSmlDMSyncAppUi.h" +#include "NSmlDMProfilesView.h" +#include "NSmlDMProfilesContainer.h" +#include +#include +#include "NSmlDMSyncDebug.h" + +#include +#include "NSmlDMSyncPrivateCRKeys.h" + +#include +#include "nsmldmsyncinternalpskeys.h" +#include "NSmlDMFotaView.h" +// ========================== MEMBER FUNCTIONS ================================= + +// ----------------------------------------------------------------------------- +// CNSmlDMProfilesView::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CNSmlDMProfilesView::ConstructL() + { + FLOG( "[OMADM]\t CNSmlDMProfilesView::ConstructL()" ); + + BaseConstructL( R_SMLSYNC_PROFILES_VIEW ); + + FLOG( "[OMADM]\t CNSmlDMProfilesView::ConstructL() completed" ); + } + + +// ----------------------------------------------------------------------------- +// Destructor +// ----------------------------------------------------------------------------- +// +CNSmlDMProfilesView::~CNSmlDMProfilesView() + { + FLOG( "[OMADM] CNSmlDMProfilesView::~CNSmlDMProfilesView" ); + if ( iContainer ) + { + AppUi()->RemoveFromStack( iContainer ); + } + delete iContainer; + } + +// ----------------------------------------------------------------------------- +// CNSmlDMProfilesView::RefreshL +// ----------------------------------------------------------------------------- +// +void CNSmlDMProfilesView::RefreshL() + { + FLOG( "[OMADM]\t CNSmlDMProfilesView::RefreshListBox()" ); + + if ( iContainer ) + { + iContainer->RefreshL(); + } + FLOG( "[OMADM]\t CNSmlDMProfilesView::RefreshListBox() completed" ); + } + +// ----------------------------------------------------------------------------- +// CNSmlDMProfilesView::Id +// ----------------------------------------------------------------------------- +// +TUid CNSmlDMProfilesView::Id() const + { + return KNSmlDMProfilesViewId; + } + +// ----------------------------------------------------------------------------- +// CNSmlDMProfilesView::HandleCommandL +// ----------------------------------------------------------------------------- +// +void CNSmlDMProfilesView::HandleCommandL( TInt aCommand ) + { + FLOG( "[OMADM]\t CNSmlDMProfilesView::HandleCommandL()" ); + + switch ( aCommand ) + { + + case EAknSoftkeyBack: + { + TInt value = EFalse; //IAD: Making DM Idle + TInt r1 = RProperty::Set(KPSUidNSmlDMSyncApp,KDMIdle,value); + AppUi()->ActivateLocalViewL( KNSmlDMFotaViewId ); + break; + } + + case EAknCmdExit: + case EEikCmdExit: + { + STATIC_CAST( CNSmlDMSyncAppUi*, iEikonEnv->EikAppUi() )->CloseGs(); + break; + } + + default: + { + AppUi()->HandleCommandL( aCommand ); + break; + } + } + } + +// ----------------------------------------------------------------------------- +// CNSmlDMProfilesView::DoActivateL +// ----------------------------------------------------------------------------- +// +void CNSmlDMProfilesView::DoActivateL( const TVwsViewId& /*aPrevViewId*/, + TUid /*aCustomMessageId*/, + const TDesC8& /*aCustomMessage*/) + { + FLOG( "[OMADM]\t CNSmlDMProfilesView::DoActivateL()" ); + + MenuBar()->SetContextMenuTitleResourceId( + R_SMLSYNC_CONTXT_MENUBAR_PROFILES_VIEW ); + + iContainer = CNSmlDMProfilesContainer::NewL( this, ClientRect() ); + AppUi()->AddToStackL( *this, iContainer ); + + CAknTitlePane* titlePane = + (CAknTitlePane*)(AppUi()->StatusPane())->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ); + HBufC* titleText = iEikonEnv->AllocReadResourceLC( R_SML_PROFILES_TITLE ); + titlePane->SetTextL( titleText->Des() ); + CleanupStack::PopAndDestroy(titleText); + + + FLOG( "[OMADM]\t CNSmlDMProfilesView::DoActivateL() completed" ); + } + +// ----------------------------------------------------------------------------- +// CNSmlDMProfilesView::DoDeactivate +// ----------------------------------------------------------------------------- +// +void CNSmlDMProfilesView::DoDeactivate() + { + FLOG( "[OMADM]\t CNSmlDMProfilesView::DoDeactivate()" ); + + if ( iContainer ) + { + AppUi()->RemoveFromStack( iContainer ); + } + + delete iContainer; + iContainer = NULL; + + FLOG( "[OMADM]\t CNSmlDMProfilesView::DoDeactivate() completed" ); + } + +// ----------------------------------------------------------------------------- +// CNSmlDMProfilesView::DynInitMenuPaneL +// ----------------------------------------------------------------------------- +// +void CNSmlDMProfilesView::DynInitMenuPaneL( TInt aResourceID, + CEikMenuPane* aMenuPane) + { + FLOG( "[OMADM] CNSmlDMProfilesView::DynInitMenuPaneL" ); + TInt configFlags( 0 ); + TInt retval( -1 ); + CRepository* centrep = NULL; + TRAPD( err, centrep = CRepository::NewL( KCRUidNSmlDMSyncApp ) ); + if ( centrep ) + { + retval = centrep->Get( KNSmlDMEnableConnectMenuKey, configFlags ); + delete centrep; + } + if ( err == KErrNone ) + { + if ( retval != KErrNone ) + User::Leave( retval ); + } + else + { + User::Leave( err ); + } + if ( aResourceID == R_SMLSYNC_MENU_COMMON && + ! FeatureManager::FeatureSupported( KFeatureIdHelp )) + { + aMenuPane->SetItemDimmed( EAknCmdHelp , ETrue ); + } + if ( aResourceID == R_SMLSYNC_MENU_PROFILES_VIEW + || aResourceID == R_SMLSYNC_CONTXT_MENU_PROFILES_VIEW ) + { + CNSmlDMSyncDocument* doc = STATIC_CAST( CNSmlDMSyncDocument*, + AppUi()->Document() ); + if ( iContainer->iProfilesListBox->Model()->NumberOfItems() == 0 ) + { + aMenuPane->DeleteMenuItem( ENSmlMenuCmdStartSync ); + aMenuPane->DeleteMenuItem( ENSmlMenuCmdOpenLog ); + aMenuPane->DeleteMenuItem( ENSmlMenuCmdOpenSettings ); + + if ( aResourceID == R_SMLSYNC_MENU_PROFILES_VIEW ) + { + aMenuPane->DeleteMenuItem( ENSmlMenuCmdEraseProfile ); + } + } + else + { + doc->SetCurrentIndex( + iContainer->iProfilesListBox->CurrentItemIndex()); + if((doc->ProfileItem()->iProfileLocked)) + { + aMenuPane->SetItemDimmed( ENSmlMenuCmdOpenSettings , ETrue); + if(aResourceID == R_SMLSYNC_MENU_PROFILES_VIEW) + aMenuPane->SetItemDimmed( ENSmlMenuCmdEraseProfile , ETrue); + } + if(!(doc->ProfileItem()->iDeleteAllowed)&& + aResourceID == R_SMLSYNC_MENU_PROFILES_VIEW) + { + aMenuPane->SetItemDimmed( ENSmlMenuCmdEraseProfile , ETrue); + } + if ( !(doc->ProfileItem()->iSynced) ) + { + aMenuPane->SetItemDimmed( ENSmlMenuCmdOpenLog, ETrue ); + if ( configFlags != 1) + aMenuPane->SetItemDimmed( ENSmlMenuCmdStartSync, ETrue ); + } + if ( configFlags != 1) + { + aMenuPane->SetItemDimmed( ENSmlMenuCmdStartSync, ETrue ); + } + } + } + } + +// ----------------------------------------------------------------------------- +// CNSmlDMProfilesView::HandleForegroundEventL +// ----------------------------------------------------------------------------- +// +void CNSmlDMProfilesView::HandleForegroundEventL(TBool aForeground) + { + FLOG( "CNSmlDMProfilesView::HandleForegroundEventL():Begin" ); + if( !aForeground ) + { + FLOG("CNSmlDMProfilesView::HandleForegroundEventL() not i n FG :end"); + return; + } + else + { + STATIC_CAST( CNSmlDMSyncAppUi*, iEikonEnv->EikAppUi())->CheckFotaDlL(); + } + + + // For Application Management View switching + + if(aForeground) + { + FLOG("CNSmlDMProfilesView::HandleForegroundEventL() For AM View Start"); + STATIC_CAST( CNSmlDMSyncAppUi*, iEikonEnv->EikAppUi())->CheckAMDlL(); + FLOG("CNSmlDMProfilesView::HandleForegroundEventL() For AM View End"); + } + CAknView::HandleForegroundEventL(aForeground); + FLOG( "[OMADM]\t CNSmlDMProfilesView::HandleForegroundEventL():completed" ); + } + +// End of File