emailuis/emailui/inc/ncsutility.h
changeset 2 5253a20d2a1e
parent 0 8466d47a6819
child 8 e1b6206813b4
equal deleted inserted replaced
1:12c456ceeff2 2:5253a20d2a1e
    20 #ifndef NCSUTILITY_H
    20 #ifndef NCSUTILITY_H
    21 #define NCSUTILITY_H
    21 #define NCSUTILITY_H
    22 
    22 
    23 #include <cntitem.h>
    23 #include <cntitem.h>
    24 #include "CFSMailCommon.h"
    24 #include "CFSMailCommon.h"
    25 //<cmail>
       
    26 #include "ncsaddressinputfield.h"
    25 #include "ncsaddressinputfield.h"
    27 //</cmail>
       
    28 
    26 
    29 class CNcsEmailAddressObject;
    27 class CNcsEmailAddressObject;
    30 class CFSMailAddress;
    28 class CFSMailAddress;
    31 class CEikImage;
    29 class CEikImage;
    32 class CFbsBitmap;
    30 class CFbsBitmap;
    33 class CFSMailMessage;
    31 class CFSMailMessage;
    34 class CFSMailBox;
    32 class CFSMailBox;
    35 class CFSMailClient;
    33 class CFSMailClient;
    36 // <cmail> Platform layout change 
       
    37 class CEikLabel;
    34 class CEikLabel;
    38 class CEikEdwin;
    35 class CEikEdwin;
    39 class CAknButton;
    36 class CAknButton;
    40 class CCoeControl;
    37 class CCoeControl;
    41 // </cmail> Platform layout change 
       
    42 
    38 
    43 struct TNcsMeasures
    39 struct TNcsMeasures
    44 	{
    40 	{
    45 	TInt iAifHeight;
    41 	TInt iAifHeight;
    46 	TInt iAifLabelMarginVertical;
    42 	TInt iAifLabelMarginVertical;
    59 /**
    55 /**
    60 *  NcsUtility class.
    56 *  NcsUtility class.
    61 */
    57 */
    62 class NcsUtility
    58 class NcsUtility
    63     {
    59     {
    64 // <cmail> Platform layout changes
       
    65 public:
    60 public:
    66     enum THeaderDetailIcon
    61     enum THeaderDetailIcon
    67         {
    62         {
    68         EIconFront,
    63         EIconFront,
    69         EIconBack
    64         EIconBack
    70         };
    65         };
    71 // </cmail> Platform layout changes
       
    72 
    66 
    73 public:
    67 public:
    74     static void CompleteRelativePathL( const TDesC& aRelativePath, TPtr& aAbsolutePath );
    68     static void CompleteRelativePathL( const TDesC& aRelativePath, TPtr& aAbsolutePath );
    75 
    69 
    76     static HBufC* GenerateFromLineToMessageBodyL( const RPointerArray<CNcsEmailAddressObject>& aFromArray );
    70     static HBufC* GenerateFromLineToMessageBodyL( const RPointerArray<CNcsEmailAddressObject>& aFromArray );
   105 
    99 
   106     static TNcsMeasures Measures();
   100     static TNcsMeasures Measures();
   107 
   101 
   108     static CFont* GetNearestFontL( TInt aLogicalFontId, TInt aHeightPixels );
   102     static CFont* GetNearestFontL( TInt aLogicalFontId, TInt aHeightPixels );
   109 
   103 
   110 // <cmail> Platform layout changes
       
   111     enum TNcsLayoutFont
   104     enum TNcsLayoutFont
   112         {
   105         {
   113         ENcsHeaderCaptionFont,
   106         ENcsHeaderCaptionFont,
   114         ENcsHeaderDetailFont,
   107         ENcsHeaderDetailFont,
   115         ENcsBodytextFont
   108         ENcsBodytextFont
   116         };
   109         };
   117 
   110 
   118     static const CFont* GetLayoutFont( const TRect& aParent, TNcsLayoutFont aUsage );
   111     static const CFont* GetLayoutFont( const TRect& aParent, TNcsLayoutFont aUsage );
   119 // </cmail> Platform layout changes
       
   120 
   112 
   121     static TBool IsReplyForwardQuoteReadOnly( const CFSMailBox& aMailBox );
   113     static TBool IsReplyForwardQuoteReadOnly( const CFSMailBox& aMailBox );
   122 
   114 
   123     static TInt FindFirstPrintableCharIndex( const TDesC& aText );
   115     static TInt FindFirstPrintableCharIndex( const TDesC& aText );
   124 
   116 
   129     static TInt DeleteMessage( CFSMailClient& aMailClient,
   121     static TInt DeleteMessage( CFSMailClient& aMailClient,
   130     		const TFSMailMsgId& aMailBoxId,
   122     		const TFSMailMsgId& aMailBoxId,
   131     		const TFSMailMsgId& aFolderId,
   123     		const TFSMailMsgId& aFolderId,
   132     		const TFSMailMsgId& aMsgId );
   124     		const TFSMailMsgId& aMsgId );
   133 
   125 
   134     // <cmail> Platform layout changes
       
   135     static TRect HeaderCaptionPaneRect( const TRect& aParent );
   126     static TRect HeaderCaptionPaneRect( const TRect& aParent );
   136 
   127 
   137     static TRect HeaderDetailPaneRect( const TRect& aParent, const TInt aRows, TBool aSameRow = EFalse );
   128     static TRect HeaderDetailPaneRect( const TRect& aParent, const TInt aRows, TBool aSameRow = EFalse );
   138 
   129 
   139     static TRect HeaderDetailIconRect( const TRect& aParent, const TInt aRows , const THeaderDetailIcon aIcon );
   130     static TRect HeaderDetailIconRect( const TRect& aParent, const TInt aRows , const THeaderDetailIcon aIcon );
   141     static TRect ListscrollPaneRect();
   132     static TRect ListscrollPaneRect();
   142     
   133     
   143     static TRect ListCmailPaneRect( const TRect& aParent );
   134     static TRect ListCmailPaneRect( const TRect& aParent );
   144 
   135 
   145     static TRect ListCmailScrollbarRect( const TRect& aParent );
   136     static TRect ListCmailScrollbarRect( const TRect& aParent );
   146     //<cmail>
   137 
   147     static TSize SeparatorSizeInThisResolution();
   138     static TSize SeparatorSizeInThisResolution();
   148     static TInt ComposerLeftMarginInPixels( const TRect& aParent );
   139     static TInt ComposerLeftMarginInPixels( const TRect& aParent );
   149     static TInt ComposerRightMarginInPixels( const TRect& aParent );
   140     static TInt ComposerRightMarginInPixels( const TRect& aParent );
   150     static TRect ListCmailBodyPaneRect( const TRect& aParent );
   141     static TRect ListCmailBodyPaneRect( const TRect& aParent );
   151 
   142 
   152     static void LayoutCaptionLabel( CEikLabel* aLabel, const TRect& aParentRect );
   143     static void LayoutCaptionLabel( CEikLabel* aLabel, const TRect& aParentRect );
   153     
   144     
   154     //<cmail>
       
   155     static void LayoutCaptionButton( CAknButton* aButton, const TRect& aParentRect);
   145     static void LayoutCaptionButton( CAknButton* aButton, const TRect& aParentRect);
   156     //</cmail>
   146 
   157     static void LayoutDetailLabel( CEikLabel* aLabel, const TRect& aParentRect );
   147     static void LayoutDetailLabel( CEikLabel* aLabel, const TRect& aParentRect, TInt aRow = 0 );
   158 
   148 
   159     static void LayoutDetailEdwin( CEikEdwin* aEdwin, const TRect& aParentRect, const TInt aLineCount, const TBool aBackIcon );
   149     static void LayoutDetailEdwin( CEikEdwin* aEdwin, const TRect& aParentRect, const TInt aLineCount, const TBool aBackIcon );
   160     //<cmail>
   150 
   161     static void LayoutDetailEdwinTouch( CEikEdwin* aEdwin, const TRect& aParentRect,
   151     static void LayoutDetailEdwinTouch( CEikEdwin* aEdwin, const TRect& aParentRect,
   162                                         const TInt aLineCount, const TBool aBackIcon  );
   152                                         const TInt aLineCount, const TBool aBackIcon  );
   163     //</cmail>
   153 
   164     static TPoint HeaderControlPosition( const TRect& aParentRect, const TInt aCurrentLine );
   154     static TPoint HeaderControlPosition( const TRect& aParentRect, const TInt aCurrentLine );
   165 
   155 
   166     static void LayoutHeaderControl( CCoeControl* aControl, const TRect& aParentRect, const TInt aCurrentLine, const TInt aNumberOfLines );
   156     static void LayoutHeaderControl( CCoeControl* aControl, const TRect& aParentRect, const TInt aCurrentLine, const TInt aNumberOfLines );
   167     //<cmail>
   157 
   168     static void LayoutBodyEdwin( CEikEdwin* aEdwin, const TRect& aParentRect, const TInt aCurrentLine, const TInt aNumberOfLines,
   158     static void LayoutBodyEdwin( CEikEdwin* aEdwin, const TRect& aParentRect, const TInt aCurrentLine, const TInt aNumberOfLines,
   169             TInt& aSeparatorYPosition );
   159             TInt& aSeparatorYPosition );
   170     static TRgb CalculateSeparatorLineSecondaryColor( TInt aDegree, TRgb aStartColor );
   160     static TRgb CalculateSeparatorLineSecondaryColor( TInt aDegree, TRgb aStartColor );
   171     static TRgb SeparatorLineColor();
   161     static TRgb SeparatorLineColor();
   172     static TRgb CalculateMsgBodyLineColor( TInt aDegree, TRgb aBaseColor );
   162     static TRgb CalculateMsgBodyLineColor( TInt aDegree, TRgb aBaseColor );