emailuis/emailui/inc/FreestyleEmailUiConstants.h
branchRCL_3
changeset 25 3533d4323edc
equal deleted inserted replaced
24:d189ee25cf9d 25:3533d4323edc
       
     1 /*
       
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  General constants for FS Email UI
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef __FREESTYLEEMAILUICONSTANTS_H__
       
    20 #define __FREESTYLEEMAILUICONSTANTS_H__
       
    21 
       
    22 //#define PBKX_DEBUG_LEVEL 0 // Print only errors
       
    23 //#define PBKX_DEBUG_LEVEL 1 // Print errors and warnings
       
    24 //#define PBKX_DEBUG_LEVEL 2 // Print errors, warnings, traces and infos
       
    25 #define PBKX_DEBUG_LEVEL 3 // Print errors, warnings, traces, infos, details
       
    26 
       
    27 //<cmail>
       
    28 #include "cfsmailcommon.h"
       
    29 //</cmail>
       
    30 #include <f32file.h>
       
    31 
       
    32 class CFSMailMessage;
       
    33 class MFSEmailUiFolderListCallback;
       
    34 
       
    35 /**
       
    36 * application UID and executable name
       
    37 */
       
    38 // <cmail> S60 UID update
       
    39 const TUid KFSEmailUiUid = { 0x2001E277 };
       
    40 // </cmail> S60 UID update
       
    41 _LIT( KFSEmailUiExec, "FreestyleEmailUi.exe" );
       
    42 
       
    43 
       
    44 /**
       
    45 * view ids
       
    46 */
       
    47 const TUid AppGridId = { 1 };
       
    48 const TUid MailListId = { 2 };
       
    49 const TUid SearchListViewId = { 3 };
       
    50 const TUid MailViewerId = { 4 };
       
    51 const TUid MailEditorId = { 5 };
       
    52 const TUid SettingsViewId = { 6 };
       
    53 const TUid MsgDetailsViewId = { 7 };
       
    54 const TUid FolderListId = { 8 };
       
    55 const TUid AttachmentMngrViewId = { 9 };
       
    56 const TUid GlobalSettingsViewId = { 10 };
       
    57 const TUid DownloadManagerViewId = { 11 };
       
    58 const TUid SendAttachmentMngrViewId = { 12 };
       
    59 const TUid HtmlViewerId = { 13 };
       
    60 const TUid UiDummyViewId = { 14 };
       
    61 
       
    62 
       
    63 // Display groups
       
    64 const TInt KGridDisplayGroup = 1;
       
    65 const TInt KMailListDisplayGroup = 2;
       
    66 const TInt KEmailViewerDisplayGroup = 3;
       
    67 const TInt KEmailEditorDisplayGroup = 4;
       
    68 const TInt KFolderListDisplayGroup = 5;
       
    69 const TInt KSettingsListDisplayGroup = 6;
       
    70 const TInt KAttachmentManagerDisplayGroup = 7;
       
    71 const TInt KMsgDetailsViewerControlGroup = 8;
       
    72 const TInt KDownloadManagerDisplayGroup = 9;
       
    73 const TInt KSearchResultDisplayGroup = 10;
       
    74 const TInt KStatusIndicatorDisplayGroup = 11;
       
    75 const TInt KHtmlViewerDisplayGroup = 12;
       
    76 const TInt KDummyControlGroup = 13;
       
    77 const TInt KDownloadIndicatorControlGroup = 14;
       
    78 const TInt KSendAttachmentManagerDisplayGroup = 15;
       
    79 
       
    80 /**
       
    81  * TLS handles
       
    82  */
       
    83 const TInt KTlsHandleCRHandler = 0xC0CEDE;
       
    84 const TInt KTlsHandleDownloadInfo = 0xCECECE;
       
    85 const TInt KTlsHandleMailListModel = 0xCECEDE;
       
    86 
       
    87 enum TForcedStatus 
       
    88     {
       
    89     ENoForce = 0,
       
    90     EForceToSync,
       
    91     EForceToConnected,
       
    92     EForceToDisconnected
       
    93     };
       
    94 
       
    95 /**
       
    96 * Action menu custom item ids
       
    97 */
       
    98 enum TActionMenuCustomItemId
       
    99 	{
       
   100 	FsEActionMenuDismissed = -10,
       
   101 	FsEActionMenuCasItemSelectedAndExecuted,
       
   102 
       
   103 	FsEActionMenuOpen = 1,
       
   104 	FsEActionMenuOpenCalendarEvent,
       
   105 	FsEActionMenuReply,
       
   106 	FsEActionMenuReplyAll,
       
   107 	FsEActionMenuForward,
       
   108 	FsEActionMenuDelete,
       
   109 	FsEActionMenuAccept,
       
   110 	FsEActionMenuTentative,
       
   111 	FsEActionMenuDecline,
       
   112 	FsEActionMenuRemoveFormCal,
       
   113 	FsEActionMenuMarkRead,
       
   114 	FsEActionMenuMarkUnread,
       
   115 	FsEActionMenuCall,
       
   116     // <cmail> video call
       
   117     FsEActionMenuCallVideo,
       
   118     // </cmail>
       
   119 	FsEActionMenuCreateMessage,
       
   120 	FsEActionMenuCreateEmail,
       
   121 	FsEActionMenuContactDetails,
       
   122 	FsEActionMenuAddToContacts,
       
   123 	FsEActionMenuRemoteLookup,
       
   124 	FsEActionMenuMove,
       
   125 	FsEActionMenuMoveToDrafts,
       
   126 	FsEActionMenuOpenInWeb,
       
   127 	FsEActionMenuOpenInIntranet,
       
   128 	FsEActionMenuBookmark,
       
   129 	FsEActionAttachmentOpen,
       
   130 	FsEActionAttachmentDownload,
       
   131 	FsEActionAttachmentCancelDownload,
       
   132 	FsEActionAttachmentSave,
       
   133     FsEActionAttachmentAdd,
       
   134     FsEActionAttachmentRemove,
       
   135 	FsEActionAttachmentViewAll,
       
   136 	FsEActionAttachmentDownloadAll,
       
   137 	FsEActionAttachmentCancelAllDownloads,
       
   138 	FsEActionAttachmentSaveAll,
       
   139     FsEActionAttachmentRemoveAll,
       
   140     FsEActionAttachmentClearFetchedContent,
       
   141     FsEActionAttachmentRemoveUnfetchedAttachment
       
   142 	};
       
   143 
       
   144 const TUid FsEActionMenuOpenUid = { FsEActionMenuOpen };
       
   145 const TUid FsEActionMenuReplyUid = { FsEActionMenuReply };
       
   146 const TUid FsEActionMenuReplyAllUid = { FsEActionMenuReplyAll };
       
   147 const TUid FsEActionMenuForwardUid = { FsEActionMenuForward };
       
   148 const TUid FsEActionMenuDeleteUid = { FsEActionMenuDelete };
       
   149 const TUid FsEActionMenuAcceptUid = { FsEActionMenuAccept };
       
   150 const TUid FsEActionMenuTentativeUid = { FsEActionMenuTentative };
       
   151 const TUid FsEActionMenuRemoveFromCalUid = { FsEActionMenuRemoveFormCal };
       
   152 const TUid FsEActionMenuDeclineUid = { FsEActionMenuDecline };
       
   153 const TUid FsEActionMenuMarkReadUid = { FsEActionMenuMarkRead };
       
   154 const TUid FsEActionMenuMarkUnreadUid = { FsEActionMenuMarkUnread };
       
   155 const TUid FsEActionMenuCallUid = { FsEActionMenuCall };
       
   156 // <cmail> video call
       
   157 const TUid FsEActionMenuCallVideoUid = { FsEActionMenuCallVideo };
       
   158 // </cmail>
       
   159 const TUid FsEActionMenuCreateMessageUid = { FsEActionMenuCreateMessage };
       
   160 const TUid FsEActionMenuContactDetailsUid = { FsEActionMenuContactDetails };
       
   161 const TUid FsEActionMenuAddToContactsUid = { FsEActionMenuAddToContacts };
       
   162 const TUid FsEActionMenuRemoteLookupUid = { FsEActionMenuRemoteLookup };
       
   163 const TUid FsEActionMenuMoveUid = { FsEActionMenuMove };
       
   164 const TUid FsEActionMenuUidMoveToDrafts = { FsEActionMenuMoveToDrafts };
       
   165 
       
   166 const TUid FsEActionMenuOpenInWebUid = { FsEActionMenuOpenInWeb };
       
   167 const TUid FsEActionMenuOpenInIntranetUid = { FsEActionMenuOpenInIntranet };
       
   168 const TUid FsEActionMenuBookmarkUid = { FsEActionMenuBookmark };
       
   169 const TUid FsEActionAttachmentOpenUid = { FsEActionAttachmentOpen };
       
   170 const TUid FsEActionAttachmentDownloadUid = { FsEActionAttachmentDownload };
       
   171 const TUid FsEActionAttachmentCancelDownloadUid = { FsEActionAttachmentCancelDownload };
       
   172 const TUid FsEActionAttachmentSaveUid = { FsEActionAttachmentSave };
       
   173 const TUid FsEActionAttachmentDownloadAllUid = { FsEActionAttachmentDownloadAll };
       
   174 const TUid FsEActionAttachmentCancelAllDownloadsUid = { FsEActionAttachmentCancelAllDownloads };
       
   175 const TUid FsEActionAttachmentSaveAllUid = { FsEActionAttachmentSaveAll };
       
   176 
       
   177 
       
   178 /**
       
   179  * Settings launch modes
       
   180  */
       
   181  enum TMailSettingsLaunchMode
       
   182  	{
       
   183  	KMailSettingsOpenMainList = 0x112,
       
   184  	KMailSettingsOpenMailboxSettings,
       
   185  	KMailSettingsOpenGlobalSettings,
       
   186  	KMailSettingsOpenServiceSettings,
       
   187  	KMailSettingsReturnToPrevious,
       
   188  	KMailSettingsReturnFromPluginSettings,
       
   189  	KOpenMailSettingsFromGS,
       
   190  	KMailSettingsOpenPluginSettings
       
   191  	};
       
   192 
       
   193 
       
   194 /**
       
   195 * editor launch modes
       
   196 */
       
   197 enum TEditorLaunchMode
       
   198 	{
       
   199 	KEditorCmdCreateNew,
       
   200 	KEditorCmdReply,
       
   201 	KEditorCmdReplyAll,
       
   202 	KEditorCmdForward,
       
   203 	KEditorCmdOpen,
       
   204 	KEditorCmdInternalMailto,
       
   205 	KEditorCmdOpenAttachmentsList,
       
   206 	KEditorCmdReturnToPrevious
       
   207 	};
       
   208 
       
   209 /**
       
   210 * editor launch parameters
       
   211 */
       
   212 struct TEditorLaunchParams
       
   213     {
       
   214     TFSMailMsgId iMailboxId;
       
   215     TFSMailMsgId iFolderId;
       
   216     TFSMailMsgId iMsgId;
       
   217     TBool iActivatedExternally;	// ETrue makes editor close application when it exits
       
   218     TAny* iExtra;
       
   219     };
       
   220 
       
   221 /**
       
   222 * attachment file types
       
   223 */
       
   224 enum TFileType
       
   225 	{
       
   226 	EPdfType,
       
   227 	EDocType,
       
   228 	ERtfType,
       
   229 	EPptType,
       
   230 	EXlsType,
       
   231 	EImageType,
       
   232 	EHtmlType,
       
   233 	EPlainTextType,
       
   234 	EVCalType,
       
   235 	EMessageType,
       
   236 	EUnidentifiedType
       
   237 	};
       
   238 
       
   239 
       
   240 /**
       
   241 * reply/forward message creation parameters
       
   242 */
       
   243 struct TReplyForwardParams
       
   244     {
       
   245     HBufC* iHeader; // reply/forward header, ownership stays in UI
       
   246     HBufC* iSmartTag; // smart reply/forward tag, ownership stays in UI
       
   247     };
       
   248 
       
   249 /**
       
   250 * List launch parameters
       
   251 * Use iRequestRefresh = ETrue to force list refresh when using
       
   252 * KStartListReturnToPreviousFolder parameter.
       
   253 */
       
   254 static const TUid KStartListWithFolderId = { 1 };
       
   255 static const TUid KStartListReturnToPreviousFolder = { 2 };
       
   256 static const TUid KStartListWithFolderIdFromHomeScreen = { 3 };
       
   257 
       
   258 class TMailListActivationData
       
   259 	{
       
   260 public: // constructor
       
   261 	inline TMailListActivationData()
       
   262         : iMailBoxId(), iFolderId(), iRequestRefresh(EFalse), iReturnAfterWizard(EFalse)
       
   263 	    {
       
   264 	    // no implementation needed
       
   265 	    }
       
   266 
       
   267 public: // data
       
   268 	TFSMailMsgId iMailBoxId;
       
   269 	TFSMailMsgId iFolderId;
       
   270 	TBool iRequestRefresh;
       
   271     TBool iReturnAfterWizard;
       
   272 	};
       
   273 
       
   274 /**
       
   275 * Viewer launch parameters
       
   276 */
       
   277 class TMsgViewerActivationData
       
   278 	{
       
   279 public: // construction
       
   280 	inline TMsgViewerActivationData()
       
   281 	    : iMailBoxId(),
       
   282 	      iFolderId(),
       
   283 	      iMessageId(),
       
   284 	      iDetails( EFSMsgDataEnvelope ),
       
   285 	      iEmbeddedMessage( NULL )
       
   286 	      {}
       
   287 
       
   288 public: // members
       
   289 	TFSMailMsgId iMailBoxId;
       
   290 	TFSMailMsgId iFolderId;
       
   291 	TFSMailMsgId iMessageId;
       
   292 	TFSMailDetails iDetails;
       
   293     CFSMailMessage* iEmbeddedMessage;
       
   294 	};
       
   295 
       
   296 static const TUid KStartViewerWithMsgId = { 1 };
       
   297 static const TUid KStartViewerReturnToPreviousMsg = { 2 };
       
   298 static const TUid KStartViewerWithEmbeddedMsgPtr = { 3 };
       
   299 static const TUid KStartViewerReturnFromEmbeddedMsg = { 4 };
       
   300 
       
   301 
       
   302 /**
       
   303 * Search list activation parameters
       
   304 */
       
   305 static const TUid KStartNewSearch = { 1 };
       
   306 static const TUid KStartWithPreviousResults = { 2 };
       
   307 
       
   308 class TSearchListActivationData
       
   309 	{
       
   310 public: // construction
       
   311 	inline TSearchListActivationData()
       
   312 	    : iMailBoxId(), iFolderId() {}
       
   313 
       
   314 public: // members
       
   315 	TFSMailMsgId iMailBoxId;
       
   316 	TFSMailMsgId iFolderId;
       
   317 	};
       
   318 
       
   319 /**
       
   320 * HTML viewer activation parameters
       
   321 */
       
   322 static const TUid KHtmlViewerOpenNew          = { 1 };
       
   323 static const TUid KHtmlViewerReturnToPrevious = { 2 };
       
   324 
       
   325 class THtmlViewerActivationData
       
   326 	{
       
   327 public: // data types
       
   328     enum TActivationDataType
       
   329         {
       
   330         EFile,          // Load content from RFile
       
   331         EFileName,      // Load content from file
       
   332         EUrl,           // Load content from URL
       
   333         EMailMessage,    // Load content from mail message.
       
   334         EmbeddedEmailMessage   // Load content from embedded mail message.
       
   335                         // Only with this option embedded pictures are shown.
       
   336         };
       
   337 
       
   338 public: // methods
       
   339     // default constructor
       
   340 	inline THtmlViewerActivationData()
       
   341 	    : iActivationDataType( EMailMessage ),
       
   342 	      iMailBoxId(),
       
   343 	      iFolderId(),
       
   344 	      iMessageId(),
       
   345 	      iFile(),
       
   346 	      iFileName( KNullDesC ),
       
   347 	      iUrl( KNullDesC ),
       
   348 	      iEmbeddedMessage( NULL ),
       
   349           iEmbeddedMessageMode( EFalse ) {}
       
   350 
       
   351 	// substitution operator
       
   352 	inline THtmlViewerActivationData& operator=( const THtmlViewerActivationData& aAnother )
       
   353 	    {
       
   354 	    if ( this != &aAnother )
       
   355 	        {
       
   356     	    iActivationDataType = aAnother.iActivationDataType;
       
   357     	    iMailBoxId = aAnother.iMailBoxId;
       
   358     	    iFolderId = aAnother.iFolderId;
       
   359     	    iMessageId = aAnother.iMessageId;
       
   360     	    iFile = aAnother.iFile;
       
   361     	    iFileName.Set( aAnother.iFileName );
       
   362     	    iUrl.Set( aAnother.iUrl );
       
   363     	    iEmbeddedMessage = aAnother.iEmbeddedMessage;
       
   364     	    iEmbeddedMessageMode = aAnother.iEmbeddedMessageMode;
       
   365 	        }
       
   366 	    return *this;
       
   367 	    }
       
   368 
       
   369 public: // members
       
   370     TActivationDataType iActivationDataType;
       
   371     TFSMailMsgId iMailBoxId; // Mail box ID of the message used in activation.
       
   372     TFSMailMsgId iFolderId; // Folder ID of the message used in activation.
       
   373     TFSMailMsgId iMessageId; // Message ID of the message used in activation.
       
   374 	RFile iFile; // HTML file to be shown.
       
   375 	TPtrC iFileName; // Name of the HTML file to be shown.
       
   376 	TPtrC iUrl; // URL to be loaded.
       
   377 	TBool iEmbeddedMessageMode; // Some UI options are blocked in embedded messages.
       
   378 	CFSMailMessage* iEmbeddedMessage;
       
   379 	};
       
   380 
       
   381 /**
       
   382 * Attachment list activation parameters
       
   383 */
       
   384 class TAttachmentListActivationData
       
   385 	{
       
   386 public: // construction
       
   387 	inline TAttachmentListActivationData()
       
   388 	    : iMailBoxId(), iFolderId(), iMessageId(), iDetails(EFSMsgDataEnvelope), iEmbeddedMsgMode(EFalse) {}
       
   389 
       
   390 public: // members
       
   391 	TFSMailMsgId iMailBoxId;
       
   392 	TFSMailMsgId iFolderId;
       
   393 	TFSMailMsgId iMessageId;
       
   394 	TFSMailDetails iDetails;
       
   395 	TBool iEmbeddedMsgMode;
       
   396 	};
       
   397 
       
   398 /**
       
   399 * Message details view launch parameters
       
   400 */
       
   401 static const TUid KStartMsgDetailsToBeginning      = { 1 };
       
   402 static const TUid KStartMsgDetailsToTo             = { 2 };
       
   403 static const TUid KStartMsgDetailsToCc             = { 3 };
       
   404 static const TUid KStartMsgDetailsToBcc            = { 4 };
       
   405 static const TUid KStartMsgDetailsReturnToPrevious = { 5 };
       
   406 
       
   407 class TMsgDetailsActivationData
       
   408 	{
       
   409 public: // construction
       
   410 	inline TMsgDetailsActivationData()
       
   411 	    : iMailBoxId(), iFolderId(), iMessageId() {}
       
   412 
       
   413 public: // members
       
   414 	TFSMailMsgId iMailBoxId;
       
   415 	TFSMailMsgId iFolderId;
       
   416 	TFSMailMsgId iMessageId;
       
   417 	};
       
   418 
       
   419 /**
       
   420 * Folder list view launch parameters
       
   421 */
       
   422 static const TUid KFolderListSelectFolder = { 1 };
       
   423 static const TUid KFolderListCopyMessage  = { 2 };
       
   424 static const TUid KFolderListCopyMessages = { 3 };
       
   425 static const TUid KFolderListMoveMessage  = { 4 };
       
   426 static const TUid KFolderListMoveMessages = { 5 };
       
   427 
       
   428 class TFolderListActivationData
       
   429 	{
       
   430 public: // construction
       
   431 	inline TFolderListActivationData()
       
   432         : iSourceFolderType( EFSOther ), iCallback( NULL ) {}
       
   433 
       
   434 public: // members
       
   435 	// Type of the source folder in case of move or copy
       
   436 	TFSFolderType iSourceFolderType;
       
   437 
       
   438 	// Call back used to inform the folder selection query result
       
   439 	MFSEmailUiFolderListCallback* iCallback;
       
   440 	};
       
   441 
       
   442 /**
       
   443 * Message part data
       
   444 */
       
   445 class TPartData
       
   446 	{
       
   447 public: // data
       
   448 	TFSMailMsgId iMailBoxId;
       
   449 	TFSMailMsgId iFolderId;
       
   450 	TFSMailMsgId iMessageId;
       
   451 	TFSMailMsgId iMessagePartId;
       
   452 
       
   453 public: // methods
       
   454 	// default constructor initializes all IDs as NULL ID
       
   455 	inline TPartData()
       
   456 	    : iMailBoxId(), iFolderId(), iMessageId(), iMessagePartId()
       
   457 	    {
       
   458 	    }
       
   459 
       
   460 	// construction with initial data
       
   461 	inline TPartData( TFSMailMsgId aMailBoxId, TFSMailMsgId aFolderId,
       
   462 	           TFSMailMsgId aMessageId, TFSMailMsgId aMessagePartId )
       
   463 	    : iMailBoxId( aMailBoxId ), iFolderId( aFolderId ),
       
   464 	      iMessageId( aMessageId ), iMessagePartId( aMessagePartId )
       
   465 	    {
       
   466 	    }
       
   467 
       
   468 	// construction with initial data except messagePartId
       
   469 	inline TPartData( TFSMailMsgId aMailBoxId, TFSMailMsgId aFolderId, TFSMailMsgId aMessageId )
       
   470 	    : iMailBoxId( aMailBoxId ), iFolderId( aFolderId ),
       
   471 	      iMessageId( aMessageId ), iMessagePartId()
       
   472 	    {
       
   473 	    }
       
   474 
       
   475 	// equality operator
       
   476 	inline TBool operator==( const TPartData& aPart ) const
       
   477 		{
       
   478 		return ( iMailBoxId==aPart.iMailBoxId && iFolderId==aPart.iFolderId &&
       
   479 		         iMessageId==aPart.iMessageId && iMessagePartId==aPart.iMessagePartId );
       
   480 		}
       
   481 	};
       
   482 
       
   483 /**
       
   484 * CCoeStatic derived singleton ids
       
   485 */
       
   486 const TUid KDelayedLoaderUid = { 1001 };
       
   487 
       
   488 
       
   489 /**
       
   490 * Alfred action commands
       
   491 */
       
   492 const TInt KCmdEditorAutoSave = 9901;
       
   493 
       
   494 /**
       
   495  * UID for launching wizard
       
   496  */
       
   497 const TUid KAiwCmdSettingWizardFsEmail = { 0x2000CFE9 };
       
   498 
       
   499 /**
       
   500  * UID for launching browser
       
   501  */
       
   502 static const TInt KBrowserUid = 0x10008D39;
       
   503 
       
   504 /**
       
   505  * UID for identifying Message Reader in the taskList
       
   506  */
       
   507 static const TUid KMessageReaderUid = { 0x10201B00 };
       
   508 
       
   509 /**
       
   510  * UIDs for identifying Homescreen Modes application and its Email view
       
   511  */
       
   512 static const TUid KHsModesAppUid = { 0x20002581 };
       
   513 static const TUid KHsModesPrimaryEmailViewId = { 14 };
       
   514 
       
   515 #endif