eventsui/eventsmgmtui/src/evtmgmtuiappui.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:31:27 +0100
branchRCL_3
changeset 18 870918037e16
parent 0 522cd55cc3d7
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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:  Application class for Events Management UI.
*
*/


// SYSTEM FILES
#include <avkon.hrh>
#include <AknsConstants.h>
#include <aknnotewrappers.h>
#include <textresolver.h>
#include <evtmgmtui.rsg>
#include <eikspane.h> 		// Status pane
#include <akntitle.h>   	// CAknTitlePane
#include <StringLoader.h>
#include <eikserverapp.h>
#include <aknmessagequerydialog.h>
#include <aknnotewrappers.h> 
#include <evtmgmtui.rsg>

// USER INCLUDES
#include "evtmgmtuiappui.h"
#include "evtmgmtui.hrh"
#include "evtmgmtuistartupview.h"
#include "evtmgmtuilegalnote.h"
#include "evtdebug.h"

// ----------------- Member funtions for CEvtMgmtUiAppUi ------------------------------

// ---------------------------------------------------------------------------
// void CEvtMgmtUiAppUi::ConstructL
// ---------------------------------------------------------------------------
//
void CEvtMgmtUiAppUi::ConstructL()
    {
    EVTUIDEBUG( "=================================== EventsUi is launched ===========================" );
    
    
    BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
    MakeTitleL( R_EVTUI_TITLE );
    
    // Create the View object and add it to the View stack
    CEvtMgmtUiStartupView* startupview = CEvtMgmtUiStartupView::NewL();
    CleanupStack::PushL( startupview );  	
    AddViewL( startupview );
    CleanupStack::Pop( startupview );
    
    iLegalNote = CEvtMgmtUiLegalNote::NewL(*this);
    iLegalNote->DisplayNoteL();
	
    EVTUIDEBUG( "CEvtMgmtUiAppUi::ConstructL() Ends" );
      
    }

// ---------------------------------------------------------------------------
// CEvtMgmtUiAppUi::~CEvtMgmtUiAppUi
// ---------------------------------------------------------------------------
//
CEvtMgmtUiAppUi::~CEvtMgmtUiAppUi()
    {
    delete iLegalNote;
    EVTUIDEBUG( "=================================== EventsUi is terminated ===========================" );
    }

// ---------------------------------------------------------------------------
// TKeyResponse CEvtMgmtUiAppUi::HandleKeyEventL
// ---------------------------------------------------------------------------
//
TKeyResponse CEvtMgmtUiAppUi::HandleKeyEventL( const TKeyEvent& /*aKeyEvent*/,
                                                     TEventCode /*aType*/ )
    {
    return EKeyWasNotConsumed;
    }

// ---------------------------------------------------------------------------
// void CEvtMgmtUiAppUi::HandleCommandL
// ---------------------------------------------------------------------------
//
void CEvtMgmtUiAppUi::HandleCommandL( TInt aCommand )
    {
    switch ( aCommand )
        {        
        case EAknSoftkeyExit:
        case EAknSoftkeyBack:
        case EEikCmdExit:
        	{
        	Exit();
            break;
        	}
        case EAknCmdExit:
            {
			// The User has exited the application using the Exit option from
            //.Options menu.  But, thats possible only if we exit the application
            // with EAknCmdExit.
            // A bit of convoluted logic but needed because we are using the
            // same components for the Settings UI Server as well as LC.

           	CEikAppServer* server = iEikonEnv->AppServer();
			if ( server )
				{
				server->NotifyServerExit(EAknCmdExit);
				}            
            Exit();            
            break;
            }
       default: 
       	    { 	          	           	    
       	    break; 
       	    }
        }
    }

// ---------------------------------------------------------------------------
// void CEvtMgmtUiAppUi::MakeTitleL
// ---------------------------------------------------------------------------
//
void CEvtMgmtUiAppUi::MakeTitleL( TInt aResourceText )
	{
	// Obtain the title from the Status Pane
	CAknTitlePane* title = static_cast<CAknTitlePane*>( StatusPane()->
        ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
       
    // Set the Title's buffer    
    HBufC* buf = StringLoader::LoadL( aResourceText );
    title->SetText( buf ); // Takes ownership of buf
	}

// ---------------------------------------------------------------------------
// CEikStatusPane* CEvtMgmtUiAppUi::StatusPane
// ---------------------------------------------------------------------------
//
CEikStatusPane* CEvtMgmtUiAppUi::StatusPane()
	{
	return iEikonEnv->AppUiFactory()->StatusPane();	
	}
	
// End of File