diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/USIMExtension/src/TPsu2SimCopyResults.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/USIMExtension/src/TPsu2SimCopyResults.cpp Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,207 @@ +/* +* Copyright (c) 2005-2007 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: Phonebook 2 SIM copy results. +* +*/ + + +// INCLUDE FILES +#include "TPsu2SimCopyResults.h" + +// Phonebook 2 +#include +#include + +// System includes +#include +#include + +/// Unnamed namespace for local definitions +namespace { + +const TInt KZeroContacts( 0 ); +const TInt KOneContact( 1 ); +const TInt KGranularity( 2 ); + +} /// namespace + +// -------------------------------------------------------------------------- +// TPsu2SimCopyResults::TPsu2SimCopyResults +// -------------------------------------------------------------------------- +// +TPsu2SimCopyResults::TPsu2SimCopyResults() + { + } + +// -------------------------------------------------------------------------- +// TPsu2SimCopyResults::TPsu2SimCopyResults +// -------------------------------------------------------------------------- +// +TPsu2SimCopyResults::TPsu2SimCopyResults( TInt aCopied, TInt aTotal ): + iCopied( aCopied ), iNotCopied( aTotal - aCopied ) + { + } + +// -------------------------------------------------------------------------- +// TPsu2SimCopyResults::TPsu2SimCopyResults +// -------------------------------------------------------------------------- +// +TPsu2SimCopyResults::TPsu2SimCopyResults( TInt aCopied, const TDesC& aName ): + iCopied( aCopied ), iName( aName ) + { + } + +// -------------------------------------------------------------------------- +// TPsu2SimCopyResults::ShowNoteL +// -------------------------------------------------------------------------- +// +void TPsu2SimCopyResults::ShowNoteL() + { + if ( iName.Length() == 0 ) + { + // Multiple contacts were marked to be copied + ShowMultipleCopyNoteL(); + } + else + { + // Only one contact was marked to be copied + ShowSingleCopyNoteL(); + } + } + +// -------------------------------------------------------------------------- +// TPsu2SimCopyResults::ShowErrorNoteL +// -------------------------------------------------------------------------- +// +void TPsu2SimCopyResults::ShowErrorNoteL() + { + HBufC* prompt = StringLoader::LoadLC( R_QTN_PBCOP_NOTE_COPY_NOT_WORK ); + CAknErrorNote* note = new ( ELeave ) CAknErrorNote( ETrue ); + note->ExecuteLD( *prompt ); + CleanupStack::PopAndDestroy( prompt ); + } + +// -------------------------------------------------------------------------- +// TPsu2SimCopyResults::ShowPartlyCopiedNoteL +// -------------------------------------------------------------------------- +// +void TPsu2SimCopyResults::ShowPartlyCopiedNoteL() + { + CAknInformationNote* dlg = new ( ELeave ) CAknInformationNote( ETrue ); + HBufC* prompt = NULL; + + if ( iName.Length() == 0 ) + { + // For multiple contacts copy + prompt = StringLoader::LoadLC + ( R_QTN_PBCOP_NOTE_ENTRIES_COPIED_PARTLY ); + } + else + { + // For one contact copy + prompt = StringLoader::LoadLC + ( R_QTN_PBCOP_NOTE_ENTRY_COPIED_PARTLY ); + } + dlg->ExecuteLD( *prompt ); + + CleanupStack::PopAndDestroy( prompt ); + } + +// -------------------------------------------------------------------------- +// TPsu2SimCopyResults::ShowSingleCopyNoteL +// -------------------------------------------------------------------------- +// +inline void TPsu2SimCopyResults::ShowSingleCopyNoteL() + { + HBufC* prompt = NULL; + CAknResourceNoteDialog* dlg = NULL; + if ( iCopied > 0 ) + { + prompt = StringLoader::LoadLC + ( R_QTN_PBCOP_NOTE_CONTACT_COPIED_PB2, iName ); + dlg = new ( ELeave ) CAknConfirmationNote( ETrue ); + } + else + { + prompt = StringLoader::LoadLC + ( R_QTN_PBCOP_NOTE_ENTRY_NOT_COPIED, iName ); + dlg = new ( ELeave ) CAknInformationNote( ETrue ); + } + dlg->ExecuteLD( *prompt ); + CleanupStack::PopAndDestroy( prompt ); + } + +// -------------------------------------------------------------------------- +// TPsu2SimCopyResults::ShowMultipleCopyNoteL +// -------------------------------------------------------------------------- +// +inline void TPsu2SimCopyResults::ShowMultipleCopyNoteL() + { + if ( iNotCopied == KZeroContacts ) + { + HBufC* prompt = StringLoader::LoadLC + ( R_QTN_PBCOP_NOTE_N_ENTRY_COPY_PB, iCopied ); + + CAknConfirmationNote* dlg = + new ( ELeave ) CAknConfirmationNote( ETrue ); + dlg->ExecuteLD( *prompt ); + + CleanupStack::PopAndDestroy( prompt ); + } + else + { + HBufC* errorPrompt = NULL; + if ( iCopied == KOneContact && iNotCopied == KOneContact ) + { + errorPrompt = StringLoader::LoadLC + ( R_QTN_PBCOP_INFO_ONE_OK_ONE_NOT ); + } + else if ( iCopied == KOneContact && iNotCopied > KOneContact ) + { + errorPrompt = StringLoader::LoadLC + ( R_QTN_PBCOP_INFO_ONE_OK_N_NOT, iNotCopied ); + } + else if ( ( iCopied == KZeroContacts || iCopied > KOneContact ) && + ( iNotCopied == KOneContact ) ) + { + errorPrompt = StringLoader::LoadLC + ( R_QTN_PBCOP_INFO_N_OK_ONE_NOT, iCopied ); + } + else if ( ( iCopied == KZeroContacts || iCopied > KOneContact ) && + ( iNotCopied == KZeroContacts || iNotCopied > KOneContact ) ) + { + CArrayFixFlat* array = + new( ELeave ) CArrayFixFlat( KGranularity ); + CleanupStack::PushL( array ); + + array->AppendL( iCopied ); + array->AppendL( iNotCopied ); + errorPrompt = StringLoader::LoadL + ( R_QTN_PBCOP_INFO_N_OK_N_NOT, *array ); + + CleanupStack::PopAndDestroy( array ); + CleanupStack::PushL( errorPrompt ); + } + + if ( errorPrompt ) + { + + CAknInformationNote* dlg = + new ( ELeave ) CAknInformationNote( ETrue ); + dlg->ExecuteLD( *errorPrompt ); + CleanupStack::PopAndDestroy( errorPrompt ); + } + } + } +// End of File