diff -r 5aadd1120515 -r b57382753122 meetingui/attendeeview/UiSrc/CAttendeeViewerDlg.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingui/attendeeview/UiSrc/CAttendeeViewerDlg.cpp Wed Nov 03 17:12:22 2010 +0530 @@ -0,0 +1,233 @@ +/* +* Copyright (c) 2004 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: Provides methods for . +* +*/ + + + +// INCLUDE FILES +#include "cattendeeviewerdlg.h" +#include "cattendeedialogbase.h" +#include "mattendeeeng.h" +#include "cattendeedetailsdlg.h" +#include "attendeeviewuid.h" +#include "attendeeview.hrh" + +#include +#include +#include +#include +#include + +// ============================ MEMBER FUNCTIONS ============================== +CAttendeeViewerDlg* CAttendeeViewerDlg::NewL( + MDesCArray *aArray, + TInt aMenuBarResourceId, + TInt aOkMenuBarResourceId, + MAttendeeEng& aEngine, + TCoeHelpContext& aHelpContext, + MAgnEntryUiCallback& aEntryUiCallback ) + { + CAttendeeViewerDlg* self = NewLC( aArray, + aMenuBarResourceId, + aOkMenuBarResourceId, + aEngine, + aHelpContext, + aEntryUiCallback ); + CleanupStack::Pop(self); //self + + return self; + } + +CAttendeeViewerDlg* CAttendeeViewerDlg::NewLC( + MDesCArray *aArray, + TInt aMenuBarResourceId, + TInt aOkMenuBarResourceId, + MAttendeeEng& aEngine, + TCoeHelpContext& aHelpContext, + MAgnEntryUiCallback& aEntryUiCallback ) + { + CAttendeeViewerDlg* self = + new(ELeave)CAttendeeViewerDlg( aArray, + aEngine, + aMenuBarResourceId, + aOkMenuBarResourceId, + aHelpContext, + aEntryUiCallback ); + CleanupStack::PushL( self ); + self->ConstructL( aMenuBarResourceId ); + + return self; + } +// ---------------------------------------------------------------------------- +// CAttendeeViewerDlg::CAttendeeViewerDlg +// C++ default constructor can NOT contain any code, that +// might leave. +// ---------------------------------------------------------------------------- +// +CAttendeeViewerDlg::CAttendeeViewerDlg( + MDesCArray *aArray, + MAttendeeEng& aEngine, + TInt aMenuBarResourceId, + TInt aOkMenuBarResourceId, + TCoeHelpContext& aHelpContext, + MAgnEntryUiCallback& aEntryUiCallback ): + CAttendeeDialogBase( aArray, + aEngine, + aMenuBarResourceId, + aOkMenuBarResourceId, + aEntryUiCallback ), + iHelpContext( aHelpContext ) + { + + } + +// --------------------------------------------------------- +// CAttendeeViewerDlg::~CAttendeeViewerDlg +// --------------------------------------------------------- +// +CAttendeeViewerDlg::~CAttendeeViewerDlg() + { + } + +// --------------------------------------------------------- +// CAttendeeViewerDlg::DynInitMenuPaneL +// --------------------------------------------------------- +// +void CAttendeeViewerDlg::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + + const TInt visible( ListBox()->Model()->NumberOfItems() ); + const TInt marked( ListBox()->SelectionIndexes()->Count() ); + switch( aResourceId ) + { + case R_ATTENDEEVIEW_VIEWER_MENU: + { + if ( iEntryUiCallback.IsCommandAvailable( EMRCommandRespondAccept ) + && marked <= 0 ) + { + aMenuPane->SetItemDimmed( EAttCmdRespond, EFalse ); + } + else + { + aMenuPane->SetItemDimmed( EAttCmdRespond, ETrue ); + } + + if ( marked > 0 ) + { + aMenuPane->SetItemDimmed( EAttDetails, ETrue ); + } + if ( visible <= 0 ) + { + aMenuPane->SetItemDimmed( EAttDetails, ETrue ); + } + break; + } + case R_ATTENDEEVIEW_VIEWER_CONTEXT_MENU: + { + if ( marked > 0 ) + { + aMenuPane->SetItemDimmed( EAttDetails, ETrue ); + aMenuPane->SetItemDimmed( EAttCmdRespond, ETrue ); + aMenuPane->SetItemDimmed( EAttCmdSend, EFalse ); + } + else + { + if ( iEntryUiCallback.IsCommandAvailable( EMRCommandRespondAccept ) ) + { + aMenuPane->SetItemDimmed( EAttCmdRespond, EFalse ); + } + else + { + aMenuPane->SetItemDimmed( EAttCmdRespond, ETrue ); + } + + aMenuPane->SetItemDimmed( EAttCmdSend, ETrue ); + } + break; + } + default: + { + CAttendeeDialogBase::DynInitMenuPaneL( aResourceId, aMenuPane ); + break; + } + } + } + +// ---------------------------------------------------- +// CAttendeeViewerDlg::MakeEmptyTextListBoxL +// ---------------------------------------------------- +// +void CAttendeeViewerDlg::MakeEmptyTextListBoxL() + { + HBufC* textFromResourceFile; + textFromResourceFile = + StringLoader::LoadLC( R_ATTENDEE_VIEWER_EMPTY_TEXT, + CEikonEnv::Static() ); + ListBox()->View()->SetListEmptyTextL( *textFromResourceFile ); + CleanupStack::PopAndDestroy( textFromResourceFile ); + } + +// ---------------------------------------------------- +// CAttendeeDialogBase::DetailsCmdL +// --------------------------------------------------------- +// +void CAttendeeViewerDlg::DetailsCmdL() + { + TInt index( ListBox()->CurrentItemIndex() ); + if ( index >= 0 && index < ListBox()->Model()->NumberOfItems() + && index < iEngine.NumberOfItems()) + { + CPbkContactItem* item = iEngine.PbkContactItemL( index ); + if ( !item ) + { + item = CreateContactL( + iEngine.At( index ).AgnAttendee()->Address() ); + } + CleanupStack::PushL( item ); + + CAttendeeDetailsDlg* dlg = CAttendeeDetailsDlg::NewL( + item, + &iEngine.ContactEngine(), + iEngine.At( index ).AgnAttendee()->StatusL(), + EFalse ); + dlg->RunLD(); + + CleanupStack::PopAndDestroy( item ); + } + } + +// ----------------------------------------------------------------------------- +// CAttendeeDialogBase::GetHelpContext +// ----------------------------------------------------------------------------- +// +void CAttendeeViewerDlg::GetHelpContext( TCoeHelpContext& aContext ) const + { + + //If help text was given in construction use it + if(!iHelpContext.IsNull()) + { + aContext = iHelpContext; + } + else + { + //Remove comments after new cale.hlp.hrh is ready + //aContext.iContext = KCALE_HLP_ATTENDEE_VIEW; + //aContext.iMajor = TUid::Uid( KEcomDllUID ); + } + } + +// End of File