diff -r 000000000000 -r 2f259fa3e83a uifw/AknGlobalUI/OldStyleNotif/Src/AknListMsgQueryNotificationDialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/AknGlobalUI/OldStyleNotif/Src/AknListMsgQueryNotificationDialog.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,100 @@ +/* +* 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: Global list message query dialog implementation. +* +*/ + +#include // EKeyOk +#include "AknListMsgQueryNotificationDialog.h" +#include "AknNotifyPlugin.hrh" +#include "avkon.hrh" + +CAknListMsgQueryNotificationDialog::CAknListMsgQueryNotificationDialog( + TInt* aIndex, + MAknListQueryNotificationCallback* aCallBack, + CAknListMsgQueryNotificationDialog** aSelfPtr, + TInt aAcceptKeyId, + TInt aCancelKeyId) +: CAknListQueryDialog(aIndex), + iCallBack(aCallBack), + iSelfPtr(aSelfPtr), + iAcceptKeyId(aAcceptKeyId), + iCancelKeyId(aCancelKeyId) + { + } + +CAknListMsgQueryNotificationDialog::~CAknListMsgQueryNotificationDialog() + { + if (iSelfPtr) + { + *iSelfPtr = NULL; + } + } + +TKeyResponse CAknListMsgQueryNotificationDialog::OfferKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode aType) + { + + if (aKeyEvent.iScanCode == EStdKeyYes) + { + return EKeyWasConsumed; + } + + if (aType != EEventKey) + { + return EKeyWasNotConsumed; + } + + TInt code = aKeyEvent.iCode; + + switch (code) + { + case EKeyOK: + TryExitL(EAknSoftkeyOk); + return EKeyWasConsumed; + case EKeyEscape: + TryExitL(EAknSoftkeyCancel); + return EKeyWasConsumed; + default: + break; + } + + return CAknListQueryDialog::OfferKeyEventL(aKeyEvent,aType); + } + +TBool CAknListMsgQueryNotificationDialog::OkToExitL(TInt aButtonId) + { + TInt ret = -1; + + // Get the current item index only if the command is an accept command. + if (aButtonId == EAknSoftkeyOk || (iAcceptKeyId && aButtonId == iAcceptKeyId)) + { + ret = ListBox()->CurrentItemIndex(); + } + + iCallBack->QueryDismissedL(ret); + + if (aButtonId == EAknSoftkeyCancel || + aButtonId == EAknSoftkeyOk || + (iCancelKeyId && (aButtonId == iCancelKeyId)) || + (iAcceptKeyId && (aButtonId == iAcceptKeyId))) + { + return ETrue; + } + + return EFalse; + } + +// End of file