--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mobilemessaging/mmsui/viewerinc/MmsViewerHeader.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,192 @@
+/*
+* 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:
+* MMS viewer header.
+*
+*/
+
+
+
+#ifndef __MMSVIEWERHEADER_H
+#define __MMSVIEWERHEADER_H
+
+// INCLUDES
+
+#include <mmsclient.h>
+#include <MsgEditorView.h>
+#include <unibaseheader.h>
+#include <muiumsvuiserviceutilitiesinternal.h> // TMuiuAddressType
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+class CMsgAddressControl;
+class CMsgExpandableControl;
+class CUniObjectList;
+
+// CLASS DECLARATION
+
+// ==========================================================
+
+/**
+*
+*/
+class CMmsViewerHeader : public CUniBaseHeader
+ {
+ public: // Constructor and destructor
+
+ /**
+ * Two-phased constructor.
+ * @param aParent parent control
+ * @param aFlags display flags - by default editor state
+ * @return new object
+ */
+ static CMmsViewerHeader* NewL(
+ CMmsClientMtm& aMtm,
+ CUniObjectList& aAttachmentList,
+ CMsgEditorView& aView,
+ RFs& aFs );
+
+ /**
+ * Destructor.
+ */
+ ~CMmsViewerHeader();
+
+ inline TMuiuAddressType SenderType();
+
+ inline HBufC* Alias();
+
+ /**
+ * Due to infamous Japanese pictographs in subject field showing
+ * transparently even on slides 2,3...etc, function is used to remove
+ * subject text when subject is visible and to the slide N is moved from slide 1
+ */
+ void RemoveSubjectContentL( );
+
+ /**
+ * Due to infamous Japanese pictographs in subject field showing
+ * transparently even on slides 2,3...etc, function is used to restore
+ * subject when slide 1 is entered from slide N.
+ */
+ void RestoreSubjectContentL( );
+
+ /**
+ * Removes attachment field. When attachments view is removed separately, unnecessary
+ * focus movements to attachment filed can be avoided e.g. in connection of forwarding
+ * message.
+ */
+ void RemoveAttachmentL( );
+
+ /**
+ * @return ETrue, if sender has alias in its address AND the alias is remote alias.
+ */
+ inline TBool IsRemoteAlias();
+
+ private: // Constructors
+
+ /**
+ * Hidden C++ default constructor.
+ */
+ CMmsViewerHeader(
+ CMmsClientMtm& aMtm,
+ CUniObjectList& aAttachmentList,
+ CMsgEditorView& aView,
+ RFs& aFs );
+
+ /**
+ * By default Symbian constructor is private.
+ */
+ void ConstructL( );
+
+ /**
+ * Create UI control for from field. Base implementation is empty
+ * @param aReadContent determines whether recipient data is read from
+ * MTM
+ */
+ void InsertFromL( TBool aReadContent );
+
+ /**
+ * Creates UI control for subject
+ * @param aReadContent determines whether content is read to the
+ * UI control from MTM.
+ * Reading is not needed, if control is added by user selection
+ */
+ void InsertSubjectL(TBool aReadContent );
+
+ /**
+ * Create UI control for recipient.
+ * @param aData data area for this recipient type
+ * @param aResource resource to read basic recipient data from
+ * @param aReadContent determines whether recipient data is read from
+ * MTM
+ */
+ void InsertRecipientL( TAddressData& aData,
+ THeaderFields aRecipientType,
+ TBool aReadContent);
+
+ /**
+ * Create UI control for recipient.
+ * @param aData data area for this recipient type
+ * @param aResource resource to read basic recipient data from
+ * @param aReadContent determines whether recipient data is read from
+ * MTM
+ * @param aAddHeadersRecipientType recipient type to be added as EUniFeature*
+ */
+ void DoInsertRecipientL( TAddressData& aData,
+ TInt aResource,
+ TBool aReadContent,
+ TInt aAddHeadersRecipientType );
+
+ /**
+ * Creates UI control for attachment field
+ * @param aReadContent Determines whether content is read to the UI control.
+ */
+ void InsertAttachmentL( TBool /*aReadContent*/);
+
+ private: //Data
+ TMuiuAddressType iSenderType;
+ HBufC* iAlias;
+ // Indicates to which field Cc recipients are added, if it is variated Off
+ // In practise only value is EUniFeatureTo
+ TInt iAddIntoOtherCc;
+ // Indicates to which field Bcc recipients are added, if it is variated Off
+ // Value is either EUniFeatureTo or EUniFeatureCc
+ TInt iAddIntoOtherBcc;
+ CUniObjectList& iAttachmentList;
+ TBool iRemoteAlias;
+ };
+
+inline TMuiuAddressType CMmsViewerHeader::SenderType()
+ {
+ return iSenderType;
+ }
+
+inline HBufC* CMmsViewerHeader::Alias()
+ {
+ return iAlias;
+ }
+
+inline TBool CMmsViewerHeader::IsRemoteAlias()
+ {
+ return iRemoteAlias;
+ }
+
+#endif // __MMSVIEWERHEADER_H