diff -r 2b7283837edb -r 3104fc151679 uiservicetab/vimpstui/src/cvimpstuiblockview.cpp --- a/uiservicetab/vimpstui/src/cvimpstuiblockview.cpp Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,363 +0,0 @@ -/* -* Copyright (c) 2008 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: Implementation for CVIMPSTUiBlockView. - * -*/ - -// INCLUDE FILES - -#include "cvimpstuiblockview.h" -#include "cvimpstuiblockviewcontrol.h" -#include "cvimpstenginepresencesubservice.h" -#include "vimpstutilswaitnote.h" -#include "mvimpstengine.h" -#include "vimpstextentionuiuid.h" -#include "cvimpstuiextensionservice.h" -#include "vimpstui.hrh" -#include "cvimpstuistatuspanehandler.h" -#include "cvimpstcmdhandler.h" -// System includes -#include -// Pbk2 -#include -#include -#include -#include -#include -#include -#include -//resource -#include -#include -#include "uiservicetabtracer.h" - -using namespace Phonebook2; - -// ================= MEMBER FUNCTIONS ======================= - -// -------------------------------------------------------------------------- -// CVIMPSTUiBlockView::CVIMPSTUiBlockView -// -------------------------------------------------------------------------- -// -CVIMPSTUiBlockView::CVIMPSTUiBlockView( - MxSPViewMapper& aMapper, - MxSPContactManager& aContactManager, - TUint aBlockViewId, - CPbk2UIExtensionView& aView, - CVIMPSTUIExtensionService& aServiceData, - MVIMPSTEngine& aEngine , - MVIMPSTCmdHandler& aCommandHandler) : - CxSPBaseView( aMapper, aContactManager, aView ), - iBlockViewId( aBlockViewId ), - iEngine(aEngine), - iExtensionService( aServiceData ), - iCommandHandler( aCommandHandler ) - { - - } - -// -------------------------------------------------------------------------- -// CVIMPSTUiBlockView::ConstructL -// -------------------------------------------------------------------------- -// -void CVIMPSTUiBlockView::ConstructL() - { - TRACER_AUTO; - ViewBaseConstructL( KIMCONTACTSEXTNIMPLEMENTATIONUID, iBlockViewId ); - - iPresenceSubService = iEngine.GetPreseceSubService(); - if(iPresenceSubService) - { - iBlockedList = iPresenceSubService->GetBlockedList(); - } - - } - - -// -------------------------------------------------------------------------- -// CVIMPSTUiBlockView::NewL -// -------------------------------------------------------------------------- -// -CVIMPSTUiBlockView* CVIMPSTUiBlockView::NewL( MxSPViewMapper& aMapper, - MxSPContactManager& aContactManager, - TUint aBlockViewId, - CPbk2UIExtensionView& aView, - CVIMPSTUIExtensionService& aServiceData, - MVIMPSTEngine& aEngine , - MVIMPSTCmdHandler& aCommandHandler) - { - TRACER_AUTO; - CVIMPSTUiBlockView* self = new(ELeave) CVIMPSTUiBlockView( aMapper, - aContactManager, - aBlockViewId, - aView, - aServiceData, - aEngine, - aCommandHandler ); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - - - -// --------------------------------------------------------- -// CVIMPSTUiBlockView::~CVIMPSTUiBlockView() -// C++ Destructor -// --------------------------------------------------------- -// -CVIMPSTUiBlockView::~CVIMPSTUiBlockView() - { - delete iNaviDecorator; - } - -// --------------------------------------------------------- -// CVIMPSTUiBlockView::HandleCommandL( TInt aCommand ) -// This class handles all commands from menu -// --------------------------------------------------------- -// -void CVIMPSTUiBlockView::HandleCommandL( TInt aCommand ) - { - TRACER_AUTO; - switch ( aCommand ) - { - //Next two commands have same function - case EAknSoftkeyBack: - { - - // this might get called when the view is not active - // back key pressed, activate tabbed view. - // CPbk2ViewState is not utilized here, but here the - // focused contact info could be delivered to next view, if required later - CPbk2ViewState* state = NULL; - - TInt tabViewId; - TInt err = iMapper.GetNewView( KIMCONTACTSEXTNIMPLEMENTATIONUID, - iExtensionService.TabbedViewId(), - tabViewId ); - User::LeaveIfError( err ); - Pbk2AppUi()->Pbk2ViewExplorer()->ActivatePhonebook2ViewL( - TUid::Uid(tabViewId), - state ); - - break; - } - case ECmdUnBlock: - { - //show wait note - // load, format and show confirmation note - HBufC* unblockContact = iContainer->GetFocusedContactLC(); - if(unblockContact) - { - HBufC* prompt = StringLoader::LoadLC( R_QTN_CHAT_UNBLOCKING, *unblockContact ); - CVIMPSTUtilsWaitNote* note = CVIMPSTUtilsWaitNote::ShowWaitNoteLC( *prompt ); - iCommandHandler.HandleCommandL(ECmdUnBlockContact, this, unblockContact ); - CleanupStack::PopAndDestroy( 3,unblockContact );//note;prompt;unblockContact. - } - break; - } - default: - { - Pbk2AppUi()->HandleCommandL( aCommand ); - break; - } - - } - } - - -// --------------------------------------------------------- -// CVIMPSTUiSearchView::DynInitMenuPaneL() -// Initialises menu pane when needed -// (other items were commented in a header). -// --------------------------------------------------------- -// -void CVIMPSTUiBlockView::DynInitMenuPaneL( TInt aResourceId, - CEikMenuPane* aMenuPane ) - { - TRACER_AUTO; - //using the existing menu resource as it contains unblock item - if( aResourceId == R_EXTENSION_MANAGER_MENU) - { - //add search view menu items - aMenuPane->AddMenuItemsL( R_SERVTAB_TABBED_VIEW_MENU ); - aMenuPane->SetItemDimmed(ECmdOpenConversation, ETrue); - aMenuPane->SetItemDimmed(ECmdContactAddAsFriend,ETrue); - aMenuPane->SetItemDimmed(KAiwCmdCall,ETrue); - aMenuPane->SetItemDimmed(ECmdCloseConversation,ETrue); - aMenuPane->SetItemDimmed(ECmdCreateNewOption,ETrue); - aMenuPane->SetItemDimmed(ECmdContactDetails,ETrue); - aMenuPane->SetItemDimmed(ECmdOpenFriendRequest,ETrue); - aMenuPane->SetItemDimmed(ECmdContactEdit,ETrue); - aMenuPane->SetItemDimmed(ECmdAIWAddToContact,ETrue); - aMenuPane->SetItemDimmed(ECmdAIWLinkToContact,ETrue); - aMenuPane->SetItemDimmed(ECmdBlock,ETrue); - aMenuPane->SetItemDimmed(ECmdContactDelete,ETrue); - aMenuPane->SetItemDimmed(ECmdMyAvatar,ETrue); - aMenuPane->SetItemDimmed(ECmdChangeStatus,ETrue); - if(0==iBlockedList->Count()) - { - aMenuPane->SetItemDimmed(ECmdUnBlock,ETrue); - } - } - } - -// --------------------------------------------------------- -// CVIMPSTUiBlockView::DoActivateViewL() -// Activates view -// (other items were commented in a header). -// --------------------------------------------------------- -// -void CVIMPSTUiBlockView::DoActivateViewL( const TVwsViewId& aPrevViewId, - TUid /*aCustomMessageId*/, - const TDesC8& /*aCustomMessage*/ ) - { - TRACER_AUTO; - HBufC* titleText = StringLoader::LoadLC( R_QTN_SERVTAB_TITLE_BLOCKEDLIST ); - - //to set the icon ( context pane image) as in tabbed view - MPbk2ViewActivationTransaction* viewActivationTransaction = - Pbk2AppUi()->Pbk2ViewExplorer()->HandleViewActivationLC( - iView.Id(), - aPrevViewId, - titleText, - NULL, - EUpdateAll ); - - // Notifies startup monitor of view activation - if( Pbk2AppUi()->Pbk2StartupMonitor() ) - { - Pbk2AppUi()->Pbk2StartupMonitor()-> - NotifyViewActivationL( iView.Id() ); - } - - if (!iContainer) - { - iContainer = CVIMPSTUiBlockViewControl::NewL(*this,iView, iEngine, iBlockedList ); - CCoeEnv::Static()->AppUi()->AddToStackL( iView, iContainer ); - iContainer->SetMopParent( &iView ); - iContainer->SetRect( iView.ClientRect() ); - iContainer->ActivateL(); - iContainer->UpdateCbaL(); - } - - // Commit application-wide state changes - viewActivationTransaction->Commit(); - CleanupStack::PopAndDestroy(); //viewActivationTransaction - CleanupStack::PopAndDestroy( titleText ); - // Change the navigation pane from tabs to text label - UpdateNaviPaneTextL(); - //resetting the blocked list to empty.and show it in blocked view. - iBlockedList->ResetAndDestroy(); - iContainer->UpdateBlockedListL(); - //set the text as updating blocked list while fetching blocked list - iContainer->SetUpdatingTextsToListboxL(); - //fetch the fresh blocked list from server.. - FetchBlockedListFromServerL(); - } - -// --------------------------------------------------------- -// CVIMPSTUiBlockView::DoDeactivate() -// Deactivates the view -// (other items were commented in a header). -// --------------------------------------------------------- -// -void CVIMPSTUiBlockView::DoDeactivate() - { - if (iContainer) - { - CCoeEnv::Static()->AppUi()->RemoveFromStack(iContainer); - delete iContainer; - iContainer = NULL; - } - } - - -// --------------------------------------------------------- -// CVIMPSTUiBlockView::UpdateNaviPaneTextL() -// --------------------------------------------------------- -// -void CVIMPSTUiBlockView::UpdateNaviPaneTextL( ) - { - TRACER_AUTO; - // Change the navigation pane from tabs to text label - CEikStatusPane* sp = CEikonEnv::Static()->AppUiFactory()->StatusPane(); - CAknNavigationControlContainer* np = - static_cast( - sp->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) ); - delete iNaviDecorator; - iNaviDecorator = NULL; - //fix for disableing navigation search string text, makeing it null - iNaviDecorator = np->CreateNavigationLabelL( iEngine.ServiceName()); - - np->PushL( *iNaviDecorator ); - sp->DrawNow(); - } - -// -------------------------------------------------------------------------- -// CVIMPSTUiSearchView::HandleStatusPaneSizeChange -// -------------------------------------------------------------------------- -// -void CVIMPSTUiBlockView::HandleStatusPaneSizeChange() - { - // Resize the container to fill the client rectangle - if (iContainer) - { - iContainer->SetRect( iView.ClientRect() ); - } - } - -// -------------------------------------------------------------------------- -// CVIMPSTUiSearchView::FetchBlockedListFromServerL -// -------------------------------------------------------------------------- -// -void CVIMPSTUiBlockView::FetchBlockedListFromServerL() - { - iEngine.RegisterBlockedListObserver(this); - iCommandHandler.HandleCommandL(EFetchBlockedList, this, NULL ); - } - -// -------------------------------------------------------------------------- -// CVIMPSTUiSearchView::HandleBlockedListFetchCompleteL -// -------------------------------------------------------------------------- -// -void CVIMPSTUiBlockView::HandleBlockedListFetchCompleteL() - { - if(iContainer) - { - iContainer->UpdateBlockedListL(); - } - } - -// -------------------------------------------------------------------------- -// CVIMPSTUiSearchView::CommandFinishedL -// -------------------------------------------------------------------------- -// -void CVIMPSTUiBlockView::CommandFinishedL( const MVIMPSTCmd& /*aCommand */) - { - - } - -// -------------------------------------------------------------------------- -// CVIMPSTUiSearchView::HandleCommandEventL -// -------------------------------------------------------------------------- -// -void CVIMPSTUiBlockView::HandleCommandEventL( TVIMPSTEnums::TVIMPSTRegistrationState /*aState*/, - TInt /*aServiceError*/) - { - - } - -// End of File