/*
* Copyright (c) 2007-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: CSC Applicationīs note utilities
*
*/
#include <csc.rsg>
#include <StringLoader.h>
#include <aknnotedialog.h>
#include <aknnotewrappers.h>
#include "csclogger.h"
#include "cscnoteutilities.h"
// ======== MEMBER FUNCTIONS ========
// ---------------------------------------------------------------------------
// Shows a confirmation note without query.
// ---------------------------------------------------------------------------
//
void CCSCNoteUtilities::ShowConfirmationNote(
TCSCNoteType /*aType*/, const TDesC& /*aText*/ )
{
CSCDEBUG( "CCSCNoteUtilites::ShowConfirmationNote - begin" );
// Not used
CSCDEBUG( "CCSCNoteUtilites::ShowConfirmationNote - end" );
}
// ---------------------------------------------------------------------------
// Shows an information note without query.
// ---------------------------------------------------------------------------
//
void CCSCNoteUtilities::ShowInformationNoteL(
TCSCNoteType aType, const TDesC& aText, const MDesCArray* /*aArray*/ )
{
CSCDEBUG( "CCSCNoteUtilites::ShowInformationNoteL" );
// Create note.
HBufC* string = NULL;
// Select text for note.
switch ( aType )
{
case ECSCUnableToConfigureNote:
string = StringLoader::LoadL(
R_QTN_CSC_UNABLE_TO_CONFIGURE_NOTE );
break;
case ECSCUnableToDeleteNote:
string = StringLoader::LoadL(
R_QTN_CSC_UNABLE_TO_DELETE_NOTE, aText );
break;
default:
break;
}
if ( string )
{
// Set text and show note.
CleanupStack::PushL( string );
CAknInformationNote* note =
new ( ELeave ) CAknInformationNote( ETrue );
note->ExecuteLD( *string );
CleanupStack::PopAndDestroy( string );
}
}
// ---------------------------------------------------------------------------
// Shows an error note without query.
// ---------------------------------------------------------------------------
//
void CCSCNoteUtilities::ShowErrorNote(
TCSCNoteType /*aType*/, const TDesC& /*aText*/ )
{
// Not used
}
// ---------------------------------------------------------------------------
// Shows a note with query.
// ---------------------------------------------------------------------------
//
TBool CCSCNoteUtilities::ShowCommonQueryL(
TCSCNoteType aType, const TDesC& aText )
{
CSCDEBUG( "CCSCNoteUtilites::ShowCommonQueryL - begin" );
TBool ret( EFalse );
TBool showQuery( ETrue );
// Create confirmation query dialog.
HBufC* string = NULL;
CAknQueryDialog* query =
new( ELeave ) CAknQueryDialog( CAknQueryDialog::ENoTone );
CleanupStack::PushL( query );
// Prepare and set text for query.
switch ( aType )
{
case ECSCConfigureServiceQuery:
query->PrepareLC( R_CSC_CONFIGURE_SERVICE_QUERY );
string = StringLoader::LoadLC(
R_QTN_CSC_CONFIGURE_SERVICE_QUERY, aText );
query->SetPromptL( *string );
CleanupStack::PopAndDestroy( string );
break;
case ECSCDeleteServiceQuery:
query->PrepareLC( R_CSC_DELETE_SERVICE_QUERY );
string = StringLoader::LoadLC(
R_QTN_CSC_DELETE_SERVICE_QUERY, aText );
query->SetPromptL( *string );
CleanupStack::PopAndDestroy( string );
break;
default:
// in default case query is not shown
showQuery = EFalse;
break;
}
CleanupStack::Pop( query );
// Show query.
if ( showQuery )
{
if( query->RunLD() )
{
ret = ETrue;
}
}
CSCDEBUG( "CCSCNoteUtilites::ShowCommonQueryL - end" );
return ret;
}