#ifndef __SCRIBE_DEFS_H #define __SCRIBE_DEFS_H //////////////////////////////////////////////////////////////////////////////////////////// // Options #define OPT_UserName "UserName" //(char*) #define OPT_EmailAddr "EmailAddr" //(char*) #define OPT_ReplyToEmail "ReplyToEmail" //(char*) #define OPT_SigFile "SigFile" //(char*) #define OPT_SmtpServer "SmtpServer" //(char*) #define OPT_SmtpName "SmtpName" //(char*) #define OPT_SmtpAuth "SmtpAuth" //(bool) #define OPT_EncryptedSmtpPassword "SmtpEPw" //(void*) #define OPT_Pop3Type "Pop3Type" //(int) #define OPT_Pop3Protocol "Pop3Protocol" //(char*) one of the PROTOCOL_??? defs #define OPT_Pop3Server "Pop3Server" //(char*) #define OPT_Pop3Name "Pop3Name" //(char*) #define OPT_EncryptedPop3Password "Pop3EPw" //(void*) #define OPT_Pop3CheckEvery "Pop3CheckEvery" //(char*) #define OPT_Pop3LeaveOnServer "Pop3LeaveOnServer" //(bool)(int) #define OPT_Pop3Folder "Pop3Folder" //(char*) #define OPT_ReceiveSpamIds "SpamIds" //(char*) #define OPT_QuoteReply "ReplyQuote" //(bool)(int) #define OPT_QuoteReplyStr "ReplyQuoteStr" //(char*) #define OPT_ReplyWithSig "ReplyWithSig" //(bool)(int) #define OPT_LogFile "LogFile" //(char*) #define OPT_LogFormat "LogFmt" //(int) #define OPT_MinimizeToTray "MinToTray" //(bool)(int) #define OPT_SplitterPos "SplitterPos" //(int) #define OPT_WordWrap "WordWrap" //(bool)(int) #define OPT_CheckForDialUp "CheckDialUp" //(bool)(int) #define OPT_EditorFont "EditorFont" //(binary) #define OPT_ReplyXml "ReplyXml" //(char*) #define OPT_ForwardXml "ForwardXml" //(char*) #define OPT_WrapAtColumn "WrapAtColumn" //(int) #define OPT_SoftwareKey "SoftwareKey" //(char*) #define OPT_NewMailSoundFile "NewMailSound" //(char*) #define OPT_CheckDefaultEmail "DefMailer" //(bool) #define OPT_UseSocks "UseSocks5" //(bool) #define OPT_Socks5Server "Socks5Server" //(char*) #define OPT_Socks5UserName "Socks5Name" //(char*) #define OPT_Socks5Password "Socks5Psw" //(char*) #define OPT_Pop3OnStart "Pop3OnStart" //(bool) #define OPT_Pop3DefAction "Pop3DefAction" //(bool) #define OPT_RecipientFromClipboard "ClipRecip" //(bool) #define OPT_GridLines "GridLines" //(bool) #define OPT_PreviewLines "PreviewLines" //(bool) #define OPT_MaxEmailSize "MaxEmailSize" //(int) #define OPT_ToolbarText "ToolText" //(bool) #define OPT_WindowState "WndState" //(int) Maximized=1, Normal=0, Minimized=-1 #define OPT_DefCodePage "DefCodePage" //(int) #define OPT_ConfirmDelete "ConfirmDel" //(bool) #define OPT_AccountName "AccName" //(char*) #define OPT_AccountPlugins "AccPlugins" //(char*) #define OPT_DefaultSendAccount "DefSend" //(int) #define OPT_AccIdentName "AccIdent" //(char*) #define OPT_AccIdentKey "AccKey" //(char*) #define OPT_AccIdentEmail "AccEmail" //(char*) #define OPT_AccIdentReply "AccReply" //(char*) #define OPT_AccIdentSig "AccSig" //(char*) #define OPT_NewMailNotify "NewMailNotify" //(bool) #define OPT_CurrentIdentity "CurId" //(int) #define OPT_DefaultAlternative "DefAlt" //(int) 0=text/plain, 1=text/html #define OPT_BoldUnread "BdUnread" //(int) #define OPT_ReplyXml "ReplyXml" //(char*) #define OPT_ForwardXml "ForwardXml" //(char*) #define OPT_DateFormat "DateFormat" //(int) #define OPT_UiLanguage "UiLang" //(int) #define OPT_UiFontSize "UiFontSize" //(int) #define OPT_CreateFoldersIfMissing "CreateIfMissing" //(int) #define OPT_LocalCalendarColour "LocCalCol" //(int)Rgb24(x, x, x) #define OPT_HttpProxy "HttpPr" //(char*) #define OPT_ThreadMessages "ThreadMsg" //(int) #define OPT_PersonalFolders "Folders" //(char*) #define OPT_GlyphSub "GlyphSub" //(bool) #define OPT_WorkOffline "Offline" //(bool) #define OPT_PrefCharset1 "PrefCs1" //(char*) #define OPT_PrefCharset2 "PrefCs2" //(char*) #define OPT_DebugTrace "DbgTrc" //(bool) #define OPT_UserPermPassword "UsrPermPwd" //(binary) #define OPT_AccPermRead "AccPermRd" //(ScribePerm) #define OPT_AccPermWrite "AccPermWr" //(ScribePerm) #define OPT_BayesFilterMode "BayesMode" //(ScribeBayesianFilterMode) #define OPT_BayesMoveTo "BayesMvTo" //(char*) #define OPT_BayesUserWhiteList "BayesWhiteLst" //(char*) #define OPT_BayesHam "BayesHam" //(int) #define OPT_BayesSpam "BayesSpam" //(int) #define OPT_BayesFalsePositives "BayesFalsePos" //(int) #define OPT_BayesFalseNegitives "BayesFalseNeg" //(int) #define OPT_PrintSettings "PrintOpts" //(char*) #define OPT_AutoDeleteExe "AutoDelExe" //(bool)(int) #define OPT_MarkReadAfterPreview "PreRead" //(bool)(int) #define OPT_ExtraHeaders "XtrHeaders" //(char*) #define OPT_CalendarViewPos "CalViewPos" //(char*) // Lgi conf options #define OPT_AdminPassword "admin-psw" // in the tag "scribe" // Old options, now unused //#define OPT_SmtpPassword "SmtpPsw" //(char*) //#define OPT_Pop3Password "Pop3Password" //(char*) //#define OPT_Pop3MsgsOnServer "Pop3MsgsOnServer" //(int) //#define OPT_WrapReceived "WrapReceived" //(bool)(int) //#define OPT_EditControl "EditCtrl" //(int) 0=8bit+CP, 1=Utf16, 2=Html, 3=Plugin //#define OPT_ReadControl "ReadCtrl" //(int) 0=8bit+CP, 1=Utf16, 2=Html, 3=Plugin // Folder opt's #define OPT_Inbox "Folder-0" #define OPT_Outbox "Folder-1" #define OPT_Sent "Folder-2" #define OPT_Trash "Folder-3" #define OPT_Contacts "Folder-4" #define OPT_Templates "Folder-5" #define OPT_Filters "Folder-6" #define OPT_Calendar "Folder-7" #define OPT_Title "Title" #define OPT_First "FirstName" #define OPT_Last "SurName" #define OPT_Email "Email" #define OPT_Nick "Nick" #define OPT_Spouse "Spouse" #define OPT_Note "Note" #define OPT_Uid "Uid" #define OPT_TimeZone "TZ" #define OPT_HomeStreet "Street" #define OPT_HomeSuburb "Suburb" #define OPT_HomePostcode "Postcode" #define OPT_HomeState "State" #define OPT_HomeCountry "Country" #define OPT_HomePhone "Home" #define OPT_HomeMobile "Mobile" #define OPT_HomeIM "ICQ" #define OPT_HomeFax "Fax" #define OPT_HomeWebPage "WebPage" #define OPT_WorkStreet "WkStreet" #define OPT_WorkSuburb "WkSuburb" #define OPT_WorkPostcode "WkPostcode" #define OPT_WorkState "WkState" #define OPT_WorkCountry "WkCountry" #define OPT_WorkPhone "Work" #define OPT_WorkMobile "WkMobile" #define OPT_WorkIM "WkIM" #define OPT_WorkFax "WkFax" #define OPT_WorkWebPage "WkWebPage" #define OPT_Company "Company" #define OPT_CustomFld1 "CustomFld1" #define OPT_CustomVal1 "CustomVal1" #define OPT_CustomFld2 "CustomFld2" #define OPT_CustomVal2 "CustomVal2" #define OPT_CustomFld3 "CustomFld3" #define OPT_CustomVal3 "CustomVal3" #define OPT_CustomFld4 "CustomFld4" #define OPT_CustomVal4 "CustomVal4" // Clipboard formats #define CFSTR_SCRIBE_THING "Scribe-MailItem" #define CFSTR_SCRIBE_FOLDER "Scribe-Folder" // Protocol names #define PROTOCOL_POP3 "POP3" #define PROTOCOL_IMAP4_FETCH "IMAP4(fetch)" #define PROTOCOL_IMAP4 "IMAP4(full)" #define PROTOCOL_CALENDAR "Calendar" #define PROTOCOL_POP_OVER_HTTP "PopOverHttp" #define PROTOCOL_MAPI "MAPI" // File names #define ICONS_FILE "_icons.gif" #define ABOUT_IMG_FILE "_about.gif" #define TOOLBAR_FILE "_toolbar.gif" //////////////////////////////////////////////////////////////////////////////////////////// // Defines // Window messages #define ShareMemName "ScribeSharedMem" #define M_SCRIBE_CMD (M_USER + 0x301) #define M_SCRIBE_OPEN_THING (M_USER + 0x302) #define M_SCRIBE_ITEM_SELECT (M_USER + 0x303) #define M_SCRIBE_ALLOC_PLUGINS (M_USER + 0x304) #define M_SCRIBE_NEW_MAIL (M_USER + 0x305) #define M_SCRIBE_THREAD_ITEM (M_USER + 0x306) // MailTransferEvent *e=MsgB(m), AccountletThread *t=MsgB(m) #define M_SCRIBE_THREAD_ASK (M_USER + 0x307) // AccountletThread *t=MsgB(m) #define M_SCRIBE_THREAD_DONE (M_USER + 0x308) // Accountlet *a=MsgB(m) #define M_SCRIBE_LOG_MSG (M_USER + 0x309) // List *l=MsgA(m), LogEntry *e=MsgB(m) #define M_SCRIBE_MSG (M_USER + 0x30a) // char *Msg=MsgA(m), bool AskOptions=MsgB(m); #define M_ACCOUNTLET_THREAD_DONE (M_USER + 0x30b) // (Accountlet*)MsgA(m) #define IDC_STATIC -1 #define IDC_ATTACHMENT 501 #define IDC_INTERNET_HEADER 502 #define IDC_TEST 503 #define IDC_ATTACHMENTS 504 #define IDC_SET_TO 505 #define IDC_ENTRY 506 #define IDC_REPLYALL 509 #define IDC_FORWARD 510 #define IDC_TO 513 #define IDC_SEND 515 #define IDC_REPLY 516 #define IDC_REMOVE_STR 517 #define IDC_FROM 600 #define IDC_LAUNCH_HTML 602 #define IDC_SET_FROM 603 #ifndef IDM_OPEN #define IDM_OPEN 111 #endif #define IDM_LOAD 112 #ifndef IDM_SAVE #define IDM_SAVE 113 #endif #ifndef IDM_SAVEAS #define IDM_SAVEAS 114 #endif #define IDM_SAVE_CLOSE 118 #ifndef IDM_CLOSE #define IDM_CLOSE 119 #endif #define IDM_EXPORT 120 #define IDM_UNDO 201 #define IDM_REDO 202 #define IDM_TO 311 #define IDM_CC 312 #define IDM_RENAME 314 #define IDM_EMPTY 315 #define IDM_EDIT 316 #define IDM_BCC 317 #define IDM_CREATE_SUB 400 #define IDM_PROPERTIES 402 #define IDM_SET_READ 403 #define IDM_SET_UNREAD 404 #define IDM_EMAIL_GROUP 405 #define IDM_ATTACH_FILE 406 #define IDM_IMPORT_BEOS_PPL 407 #define IDM_IMPORT_BEOS_MAIL 408 #define IDM_MARK_SEND 409 #define IDM_IMPORT_OUTLOOK_CONTACTS 410 #define IDM_CALENDAR 411 #define IDM_COLLECT_MAIL 412 #define IDM_DELETE_AS_SPAM 413 #define IDM_ITEM_FILTER 414 #define IDM_HIGH_PRIORITY 415 #define IDM_LOW_PRIORITY 416 #define IDM_READ_RECEIPT 417 #define IDM_THREAD 418 #define IDM_SELECT_THREAD 419 #define IDM_DELETE_THREAD 420 #define IDM_IGNORE_THREAD 421 #define IDM_BROWSE_FOLDER 423 #define IDM_MERGE_FILE 424 #define IDM_PREV_MSG 425 #define IDM_NEXT_MSG 426 #define IDM_SEND_MSG 427 #define IDM_DELETE_MSG 428 #define IDM_SEND_FROM 6000 #define IDM_NEW_FROM_TEMPLATE 7000 #define IDM_RECEIVE_FROM 8000 #define IDM_RECEIVE_MAIL 8998 #define IDM_RECEIVE_ALL 8999 #define IDM_PREVIEW_FROM 9000 #define IDM_PREVIEW_POP3 9999 // Status bar panes #ifndef STATUS_MAX #define STATUS_NORMAL 0 #define STATUS_MAX 1 #endif // Icons indexs #define ICON_CLOSED_FOLDER 0 #define ICON_OPEN_FOLDER 1 #define ICON_READ_MAIL 2 #define ICON_UNREAD_MAIL 3 #define ICON_CONTACT 4 #define ICON_UNSENT_MAIL 5 #define ICON_TO 6 #define ICON_CC 7 #define ICON_UNKNOWN 8 #define ICON_READ_ATT_MAIL 9 #define ICON_UNREAD_ATT_MAIL 10 #define ICON_BCC 11 #define ICON_TRASH 12 #define ICON_FILTER 13 #define ICON_PAPER_CLIP 14 #define ICON_PRIORITY_BLACK 15 #define ICON_PRIORITY_HIGH 16 #define ICON_PRIORITY_LOW 17 #define ICON_FLAGS_BLACK 18 #define ICON_FLAGS_REPLY 19 #define ICON_FLAGS_FORWARD 20 #define ICON_FLAGS_MARK 21 #define ICON_FOLDER_MAIL 29 #define ICON_FOLDER_CONTACTS 30 #define ICON_FOLDER_FILTERS 31 #define ICON_FOLDER_CALENDAR 32 #define ICON_DISABLED_FOLDER 33 #define ICON_MAILBOX 34 #define ICON_CALENDAR 35 #define ICON_REMOTE_FOLDER_CLOSED 36 #define ICON_REMOTE_FOLDER_OPEN 37 #define ICON_CONTACT_GROUP 38 #define IMG_NEW_MAIL 0 #define IMG_NEW_CONTACT 1 #define IMG_SEND 2 #define IMG_RECEIVE 3 #define IMG_REPLY 4 #define IMG_REPLY_ALL 5 #define IMG_FORWARD 6 #define IMG_PRINT 7 #define IMG_PREV_ITEM 8 #define IMG_NEXT_ITEM 9 #define IMG_TRASH 10 #define IMG_SAVE 11 #define IMG_SAVE_AND_CLOSE 12 #define IMG_ATTACH_FILE 13 #define IMG_PREVIEW 14 #define IMG_CALENDAR 15 #define IMG_DELETE_SPAM 16 #define IMG_SEARCH 17 #define IMG_HIGH_PRIORITY 18 #define IMG_LOW_PRIORITY 19 #define IMG_READ_RECEIPT 20 #define IMG_THREADS 21 #define IMG_CAL_DAY 22 #define IMG_CAL_WEEK 23 #define IMG_CAL_MONTH 24 #define IMG_CAL_YEAR 25 #define IMG_CAL_UNDEFINED 26 #define IMG_CAL_PREV 27 #define IMG_CAL_BACK 28 #define IMG_CAL_TODAY 29 #define IMG_CAL_FORWARD 30 #define IMG_CAL_NEXT 31 #define IMG_CAL_CONFIG 32 #define TOOL_NEWMAIL 0 #define TOOL_SEND 1 #define TOOL_RECEIVE 2 #define TOOL_REPLY 3 #define TOOL_REPLYALL 4 #define TOOL_FORWARD 5 #define TOOL_PRINT 6 // Magic numbers enum ScribeItemTypes { MAGIC_NONE = 0x00000000, MAGIC_BASE = 0xAAFF0000, MAGIC_MAIL = (MAGIC_BASE+1), // Mail item MAGIC_CONTACT = (MAGIC_BASE+2), // Contact item MAGIC_FOLDER = (MAGIC_BASE+3), // Folder of items MAGIC_MAILBOX = (MAGIC_BASE+4), // Root of mail tree (nothing-abstract) MAGIC_ATTACHMENT = (MAGIC_BASE+5), // Mail attachment MAGIC_ANY = (MAGIC_BASE+6), // Trash folder type (accepts any object) MAGIC_FILTER = (MAGIC_BASE+7), // Used to match messages against MAGIC_FOLDER_2 = (MAGIC_BASE+8), // Folder v2 MAGIC_CONDITION = (MAGIC_BASE+9), // Filter condition MAGIC_ACTION = (MAGIC_BASE+10), // Filter action MAGIC_CALENDAR = (MAGIC_BASE+11), // Calendar event MAGIC_ATTENDEE = (MAGIC_BASE+12), // Event attendee MAGIC_GROUP = (MAGIC_BASE+13), // Group of contacts MAGIC_MAX = (MAGIC_BASE+14) // One past the end }; // Folders #define FOLDER_INBOX 0 #define FOLDER_OUTBOX 1 #define FOLDER_SENT 2 #define FOLDER_TRASH 3 #define FOLDER_CONTACTS 4 #define FOLDER_TEMPLATES 5 #define FOLDER_FILTERS 6 #define FOLDER_CALENDAR 7 #define FOLDER_GROUPS 8 #define FOLDER_MAX 9 // Mail flags #define MAIL_SENT 0x00000001 #define MAIL_RECEIVED 0x00000002 #define MAIL_CREATED 0x00000004 // If this flag is set then the user // wants to send the mail on the next // run. When the user just saves a new // message in the outbox this isn't set // and isn't sent until they go in and // say "send". At which point this flag // is set and the message sent #define MAIL_FORWARDED 0x00000008 #define MAIL_REPLYED 0x00000010 #define MAIL_ATTACHMENTS 0x00000020 #define MAIL_READ 0x00000040 #define MAIL_MARK 0x00000080 #define MAIL_READY_TO_SEND 0x00000100 #define MAIL_READ_RECEIPT 0x00000200 #define MAIL_IGNORE 0x00000400 #define MAIL_BAYES_HAM 0x00010000 // Bayesian classified originally as ham #define MAIL_BAYES_SPAM 0x00020000 // Bayesian classified originally as spam // Update Flags #define UPDATE_TREE 1 #define UPDATE_LIST 2 // Mail fields #define FIELD_FLAGS 1 #define FIELD_TO 2 #define FIELD_CC 3 #define FIELD_FROM 4 #define FIELD_REPLY 5 #define FIELD_SUBJECT 6 #define FIELD_TEXT 7 #define FIELD_MESSAGE_ID 8 #define FIELD_DATE 9 // received date #define FIELD_INTERNET_HEADER 10 // Contact fields #define FIELD_FIRST_NAME 11 #define FIELD_LAST_NAME 12 #define FIELD_EMAIL_ADDR 13 #define FIELD_HOME_STREET 14 #define FIELD_HOME_SUBURB 15 #define FIELD_HOME_POSTCODE 16 #define FIELD_HOME_STATE 17 #define FIELD_HOME_COUNTRY 18 #define FIELD_WORK_PHONE 19 // this was already defined #define FIELD_HOME_PHONE 20 #define FIELD_HOME_MOBILE 21 #define FIELD_HOME_IM 22 #define FIELD_HOME_FAX 23 #define FIELD_HOME_WEBPAGE 24 #define FIELD_NICK 25 #define FIELD_SPOUSE 26 #define FIELD_NOTE 27 #define FIELD_PLUGIN_ASSOC 28 // More fields #define FIELD_SIZE 29 #define FIELD_DATE_SENT 30 #define FIELD_COLUMN 31 #define FIELD_BCC 32 #define FIELD_MIME_TYPE 33 #define FIELD_PRIORITY 34 #define FIELD_FOLDER_OPEN 35 #define FIELD_CODE_PAGE 36 #define FIELD_MARK_COLOUR 37 #define FIELD_ALTERNATE_HTML 38 #define FIELD_CONTENT_ID 39 // Filter fields #define FIELD_FILTER_NAME 40 #define FIELD_CONDITION 41 #define FIELD_ACTION 42 #define FIELD_COND_FIELD 43 #define FIELD_COND_OPERATOR 44 #define FIELD_COND_VALUE 45 #define FIELD_ACT_TYPE 46 #define FIELD_ACT_ARG 47 #define FIELD_DIGEST_INDEX 48 #define FIELD_COMBINE_OP 49 #define FIELD_FILTER_INDEX 50 #define FIELD_COND_SOURCE 51 #define FIELD_FILTER_SCRIPT 52 #define FIELD_COND_NOT 53 #define FIELD_STOP_FILTERING 54 // Calendar fields #define FIELD_CAL_START 60 #define FIELD_CAL_END 61 #define FIELD_CAL_SUBJECT 62 #define FIELD_CAL_LOCATION 63 #define FIELD_CAL_REMINDER_TIME 64 #define FIELD_CAL_REMINDER_ACTION 65 #define FIELD_CAL_REMINDER_ARG 66 #define FIELD_CAL_SHOW_TIME_AS 67 #define FIELD_CAL_RECUR_PERIOD 68 #define FIELD_CAL_RECUR_EVERY 69 #define FIELD_CAL_RECUR_FLAGS 70 #define FIELD_CAL_RECUR_START 71 #define FIELD_CAL_RECUR_END 72 #define FIELD_CAL_NOTES 73 // Attendee fields #define FIELD_ATTENDEE_NAME 80 #define FIELD_ATTENDEE_EMAIL 81 #define FIELD_ATTENDEE_ATTENDENCE 82 #define FIELD_ATTENDEE_NOTE 83 #define FIELD_ATTENDEE_RESPONSE 84 // 2nd lot of contact fields #define FIELD_WORK_STREET 90 #define FIELD_WORK_SUBURB 91 #define FIELD_WORK_POSTCODE 92 #define FIELD_WORK_STATE 93 #define FIELD_WORK_COUNTRY 94 // #define FIELD_WORK_PHONE is previously defined #define FIELD_WORK_MOBILE 95 #define FIELD_WORK_IM 96 #define FIELD_WORK_FAX 97 #define FIELD_WORK_WEBPAGE 98 #define FIELD_COMPANY 99 #define FIELD_CONTACT_CUST_FLD1 100 #define FIELD_CONTACT_CUST_VAL1 101 #define FIELD_CONTACT_CUST_FLD2 102 #define FIELD_CONTACT_CUST_VAL2 103 #define FIELD_CONTACT_CUST_FLD3 104 #define FIELD_CONTACT_CUST_VAL3 105 #define FIELD_CONTACT_CUST_FLD4 106 #define FIELD_CONTACT_CUST_VAL4 107 // Misc additional fields #define FIELD_LABEL 110 // Mail label #define FIELD_CHARSET 111 #define FIELD_ALT_EMAIL 112 #define FIELD_UID 113 #define FIELD_TITLE 114 #define FIELD_TIMEZONE 115 #define FIELD_REFERENCES 116 #define FIELD_SERVER_UID 117 // char *Mail::ServerUid #define FIELD_FOLDER_PERM_READ 118 #define FIELD_FOLDER_PERM_WRITE 119 #define FIELD_GROUP_NAME 120 #define FIELD_HTML_CHARSET 121 #define FIELD_ADDRESSED_TO 122 #define FIELD_GROUP_LIST 123 #define FIELD_MAX 124 // Folder fields... (don't ask why they're not in the same range) #define FIELD_FOLDER_TYPE 1000 #define FIELD_FOLDER_NAME 1001 #define FIELD_UNREAD 1002 #define FIELD_SORT 1003 // Status update on send / receive #if defined WIN32 #define STATUS_UPDATE_RES 50 #elif defined BEOS #define STATUS_UPDATE_RES 1000 #endif // Scribe field def #define FTYPE_NONE 0 #define FTYPE_STRING 1 #define FTYPE_DATE 2 #define FTYPE_FILESIZE 3 #define FTYPE_BOOLEAN 4 #define FTYPE_INT 5 // Enums enum ScribePerm { PermRequireNone = 0, PermRequireUser = 1, PermRequireAdmin = 2 }; enum ScribeAccessType { ScribeReadAccess, ScribeWriteAccess }; enum ScribeBayesianFilterMode { BayesOff = 0, BayesTrain = 1, BayesFilter = 2 }; // Colours #define LC_MAIL_PREVIEW (LC_MAXIMUM+1) #define LC_UNREAD_COUNT (LC_MAXIMUM+2) // File utility macros #define SizeStrField(Var) (sizeof(short)+SizeofStr(Var)) #define SizeIntField(Var) (sizeof(short)+sizeof(ulong)+sizeof(Var)) #define SizeObjField(Var) (sizeof(short)+sizeof(ulong)+(Var).Sizeof()) #define WriteStrField(Id, Var) { f << ((short)Id); WriteStr(f, Var); } #define WriteIntField(Id, Var) { f << ((short)Id); f << ((ulong)sizeof(Var)); f << Var; } #define WriteObjField(Id, Var) { f << ((short)Id); f << ((ulong)(Var).Sizeof()); (Var).Serialize(f, Write); } #define ReadStrField(Id, Var) case Id: Var = ReadStr(f PassDebugArgs); break #define ReadIntField(Id, Var) case Id: { int32 FieldSize; f >> FieldSize; f >> Var; } break #define ReadObjField(Id, Var) case Id: { int32 FieldSize; f >> FieldSize; (Var).Serialize(f, Write); } break // Misc #ifndef MainWnd #define MainWnd ((ScribeWnd*)GApp::ObjInstance()->AppWnd) #endif #define VIEW_PULSE_RATE 100 #ifdef WIN32 #define DefaultWideCharset "ucs-2" #else #define DefaultWideCharset "utf-32" #endif #endif