--- /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 <bamdesca.h> //MDesCArray
+#include <aknPopup.h> //CAknPopupList
+#include <aknlists.h> //CAknSingleHeadingPopupMenuStyleListBox
+#include <ConeResLoader.h>
+#include <Muiumsginfo.h> // 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