diff -r d189ee25cf9d -r 3533d4323edc emailuis/emailui/inc/FreestyleEmailUiConstants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailuis/emailui/inc/FreestyleEmailUiConstants.h Wed Sep 01 12:28:57 2010 +0100 @@ -0,0 +1,515 @@ +/* +* Copyright (c) 2007 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: General constants for FS Email UI +* +*/ + + +#ifndef __FREESTYLEEMAILUICONSTANTS_H__ +#define __FREESTYLEEMAILUICONSTANTS_H__ + +//#define PBKX_DEBUG_LEVEL 0 // Print only errors +//#define PBKX_DEBUG_LEVEL 1 // Print errors and warnings +//#define PBKX_DEBUG_LEVEL 2 // Print errors, warnings, traces and infos +#define PBKX_DEBUG_LEVEL 3 // Print errors, warnings, traces, infos, details + +// +#include "cfsmailcommon.h" +// +#include + +class CFSMailMessage; +class MFSEmailUiFolderListCallback; + +/** +* application UID and executable name +*/ +// S60 UID update +const TUid KFSEmailUiUid = { 0x2001E277 }; +// S60 UID update +_LIT( KFSEmailUiExec, "FreestyleEmailUi.exe" ); + + +/** +* view ids +*/ +const TUid AppGridId = { 1 }; +const TUid MailListId = { 2 }; +const TUid SearchListViewId = { 3 }; +const TUid MailViewerId = { 4 }; +const TUid MailEditorId = { 5 }; +const TUid SettingsViewId = { 6 }; +const TUid MsgDetailsViewId = { 7 }; +const TUid FolderListId = { 8 }; +const TUid AttachmentMngrViewId = { 9 }; +const TUid GlobalSettingsViewId = { 10 }; +const TUid DownloadManagerViewId = { 11 }; +const TUid SendAttachmentMngrViewId = { 12 }; +const TUid HtmlViewerId = { 13 }; +const TUid UiDummyViewId = { 14 }; + + +// Display groups +const TInt KGridDisplayGroup = 1; +const TInt KMailListDisplayGroup = 2; +const TInt KEmailViewerDisplayGroup = 3; +const TInt KEmailEditorDisplayGroup = 4; +const TInt KFolderListDisplayGroup = 5; +const TInt KSettingsListDisplayGroup = 6; +const TInt KAttachmentManagerDisplayGroup = 7; +const TInt KMsgDetailsViewerControlGroup = 8; +const TInt KDownloadManagerDisplayGroup = 9; +const TInt KSearchResultDisplayGroup = 10; +const TInt KStatusIndicatorDisplayGroup = 11; +const TInt KHtmlViewerDisplayGroup = 12; +const TInt KDummyControlGroup = 13; +const TInt KDownloadIndicatorControlGroup = 14; +const TInt KSendAttachmentManagerDisplayGroup = 15; + +/** + * TLS handles + */ +const TInt KTlsHandleCRHandler = 0xC0CEDE; +const TInt KTlsHandleDownloadInfo = 0xCECECE; +const TInt KTlsHandleMailListModel = 0xCECEDE; + +enum TForcedStatus + { + ENoForce = 0, + EForceToSync, + EForceToConnected, + EForceToDisconnected + }; + +/** +* Action menu custom item ids +*/ +enum TActionMenuCustomItemId + { + FsEActionMenuDismissed = -10, + FsEActionMenuCasItemSelectedAndExecuted, + + FsEActionMenuOpen = 1, + FsEActionMenuOpenCalendarEvent, + FsEActionMenuReply, + FsEActionMenuReplyAll, + FsEActionMenuForward, + FsEActionMenuDelete, + FsEActionMenuAccept, + FsEActionMenuTentative, + FsEActionMenuDecline, + FsEActionMenuRemoveFormCal, + FsEActionMenuMarkRead, + FsEActionMenuMarkUnread, + FsEActionMenuCall, + // video call + FsEActionMenuCallVideo, + // + FsEActionMenuCreateMessage, + FsEActionMenuCreateEmail, + FsEActionMenuContactDetails, + FsEActionMenuAddToContacts, + FsEActionMenuRemoteLookup, + FsEActionMenuMove, + FsEActionMenuMoveToDrafts, + FsEActionMenuOpenInWeb, + FsEActionMenuOpenInIntranet, + FsEActionMenuBookmark, + FsEActionAttachmentOpen, + FsEActionAttachmentDownload, + FsEActionAttachmentCancelDownload, + FsEActionAttachmentSave, + FsEActionAttachmentAdd, + FsEActionAttachmentRemove, + FsEActionAttachmentViewAll, + FsEActionAttachmentDownloadAll, + FsEActionAttachmentCancelAllDownloads, + FsEActionAttachmentSaveAll, + FsEActionAttachmentRemoveAll, + FsEActionAttachmentClearFetchedContent, + FsEActionAttachmentRemoveUnfetchedAttachment + }; + +const TUid FsEActionMenuOpenUid = { FsEActionMenuOpen }; +const TUid FsEActionMenuReplyUid = { FsEActionMenuReply }; +const TUid FsEActionMenuReplyAllUid = { FsEActionMenuReplyAll }; +const TUid FsEActionMenuForwardUid = { FsEActionMenuForward }; +const TUid FsEActionMenuDeleteUid = { FsEActionMenuDelete }; +const TUid FsEActionMenuAcceptUid = { FsEActionMenuAccept }; +const TUid FsEActionMenuTentativeUid = { FsEActionMenuTentative }; +const TUid FsEActionMenuRemoveFromCalUid = { FsEActionMenuRemoveFormCal }; +const TUid FsEActionMenuDeclineUid = { FsEActionMenuDecline }; +const TUid FsEActionMenuMarkReadUid = { FsEActionMenuMarkRead }; +const TUid FsEActionMenuMarkUnreadUid = { FsEActionMenuMarkUnread }; +const TUid FsEActionMenuCallUid = { FsEActionMenuCall }; +// video call +const TUid FsEActionMenuCallVideoUid = { FsEActionMenuCallVideo }; +// +const TUid FsEActionMenuCreateMessageUid = { FsEActionMenuCreateMessage }; +const TUid FsEActionMenuContactDetailsUid = { FsEActionMenuContactDetails }; +const TUid FsEActionMenuAddToContactsUid = { FsEActionMenuAddToContacts }; +const TUid FsEActionMenuRemoteLookupUid = { FsEActionMenuRemoteLookup }; +const TUid FsEActionMenuMoveUid = { FsEActionMenuMove }; +const TUid FsEActionMenuUidMoveToDrafts = { FsEActionMenuMoveToDrafts }; + +const TUid FsEActionMenuOpenInWebUid = { FsEActionMenuOpenInWeb }; +const TUid FsEActionMenuOpenInIntranetUid = { FsEActionMenuOpenInIntranet }; +const TUid FsEActionMenuBookmarkUid = { FsEActionMenuBookmark }; +const TUid FsEActionAttachmentOpenUid = { FsEActionAttachmentOpen }; +const TUid FsEActionAttachmentDownloadUid = { FsEActionAttachmentDownload }; +const TUid FsEActionAttachmentCancelDownloadUid = { FsEActionAttachmentCancelDownload }; +const TUid FsEActionAttachmentSaveUid = { FsEActionAttachmentSave }; +const TUid FsEActionAttachmentDownloadAllUid = { FsEActionAttachmentDownloadAll }; +const TUid FsEActionAttachmentCancelAllDownloadsUid = { FsEActionAttachmentCancelAllDownloads }; +const TUid FsEActionAttachmentSaveAllUid = { FsEActionAttachmentSaveAll }; + + +/** + * Settings launch modes + */ + enum TMailSettingsLaunchMode + { + KMailSettingsOpenMainList = 0x112, + KMailSettingsOpenMailboxSettings, + KMailSettingsOpenGlobalSettings, + KMailSettingsOpenServiceSettings, + KMailSettingsReturnToPrevious, + KMailSettingsReturnFromPluginSettings, + KOpenMailSettingsFromGS, + KMailSettingsOpenPluginSettings + }; + + +/** +* editor launch modes +*/ +enum TEditorLaunchMode + { + KEditorCmdCreateNew, + KEditorCmdReply, + KEditorCmdReplyAll, + KEditorCmdForward, + KEditorCmdOpen, + KEditorCmdInternalMailto, + KEditorCmdOpenAttachmentsList, + KEditorCmdReturnToPrevious + }; + +/** +* editor launch parameters +*/ +struct TEditorLaunchParams + { + TFSMailMsgId iMailboxId; + TFSMailMsgId iFolderId; + TFSMailMsgId iMsgId; + TBool iActivatedExternally; // ETrue makes editor close application when it exits + TAny* iExtra; + }; + +/** +* attachment file types +*/ +enum TFileType + { + EPdfType, + EDocType, + ERtfType, + EPptType, + EXlsType, + EImageType, + EHtmlType, + EPlainTextType, + EVCalType, + EMessageType, + EUnidentifiedType + }; + + +/** +* reply/forward message creation parameters +*/ +struct TReplyForwardParams + { + HBufC* iHeader; // reply/forward header, ownership stays in UI + HBufC* iSmartTag; // smart reply/forward tag, ownership stays in UI + }; + +/** +* List launch parameters +* Use iRequestRefresh = ETrue to force list refresh when using +* KStartListReturnToPreviousFolder parameter. +*/ +static const TUid KStartListWithFolderId = { 1 }; +static const TUid KStartListReturnToPreviousFolder = { 2 }; +static const TUid KStartListWithFolderIdFromHomeScreen = { 3 }; + +class TMailListActivationData + { +public: // constructor + inline TMailListActivationData() + : iMailBoxId(), iFolderId(), iRequestRefresh(EFalse), iReturnAfterWizard(EFalse) + { + // no implementation needed + } + +public: // data + TFSMailMsgId iMailBoxId; + TFSMailMsgId iFolderId; + TBool iRequestRefresh; + TBool iReturnAfterWizard; + }; + +/** +* Viewer launch parameters +*/ +class TMsgViewerActivationData + { +public: // construction + inline TMsgViewerActivationData() + : iMailBoxId(), + iFolderId(), + iMessageId(), + iDetails( EFSMsgDataEnvelope ), + iEmbeddedMessage( NULL ) + {} + +public: // members + TFSMailMsgId iMailBoxId; + TFSMailMsgId iFolderId; + TFSMailMsgId iMessageId; + TFSMailDetails iDetails; + CFSMailMessage* iEmbeddedMessage; + }; + +static const TUid KStartViewerWithMsgId = { 1 }; +static const TUid KStartViewerReturnToPreviousMsg = { 2 }; +static const TUid KStartViewerWithEmbeddedMsgPtr = { 3 }; +static const TUid KStartViewerReturnFromEmbeddedMsg = { 4 }; + + +/** +* Search list activation parameters +*/ +static const TUid KStartNewSearch = { 1 }; +static const TUid KStartWithPreviousResults = { 2 }; + +class TSearchListActivationData + { +public: // construction + inline TSearchListActivationData() + : iMailBoxId(), iFolderId() {} + +public: // members + TFSMailMsgId iMailBoxId; + TFSMailMsgId iFolderId; + }; + +/** +* HTML viewer activation parameters +*/ +static const TUid KHtmlViewerOpenNew = { 1 }; +static const TUid KHtmlViewerReturnToPrevious = { 2 }; + +class THtmlViewerActivationData + { +public: // data types + enum TActivationDataType + { + EFile, // Load content from RFile + EFileName, // Load content from file + EUrl, // Load content from URL + EMailMessage, // Load content from mail message. + EmbeddedEmailMessage // Load content from embedded mail message. + // Only with this option embedded pictures are shown. + }; + +public: // methods + // default constructor + inline THtmlViewerActivationData() + : iActivationDataType( EMailMessage ), + iMailBoxId(), + iFolderId(), + iMessageId(), + iFile(), + iFileName( KNullDesC ), + iUrl( KNullDesC ), + iEmbeddedMessage( NULL ), + iEmbeddedMessageMode( EFalse ) {} + + // substitution operator + inline THtmlViewerActivationData& operator=( const THtmlViewerActivationData& aAnother ) + { + if ( this != &aAnother ) + { + iActivationDataType = aAnother.iActivationDataType; + iMailBoxId = aAnother.iMailBoxId; + iFolderId = aAnother.iFolderId; + iMessageId = aAnother.iMessageId; + iFile = aAnother.iFile; + iFileName.Set( aAnother.iFileName ); + iUrl.Set( aAnother.iUrl ); + iEmbeddedMessage = aAnother.iEmbeddedMessage; + iEmbeddedMessageMode = aAnother.iEmbeddedMessageMode; + } + return *this; + } + +public: // members + TActivationDataType iActivationDataType; + TFSMailMsgId iMailBoxId; // Mail box ID of the message used in activation. + TFSMailMsgId iFolderId; // Folder ID of the message used in activation. + TFSMailMsgId iMessageId; // Message ID of the message used in activation. + RFile iFile; // HTML file to be shown. + TPtrC iFileName; // Name of the HTML file to be shown. + TPtrC iUrl; // URL to be loaded. + TBool iEmbeddedMessageMode; // Some UI options are blocked in embedded messages. + CFSMailMessage* iEmbeddedMessage; + }; + +/** +* Attachment list activation parameters +*/ +class TAttachmentListActivationData + { +public: // construction + inline TAttachmentListActivationData() + : iMailBoxId(), iFolderId(), iMessageId(), iDetails(EFSMsgDataEnvelope), iEmbeddedMsgMode(EFalse) {} + +public: // members + TFSMailMsgId iMailBoxId; + TFSMailMsgId iFolderId; + TFSMailMsgId iMessageId; + TFSMailDetails iDetails; + TBool iEmbeddedMsgMode; + }; + +/** +* Message details view launch parameters +*/ +static const TUid KStartMsgDetailsToBeginning = { 1 }; +static const TUid KStartMsgDetailsToTo = { 2 }; +static const TUid KStartMsgDetailsToCc = { 3 }; +static const TUid KStartMsgDetailsToBcc = { 4 }; +static const TUid KStartMsgDetailsReturnToPrevious = { 5 }; + +class TMsgDetailsActivationData + { +public: // construction + inline TMsgDetailsActivationData() + : iMailBoxId(), iFolderId(), iMessageId() {} + +public: // members + TFSMailMsgId iMailBoxId; + TFSMailMsgId iFolderId; + TFSMailMsgId iMessageId; + }; + +/** +* Folder list view launch parameters +*/ +static const TUid KFolderListSelectFolder = { 1 }; +static const TUid KFolderListCopyMessage = { 2 }; +static const TUid KFolderListCopyMessages = { 3 }; +static const TUid KFolderListMoveMessage = { 4 }; +static const TUid KFolderListMoveMessages = { 5 }; + +class TFolderListActivationData + { +public: // construction + inline TFolderListActivationData() + : iSourceFolderType( EFSOther ), iCallback( NULL ) {} + +public: // members + // Type of the source folder in case of move or copy + TFSFolderType iSourceFolderType; + + // Call back used to inform the folder selection query result + MFSEmailUiFolderListCallback* iCallback; + }; + +/** +* Message part data +*/ +class TPartData + { +public: // data + TFSMailMsgId iMailBoxId; + TFSMailMsgId iFolderId; + TFSMailMsgId iMessageId; + TFSMailMsgId iMessagePartId; + +public: // methods + // default constructor initializes all IDs as NULL ID + inline TPartData() + : iMailBoxId(), iFolderId(), iMessageId(), iMessagePartId() + { + } + + // construction with initial data + inline TPartData( TFSMailMsgId aMailBoxId, TFSMailMsgId aFolderId, + TFSMailMsgId aMessageId, TFSMailMsgId aMessagePartId ) + : iMailBoxId( aMailBoxId ), iFolderId( aFolderId ), + iMessageId( aMessageId ), iMessagePartId( aMessagePartId ) + { + } + + // construction with initial data except messagePartId + inline TPartData( TFSMailMsgId aMailBoxId, TFSMailMsgId aFolderId, TFSMailMsgId aMessageId ) + : iMailBoxId( aMailBoxId ), iFolderId( aFolderId ), + iMessageId( aMessageId ), iMessagePartId() + { + } + + // equality operator + inline TBool operator==( const TPartData& aPart ) const + { + return ( iMailBoxId==aPart.iMailBoxId && iFolderId==aPart.iFolderId && + iMessageId==aPart.iMessageId && iMessagePartId==aPart.iMessagePartId ); + } + }; + +/** +* CCoeStatic derived singleton ids +*/ +const TUid KDelayedLoaderUid = { 1001 }; + + +/** +* Alfred action commands +*/ +const TInt KCmdEditorAutoSave = 9901; + +/** + * UID for launching wizard + */ +const TUid KAiwCmdSettingWizardFsEmail = { 0x2000CFE9 }; + +/** + * UID for launching browser + */ +static const TInt KBrowserUid = 0x10008D39; + +/** + * UID for identifying Message Reader in the taskList + */ +static const TUid KMessageReaderUid = { 0x10201B00 }; + +/** + * UIDs for identifying Homescreen Modes application and its Email view + */ +static const TUid KHsModesAppUid = { 0x20002581 }; +static const TUid KHsModesPrimaryEmailViewId = { 14 }; + +#endif