diff -r fcbbe021d614 -r 9c97ad6591ae connectionutilities/ConnectionDialogs/cconndlg/src/SelectExplicitDialog.cpp --- a/connectionutilities/ConnectionDialogs/cconndlg/src/SelectExplicitDialog.cpp Fri Apr 16 15:21:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,226 +0,0 @@ -/* -* Copyright (c) 2002 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 of class CSelectExplicitDialog. -* -*/ - - -// INCLUDE FILES -#include "SelectExplicitDialog.h" -#include "ConnectionInfo.h" -#include "ConnectionInfoArray.h" -#include "ConnDlgPlugin.h" -#include "ConnectionDialogsLogger.h" -#include "SelectConnectionDialog.h" -#include "ExpiryTimer.h" - -#include -#include -#include - -#include -#include - -#include - - -// ================= MEMBER FUNCTIONS ======================= -// -// --------------------------------------------------------- -// CSelectExplicitDialog::CSelectExplicitDialog -// --------------------------------------------------------- -// -CSelectExplicitDialog::CSelectExplicitDialog( - CSelectConnectionDialog* aCallerDialog ) -: CAknListQueryDialog( &iDummy ), - iCallerDialog( aCallerDialog ), - iFromOkToExit( EFalse ) - { - } - - -// --------------------------------------------------------- -// CSelectExplicitDialog::NewL -// --------------------------------------------------------- -// -CSelectExplicitDialog* CSelectExplicitDialog::NewL( - CSelectConnectionDialog* aCallerDialog ) - { - CSelectExplicitDialog* self = new( ELeave ) - CSelectExplicitDialog( aCallerDialog ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - - return self; - } - - -// --------------------------------------------------------- -// CSelectExplicitDialog::ConstructL() -// --------------------------------------------------------- -// -void CSelectExplicitDialog::ConstructL() - { - } - - -// --------------------------------------------------------- -// CSelectExplicitDialog::~CSelectExplicitDialog() -// --------------------------------------------------------- -// -CSelectExplicitDialog::~CSelectExplicitDialog() - { - CLOG_ENTERFN( "CSelectExplicitDialog::~CSelectExplicitDialog " ); - iIAPIds.Close(); - delete iExpiryTimer; - CLOG_LEAVEFN( "CSelectExplicitDialog::~CSelectExplicitDialog " ); - } - - -// --------------------------------------------------------- -// CSelectExplicitDialog::PreLayoutDynInitL() -// --------------------------------------------------------- -// -void CSelectExplicitDialog::PreLayoutDynInitL() - { - CLOG_ENTERFN( "CSelectExplicitDialog::PreLayoutDynInitL " ); - - CAknListQueryDialog::PreLayoutDynInitL(); - - SetOwnershipType( ELbmDoesNotOwnItemArray ); - SetIconArrayL( iIcons ); - - iExpiryTimer = CExpiryTimer::NewL( *this ); - iExpiryTimer->Start(); - - CLOG_LEAVEFN( "CSelectExplicitDialog::PreLayoutDynInitL " ); - } - - -// --------------------------------------------------------- -// CSelectExplicitDialog::OkToExitL -// --------------------------------------------------------- -// -TBool CSelectExplicitDialog::OkToExitL( TInt aButtonId ) - { - CLOG_ENTERFN( "CSelectExplicitDialog::OkToExitL " ); - - TBool result( EFalse ); - TInt completeCode( KErrNone ); - - if ( aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyOk || - aButtonId == EAknSoftkeyDone ) - { - iCallerDialog->SetElementIDL( iIAPIds[ListBox()->CurrentItemIndex()] ); - result = ETrue; - } - else if ( aButtonId == EAknSoftkeyCancel ) - { - completeCode = KErrCancel; - result = ETrue; - } - - if ( result ) - { - iFromOkToExit = ETrue; - - iCallerDialog->CompleteL( completeCode ); - } - - CLOG_LEAVEFN( "CSelectExplicitDialog::OkToExitL " ); - - return result; - } - - -// --------------------------------------------------------- -// CSelectExplicitDialog::PrepareAndRunLD -// --------------------------------------------------------- -// -void CSelectExplicitDialog::PrepareAndRunLD( CConnectionInfoArray* aIAP, - CArrayPtr< CGulIcon >* aIcons, - TBool aIsReallyRefreshing ) - { - PrepareLC( R_LIST_EXPLICIT_QUERY ); - RefreshDialogL( aIAP, aIcons, aIsReallyRefreshing ); - RunLD(); - } - - -// --------------------------------------------------------- -// CSelectExplicitDialog::RefreshDialogL -// --------------------------------------------------------- -// -void CSelectExplicitDialog::RefreshDialogL( CConnectionInfoArray* aIAP, - CArrayPtr< CGulIcon >* aIcons, - TBool aIsReallyRefreshing ) - { - CLOG_ENTERFN( "CSelectExplicitDialog::RefreshDialogL " ); - - SetItemTextArray( aIAP ); - iIcons = aIcons; - - iIAPIds.Reset(); - - // Determine the preferred IAP - TInt numAPs = aIAP->Count(); - for( TInt ii = 0; ii < numAPs; ii++ ) - { - iIAPIds.AppendL( aIAP->At( ii )->Id() ); - } - - if ( numAPs ) - { - ListBox()->SetCurrentItemIndex( 0 ); - } - ListBox()->HandleItemAdditionL(); - - if ( aIsReallyRefreshing ) - { // If we are really making a refresh, we need to recalculate the - // layout, because the number of items could be different and the - // dialog should be resized accordingly - Layout(); - SizeChanged(); - DrawNow(); - } - - CLOG_LEAVEFN( "CSelectExplicitDialog::RefreshDialogL " ); - } - -// --------------------------------------------------------- -// CSelectExplicitDialog::OfferKeyEventL -// --------------------------------------------------------- -// -TKeyResponse CSelectExplicitDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent, - TEventCode aType) - { - if( aType == EEventKey && aKeyEvent.iCode == EKeyPhoneSend ) - { - // Let's not obscure the Dialer in the background - if ( iExpiryTimer ) - { - iExpiryTimer->Cancel(); - iExpiryTimer->StartShort(); - } - } - - return CAknListQueryDialog::OfferKeyEventL( aKeyEvent,aType ); - } - -void CSelectExplicitDialog::HandleTimedOut() - { - TRAP_IGNORE( TryExitL(EAknSoftkeyCancel) ); - } -// End of File