emailuis/emailui/inc/FreestyleMessageHeaderHTML.h
changeset 2 5253a20d2a1e
parent 1 12c456ceeff2
child 3 a4d6f1ea0416
equal deleted inserted replaced
1:12c456ceeff2 2:5253a20d2a1e
     1 /*
     1 /*
     2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of the License "Symbian Foundation License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
     8 *
     8 *
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    17 
    17 
    18 #ifndef __CFREESTYLE_MESSAGE_HEADER_HTML_H__
    18 #ifndef __CFREESTYLE_MESSAGE_HEADER_HTML_H__
    19 #define __CFREESTYLE_MESSAGE_HEADER_HTML_H__
    19 #define __CFREESTYLE_MESSAGE_HEADER_HTML_H__
    20 
    20 
    21 #include <e32base.h>
    21 #include <e32base.h>
       
    22 #include <biditext.h>  
    22 
    23 
    23 #include "CFSMailMessage.h"
    24 #include "CFSMailMessage.h"
    24 #include "CFSMailAddress.h"
    25 #include "CFSMailAddress.h"
    25 #include "FreestyleMessageHeaderURLFactory.h"
    26 #include "FreestyleMessageHeaderURLFactory.h"
    26 
    27 
    30 
    31 
    31 
    32 
    32 class CFreestyleMessageHeaderHTML : public CBase
    33 class CFreestyleMessageHeaderHTML : public CBase
    33     {
    34     {
    34 public:
    35 public:
    35     IMPORT_C static void ExportL( CFSMailMessage& aMailMessage, RWriteStream& aWriteStream, TInt aVisibleWidth  );
    36     IMPORT_C static void ExportL( CFSMailMessage& aMailMessage, 
    36     IMPORT_C static void ExportL( CFSMailMessage& aMailMessage, RFile& aFile, TInt aVisibleWidth   );
    37                                   RWriteStream& aWriteStream, 
    37     IMPORT_C static void ExportL( CFSMailMessage& aMailMessage, RFs& aFs, const TPath& aFilePath, TInt aVisibleWidth  );
    38                                   TInt aVisibleWidth, 
       
    39                                   TInt aScrollPosition,
       
    40                                   TBidiText::TDirectionality aDirectionality = TBidiText::ELeftToRight);
       
    41     IMPORT_C static void ExportL( CFSMailMessage& aMailMessage, 
       
    42                                   RFile& aFile, 
       
    43                                   TInt aVisibleWidth, 
       
    44                                   TInt aScrollPosition,
       
    45                                   TBidiText::TDirectionality aDirectionality = TBidiText::ELeftToRight);
       
    46     IMPORT_C static void ExportL( CFSMailMessage& aMailMessage, 
       
    47                                   RFs& aFs, 
       
    48                                   const TPath& aFilePath, 
       
    49                                   TInt aVisibleWidth, 
       
    50                                   TInt aScrollPosition,
       
    51                                   TBidiText::TDirectionality aDirectionality = TBidiText::ELeftToRight);
    38     
    52     
    39     IMPORT_C static CFreestyleMessageHeaderHTML* NewL( CFSMailMessage& aMailMessage, TInt aVisibleWidth   );
    53     IMPORT_C static CFreestyleMessageHeaderHTML* NewL( CFSMailMessage& aMailMessage,
       
    54                                                        RWriteStream& aWriteStream,
       
    55                                                        TInt aVisibleWidth,
       
    56                                                        TInt aScrollPosition,
       
    57                                                        TBidiText::TDirectionality aDirectionality = TBidiText::ELeftToRight
       
    58                                                        );
    40     
    59     
    41     ~CFreestyleMessageHeaderHTML();
    60     ~CFreestyleMessageHeaderHTML();
    42     
    61     
    43     IMPORT_C void ExportL( RWriteStream& aWriteStream ) const;
    62     IMPORT_C void ExportL() const;
    44     IMPORT_C void ExportL( RFile& aFile ) const;
       
    45     IMPORT_C void ExportL( RFs& aFs, const TPath& aFilePath) const;
       
    46     
    63     
    47 private:
    64 private:
    48     CFreestyleMessageHeaderHTML( CFSMailMessage& aMailMessage, TInt aVisibleWidth   );
    65     CFreestyleMessageHeaderHTML( CFSMailMessage& aMailMessage,
       
    66                                  RWriteStream& aWriteStream,
       
    67                                  TInt aVisibleWidth,
       
    68                                  TInt aScrollPosition,
       
    69                                  TBidiText::TDirectionality aDirectionality);
    49     void ConstructL();
    70     void ConstructL();
    50     
    71     
    51     void HTMLStartL( RWriteStream& aWriteStream ) const;
    72     void HTMLStartL() const;
    52     void HTMLEndL( RWriteStream& aWriteStream ) const;
    73     void HTMLEndL() const;
    53     
    74     
    54     void ExportHTMLHeaderL( RWriteStream& aWriteStream ) const;
    75     void ExportHTMLHeaderL() const;
    55     void HTMLHeaderStartL( RWriteStream& aWriteStream ) const;
    76     void HTMLHeaderStartL() const;
    56     void HTMLMetaL( RWriteStream& aWriteStream ) const;
    77     void HTMLMetaL() const;
    57     void HTMLHeaderEndL( RWriteStream& aWriteStream ) const;
    78     void HTMLHeaderEndL() const;
    58 
    79 
    59     void ExportHTMLBodyL( RWriteStream& aWriteStream ) const;
    80     void ExportHTMLBodyL() const;
    60     void HTMLBodyStartL( RWriteStream& aWriteStream ) const;
    81     void HTMLBodyStartL() const;
    61     void HTMLBodyEndL( RWriteStream& aWriteStream ) const;
    82     void HTMLBodyEndL() const;
    62     
    83     
    63     void ExportSubjectL( RWriteStream& aWriteStream ) const;
    84     void ExportSubjectL() const;
    64     void ExportFromL( RWriteStream& aWriteStream ) const;
    85     void ExportFromL() const;
    65     void ExportToL( RWriteStream& aWriteStream ) const;
    86     void ExportToL() const;
    66     void ExportCcL( RWriteStream& aWriteStream ) const;
    87     void ExportCcL() const;
    67     void ExportBccL( RWriteStream& aWriteStream ) const;
    88     void ExportBccL() const;
    68     void ExportSentTimeL( RWriteStream& aWriteStream ) const;
    89     void ExportSentTimeL() const;
    69     void ExportAttachmentsL( RWriteStream& aWriteStream ) const;
    90     void ExportAttachmentsL() const;
    70     
    91     
    71     void ExportEmailAddressesL( RWriteStream& aWriteStream, 
    92     void ExportEmailAddressesL( FreestyleMessageHeaderURLFactory::TEmailAddressType aEmailAddressType, 
    72                                 FreestyleMessageHeaderURLFactory::TEmailAddressType aEmailAddressType, 
       
    73                                 const RPointerArray<CFSMailAddress>& aEmailAddresses,
    93                                 const RPointerArray<CFSMailAddress>& aEmailAddresses,
    74                                 const TDesC8& aRowId,
    94                                 const TDesC8& aRowId,
    75                                 const TDesC8& aTableId,
    95                                 const TDesC8& aTableId,
    76                                 TInt aHeaderTextResourceId ) const;
    96                                 TInt aHeaderTextResourceId ) const;
    77     
    97     
    78     void AddEmailAddressL( RWriteStream& aWriteStream, 
    98     void AddEmailAddressL( FreestyleMessageHeaderURLFactory::TEmailAddressType aEmailAddressType, 
    79                            FreestyleMessageHeaderURLFactory::TEmailAddressType aEmailAddressType, 
       
    80                            const CFSMailAddress& aEmailAddress ) const;
    99                            const CFSMailAddress& aEmailAddress ) const;
    81     
   100     
    82     void AddAttachmentL( RWriteStream& aWriteStream, CFSMailMessagePart& aAttachment ) const;
   101     void AddAttachmentL( CFSMailMessagePart& aAttachment ) const;
    83 
   102 
    84     void StartHyperlinkL( RWriteStream& aWriteStream, const TDesC8& aUrl ) const;
   103     void StartHyperlinkL( const TDesC8& aUrl ) const;
    85     void EndHyperlinkL( RWriteStream& aWriteStream ) const;
   104     void EndHyperlinkL() const;
    86     
   105     
    87     void AddImageL( RWriteStream& aWriteStream, const TDesC8& aImageUrl ) const;
   106     void AddImageL( const TDesC8& aImageUrl ) const;
    88     void AddImageL( RWriteStream& aWriteStream, const TDesC8& aImageId, const TDesC8& aImageUrl, const TDesC8& aImageEvent ) const;
   107     void AddImageL( const TDesC8& aImageId, const TDesC8& aImageUrl, const TDesC8& aImageEvent ) const;
    89     
   108     
    90     void StartHeaderTableL( RWriteStream& aWriteStream, const TDesC8& aTableId ) const;
   109     void StartHeaderTableL( const TDesC8& aTableId ) const;
    91     void EndHeaderTableL( RWriteStream& aWriteStream ) const;
   110     void EndHeaderTableL() const;
    92 
   111 
    93     void StartTableL( RWriteStream& aWriteStream, const TDesC8& aTableId ) const;
   112     void StartTableL( const TDesC8& aTableId ) const;
    94     void EndTableL( RWriteStream& aWriteStream ) const;
   113     void EndTableL() const;
    95     
   114     
    96     void AddShowDetailL( RWriteStream& aWriteStream ) const;
   115     void AddShowDetailL() const;
    97     
   116     
    98     HBufC8* ClickImageEventL( const TDesC8& aImageName ) const;
   117     HBufC8* ClickImageEventL( const TDesC8& aImageName ) const;
    99 
   118 
   100     void AddJavascriptL( RWriteStream& aWriteStream ) const;    
   119     void AddJavascriptL() const;    
   101     
   120     
   102     HBufC8* HeadingTextLC( TInt aId ) const;
   121     HBufC8* HeadingTextLC( TInt aId ) const;
   103     HBufC8* HeadingTextLC( TInt aId, TInt aSize ) const;
   122     HBufC8* HeadingTextLC( TInt aId, TInt aSize ) const;
   104     
   123     
   105     void ExportInitialTableL( RWriteStream& aWriteStream ) const;
   124     void ExportInitialTableL() const;
       
   125     /**
       
   126      * Function for generating follow up icon's HTML code.
       
   127      * Returns NULL if no follow up flags are set.
       
   128      *
       
   129      * @param aShowText Whether to show icon's text after the icon or not.
       
   130      */
       
   131     HBufC8* HTMLHeaderFollowUpIconLC( TBool aShowText ) const;
   106     
   132     
   107     void AddStyleSheetL( RWriteStream& aWriteStream ) const;
   133     /**
   108     void StartDivL( RWriteStream& aWriteStream ) const;
   134      * Function for generating priority icon's HTML code.
   109     void EndDivL( RWriteStream& aWriteStream ) const;
   135      * Returns NULL if mail message's priority is normal.
       
   136      *
       
   137      * @param aShowText Whether to show icon's text after the icon or not.
       
   138      */
       
   139     HBufC8* HTMLHeaderPriorityIconLC( TBool aShowText ) const;
       
   140     void AddStyleSheetL() const;
       
   141     void StartDivL() const;
       
   142     void EndDivL() const;
   110     
   143     
   111 private:
   144 private:
   112     CFSMailMessage& iMailMessage; 
   145     CFSMailMessage&             iMailMessage; 
   113     TInt            iVisibleWidth;
   146     RWriteStream&               iWriteStream;
   114     
   147     TInt                        iVisibleWidth;
       
   148     TInt                        iScrollPosition;
       
   149     TBidiText::TDirectionality  iDirectionality;
       
   150      
   115     RPointerArray<CFSMailMessagePart> iAttachments;
   151     RPointerArray<CFSMailMessagePart> iAttachments;
   116 };
   152 };
   117 
   153 
   118 #endif //__CFREESTYLE_MESSAGE_HEADER_HTML_H__
   154 #endif //__CFREESTYLE_MESSAGE_HEADER_HTML_H__