meetingui/attendeeview/UiSrc/CAttendeeDetailsDlg.cpp
changeset 0 f979ecb2b13e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingui/attendeeview/UiSrc/CAttendeeDetailsDlg.cpp	Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,214 @@
+/*
+* 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 interface methods of CAttendeeDetailsDlg.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "CAttendeeDetailsDlg.h"
+#include "CAttendeeUiUtils.h"
+#include "CAttendeeItem.h"
+#include <AttendeeView_res.rsg>
+#include <CPbkContactDetailsBaseControl.h>
+
+
+// ============================ MEMBER FUNCTIONS ==============================
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::NewL
+// ---------------------------------------------------------
+//
+CAttendeeDetailsDlg* CAttendeeDetailsDlg::NewL( 
+                                             CPbkContactItem* aContactItem, 
+                                             CPbkContactEngine* aEngine,
+                                             CCalAttendee::TCalStatus aStatus,
+                                             TBool aShowNaviLabel )
+                                                
+    {
+    CAttendeeDetailsDlg* self = NewLC( aContactItem, aEngine, 
+                                       aStatus, aShowNaviLabel );
+    CleanupStack::Pop( self ); //self
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::NewLC
+// ---------------------------------------------------------
+//
+CAttendeeDetailsDlg* CAttendeeDetailsDlg::NewLC( 
+                                           CPbkContactItem* aContactItem, 
+                                           CPbkContactEngine* aEngine,
+                                           CCalAttendee::TCalStatus	aStatus,
+                                           TBool aShowNaviLabel )
+                                                
+    {
+    CAttendeeDetailsDlg* self = new(ELeave)CAttendeeDetailsDlg;
+    CleanupStack::PushL( self );
+    self->ConstructL( aContactItem, aEngine, aStatus, aShowNaviLabel );
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::ConstructL
+// ---------------------------------------------------------
+//
+void CAttendeeDetailsDlg::ConstructL( CPbkContactItem* aContactItem, 
+                                      CPbkContactEngine* aEngine,
+                                      CCalAttendee::TCalStatus	aStatus,
+                                      TBool aShowNaviLabel)
+                                      
+	{
+    //Initial dialog
+    CAknDialog::PrepareLC( R_ATTENDEE_DETAILS_DIALOG );
+
+    //Create control
+    iControl = CPbkContactDetailsBaseControl::NewL(
+                                    R_ATTENDEE_CONTACTINFO_CONTROL,
+                                    *this,
+                                    aContactItem,        
+                                    aEngine );
+    
+    //change navi label
+    iUiUtils = CAttendeeUiUtils::NewL();
+    iUiUtils->StoreNaviPane();
+
+    //change title pane
+    iUiUtils->StoreTitlePaneL();
+    iUiUtils->ChangeTitlePaneL( R_ATTENDEE_DETAILS_TITLE_PANE );
+    
+    CreateNaviLabelL( aStatus, aShowNaviLabel );
+	}
+
+// ----------------------------------------------------------------------------
+// CAttendeeDetailsDlg::CAttendeeDetailsDlg
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ----------------------------------------------------------------------------
+//
+CAttendeeDetailsDlg::CAttendeeDetailsDlg()
+    {
+    }
+
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::~CAttendeeDetailsDlg
+// ---------------------------------------------------------
+//
+CAttendeeDetailsDlg::~CAttendeeDetailsDlg()
+    {
+    //restore title pane
+    if ( iUiUtils )
+        {        
+        iUiUtils->RestoreOldTitlePane();
+        }
+
+    //Delete restore also old navilabel
+    delete iUiUtils;
+    delete iControl;
+    }
+
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::Draw
+// ---------------------------------------------------------
+//
+void CAttendeeDetailsDlg::Draw( const TRect& /*aRect*/ ) const
+    {
+    // this removes flicker from CEikDialog's Draw().
+    }
+
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::SizeChanged
+// ---------------------------------------------------------
+//
+void CAttendeeDetailsDlg::SizeChanged()
+    {
+    if ( iControl )
+        {
+        iControl->SetRect( Rect() );
+        iControl->DrawNow();
+        }
+    }
+
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::OfferKeyEventL
+// ---------------------------------------------------------
+//
+TKeyResponse CAttendeeDetailsDlg::OfferKeyEventL( const TKeyEvent& aKeyEvent,
+                                                  TEventCode aType )
+    {
+    iControl->OfferKeyEventL( aKeyEvent, aType );  
+    return CAknDialog::OfferKeyEventL( aKeyEvent, aType );     
+    }
+
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::CountComponentControls
+// ---------------------------------------------------------
+//
+TInt CAttendeeDetailsDlg::CountComponentControls() const
+    {    
+    return 1;
+    }
+
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::ComponentControl
+// ---------------------------------------------------------
+//
+CCoeControl* CAttendeeDetailsDlg::ComponentControl( TInt /*aIndex*/ ) const
+    {    
+    return iControl;
+    }
+
+// ---------------------------------------------------------
+// CAttendeeDetailsDlg::CreateNaviLabelL
+// ---------------------------------------------------------
+//
+void CAttendeeDetailsDlg::CreateNaviLabelL( CCalAttendee::TCalStatus aStatus, 
+                                            TBool aShowNaviLabel )
+    {
+    
+    if ( aShowNaviLabel )
+        {
+    	switch( aStatus )
+            {
+            case CCalAttendee::EAccepted:
+                {
+                iUiUtils->CreateNaviLabelL( R_ATTENDEE_NAVI_LABEL_ACCEPTED );
+                break;
+                }
+            case CCalAttendee::ETentative:
+                {
+                iUiUtils->CreateNaviLabelL( R_ATTENDEE_NAVI_LABEL_TENTATIVE );
+                break;
+                }
+            case CCalAttendee::EDeclined:
+                {
+                iUiUtils->CreateNaviLabelL( R_ATTENDEE_NAVI_LABEL_REJECTED );
+                break;
+                }        
+            default:
+                {
+                iUiUtils->CreateNaviLabelL( 
+                                        R_ATTENDEE_NAVI_LABEL_NOT_ANSWERED );
+                break;
+                }
+            }        	
+        }
+    else
+        {
+    	//Set empty text to navi pane
+    	iUiUtils->CreateNaviLabelL( KNullDesC );
+        }
+    
+    }
+// End of File