--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/msg_plat/messaging_center_ui_utilities_api/inc/muiumsginfo.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,196 @@
+/*
+* Copyright (c) 2002 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:
+* Encapsulates the data which populates the fields in the message
+* info dialogs (email, sms, bios, mms), also holds the text for the
+* labels and fields in the message info dialog and displays a message
+* info dialog for particular message types
+*
+*/
+
+
+
+#if !defined(__MUIU_MESSAGE_INFO_H__)
+#define __MUIU_MESSAGE_INFO_H__
+
+
+// INCLUDES
+#include <e32base.h>
+#include <coneresloader.h>
+
+
+// DATA TYPES
+// struct which encapsulates the data which populates the fields
+// in the message info dialogs (email, sms, bios, mms)
+struct TMsgInfoMessageInfoData
+ {
+ TPtrC iFrom;
+ TPtrC iSubject;
+ TPtrC iType;
+ TPtrC iSize;
+ TPtrC iTo;
+ TPtrC iCC;
+ TPtrC iBCC;
+ TPtrC iCallback;
+ TPtrC iPriority;
+ TPtrC iStatus;
+ TTime iDateTime;
+ };
+
+
+
+// FORWARD DECLARATIONS
+class CEikonEnv;
+
+
+// CLASS DECLARATION
+
+/**
+* Class which displays a message info dialog for particular message types
+*/
+class CMsgInfoMessageInfoDialog : public CBase
+ {
+ public:
+ // different message info dialogs supported
+ // Note: Editor = mobile originated (Info dialogs opened from Drafts & Sent Items)
+ // Viewer = mobile terminated
+ enum TMessageInfoType
+ {
+ EEmailEditor,
+ EEmailViewer,
+ ESmsEditor,
+ ESmsViewer,
+ EBiosEditor,
+ EBiosViewer,
+ EMmsEditor,
+ EMmsViewer
+ };
+ public:
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CMsgInfoMessageInfoDialog* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CMsgInfoMessageInfoDialog();
+
+ /**
+ * Show the message info dialog.
+ */
+ IMPORT_C void ExecuteLD( TMsgInfoMessageInfoData& aFieldData, TMessageInfoType aType );
+ private:
+
+ /**
+ *
+ */
+ CMsgInfoMessageInfoDialog();
+
+ /**
+ * Symbian OS constructor.
+ */
+ void ConstructL();
+
+ /**
+ * Construct the array of labels and text fields and add it to the listbox model.
+ */
+ void SetInfoArrayL( TMsgInfoMessageInfoData& aFieldData ) const;
+
+
+ /**
+ * Convert between arabic-indic digits and european digits based on existing language setting.
+ * So it'll convert any digit from the string
+ * to use either european digits or arabic-indic digits based on current settings.
+ * @param aFieldString: Data buffer used in conversion.
+ * @param aFieldData: Return converted data in this parameter.
+ */
+ void DoNumberConversion( HBufC* aFieldString, TPtrC& aFieldData ) const;
+
+ /**
+ * Creates formatted date and time strings and return these strings in parameters
+ * aDateBuf and aTimeBuf. Function get UTC time in parameter aUTCtime and
+ * constructs date and time strings with this UTC time value.
+ * @param aUTCtime: UTC time used in time conversion.
+ * @param aDateBuf: Return date string after time conversion.
+ * @param aTimeBuf: Return time string after time conversion.
+ *
+ */
+ void GetFormattedTimeAndDateStringsL( TTime& aUTCtime,
+ TDes& aDateBuf,
+ TDes& aTimeBuf,
+ const CEikonEnv* aEikonEnv ) const;
+
+
+ /**
+ * Construct label string and calculate how much space label string and field string and
+ * extra marks need and add this needed space to "aNeededSpace" parameter.
+ * @param aLabelResourceId: Resource id for Label
+ * @param aFieldText: Field text string.
+ * @param aNeededSpace: Space which total buffer need.
+ * @return Heap descriptor containing label string.
+ */
+ HBufC* ConstructLabelStrAndCalculateNeededSpaceLC( TInt aLabelResourceId,
+ const TPtrC& aFieldText,
+ TInt& aNeededSpace,
+ const CEikonEnv* aEikonEnv ) const;
+
+ /**
+ * Add label string and fiels string to buffer string aQueryDialogBuf.
+ * This buffer string is shown in query dialog after all label and filed strings
+ * are inserted to buffer string.
+ * @param aQueryDialogBuf: Buffer string which is shown in query dialog.
+ * @param aLabelText: Label string which is inserted to aQueryDialogBuf buffer string.
+ * @param aFieldText: Field string which is inserted to aQueryDialogBuf buffer string.
+ * @param aLastItem: Is true if item is first in list.
+ */
+ void AddToqueryDialogBuf( HBufC* aQueryDialogBuf,
+ const TDesC& aLabelText,
+ const TDesC& aFieldText,
+ TBool aFirstItem ) const;
+
+ /**
+ * Message info may get phone names and numbers in string which is in form:
+ * Timo33 Paajanen44<0505877430>;Simo55 Paajanen66<0505866430> and so on...
+ * It must be possible to show this string so that only phone numbers
+ * get language spesific number conversion and number groupping.
+ * Name parts is displayed as they are in string.
+ * So in this example Timo33 Paajanen44 and Simo55 Paajanen66 is shown without
+ * lanquage spesific number conversion. Phone numbers 0505877430 and 0505866430
+ * are number grouped and displayed after lanquage spesific number conversion.
+ * This method handles parameter string aFieldString this vay and return heap descriptor
+ * which contain handled string.
+ * @param aFieldString: Field text string.
+ * @return Heap descriptor containing handled string.
+ */
+ HBufC* GroupPhoneNumberAndDoLangSpecificNumberConversionL( const TDesC& aFieldString );
+
+
+ /**
+ * Set HBufC string to pointer descriptor
+ * @param aFieldString: HBufC string.
+ * @param aFieldData: Return pointer descriptor data in this parameter.
+ */
+ void SetStringToPointerDescriptor( HBufC* aFieldString, TPtrC& aFieldData ) const;
+
+ private:
+ TMessageInfoType iMessageType;
+ RConeResourceLoader iResources;
+ TBool iPriorityFeatureSupported;
+ };
+
+#endif //__MUIU_MESSAGE_INFO_H__
+
+// End of file