diff -r 000000000000 -r 72b543305e3a mobilemessaging/mmsui/mtminc/MmsMtmDeliveryPopup.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobilemessaging/mmsui/mtminc/MmsMtmDeliveryPopup.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,160 @@ +/* +* Copyright (c) 2005-2006 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: MmsMtmDeliveryPopup declaration +* +*/ + + + +#if !defined(__MUIU_DELIVERY_POPUP_H__) +#define __MUIU_DELIVERY_POPUP_H__ + + +// INCLUDES +#include //MDesCArray +#include //CAknPopupList +#include //CAknSingleHeadingPopupMenuStyleListBox +#include +#include // TMsgInfoMessageInfoData + +// DATA TYPES +class CMsgDeliveryItem; + + +/** +* Class which displays a message info dialog for particular message types +*/ +class CMsgInfoDeliveryStatusPopup : public CBase + { + + public: + + /** + * Two-phased constructor. + */ + static CMsgInfoDeliveryStatusPopup* NewL(); + + /** + * Destructor. + */ + ~CMsgInfoDeliveryStatusPopup(); + + /** + * Show the message info dialog. + */ + TInt ExecuteL(); + + /** + * Receives the data array from where to read data for the dialog. + */ + void SetDataArray(CArrayPtrFlat< CMsgDeliveryItem >* aArray); + + private: + + /** + * + */ + CMsgInfoDeliveryStatusPopup(); + + /** + * Symbian OS constructor. + */ + void ConstructL(); + + /** + * Reads data from the delivery item, parses it to a suitable form and + * adds it into a string given in aDest. Calculates the length of the items + * data presented in one string. + * + * @param aItem: Message item to be parsed. + * @param aDest: Destination string. Give it as NULL and method only returns the lenght. + */ + TInt ParseStringL(CMsgDeliveryItem* aItem, TPtr* aDest); + + /** + * Reads data from the delivery item, parses it to a suitable form and + * adds it into iFailedText string. + * + * @param aItem: Message item to be parsed. + */ + void ParseFailedL(CMsgDeliveryItem* aItem); + + /** + * Reads data from the delivery item, parses it to a suitable form and + * adds it into iDeliveredText string. + * + * @param aItem: Message item to be parsed. + */ + void ParseDeliveredL(CMsgDeliveryItem* aItem); + + /** + * Reads data from the delivery item, parses it to a suitable form and + * adds it into iPendingText string. + * + * @param aItem: Message item to be parsed. + */ + void ParsePendingL(CMsgDeliveryItem* aItem); + + /** + * Loops through the delivery items in the data array and + * parses their data into the correct strings with a correct style + */ + void ParseTextL(); + + /** + * Adds localised "Delivered:", "Failed:" and "Pending" strings as labels into the text + * strings + */ + void AddLabelsL(TInt aFailed, + TInt aPending, + TInt aDelivered, + TInt aRead, + TInt aUnavailable ); + + /** + * Calculates the length of the labels and adds the lengths in to the message length attributes + */ + void CalculateLabelSizesL( TInt aFailed, + TInt aPending, + TInt aDelivered, + TInt aRead, + TInt aUnavailable ); + + /** + * Checks whether message was sent today. Information used to determine + * on how to display the time / date in delivery status dialog + */ + TBool MessageSentToday(const TDateTime& messageTime); + + private: + HBufC* iFailedText; + HBufC* iPendingText; + HBufC* iDeliveredText; + HBufC* iReadText; + HBufC* iUnavailableText; + HBufC* iText; + + TInt iMessageSize; + TInt iFailedSize; + TInt iPendingSize; + TInt iDeliveredSize; + TInt iReadSize; + TInt iUnavailableSize; + + CArrayPtrFlat< CMsgDeliveryItem >* iDataArray; + }; + +#endif //__MUIU_MESSAGE_INFO_H__ + +// End of file