📄 sendwinp.h
字号:
StringListC recipientList; Boolean AddRecipients(StringC&); Boolean BuildHeaders(StringListC&, StringListC&); Boolean ProcessHeaderFields(); void RemoveFiles(StringC&); void RemoveQuotes(StringC&);//// Drag and drop stuff// static Atom graphicAtom; static void HandleDragOver(Widget, XtPointer, XmDragProcCallbackStruct*); static void HandleDrop (Widget, XtPointer, XmDropProcCallbackStruct*); void HandleGraphicDrop(Widget, XmDropProcCallbackStruct*); void HandleMessageDrop(Widget, XmDropProcCallbackStruct*);//// Action procs// static XtActionsRec actions[2]; static void HandleExpandAliases (Widget, XKeyEvent*, String*, Cardinal*); static void HandleExpandSelection(Widget, XKeyEvent*, String*, Cardinal*);//// Clearing// Widget clearWin; static void FinishClear(Widget, SendWinP*, XtPointer);//// Replying, Forwarding and resending// MsgListC msgList; StringListC resendFileList; void ForwardMsgEncap(MsgC*); void ForwardMsgInline(MsgC*);//// External editor and spell checker// pid_t edit_pid; pid_t spell_pid; Boolean filterEnriched; pid_t FilterBody(StringC&, CallbackFn*); void ReadFilter(CharC); static void EditFinished (char*, SendWinP*); static void SpellFinished(char*, SendWinP*); static void FileModified (char*, SendWinP*);//// Building message and sending// Boolean externalSig; StringC sigStr; StringC esigStr; void BuildSig(Boolean); Boolean CopyFilePart(FILE*, FILE*, u_int); Boolean NullBodyOk(); Boolean NullSubjectOk(); Boolean Send(Boolean closing=False); Boolean OkToSendPlain(OutgoingMailTypeT*); Boolean OkToSendPlain(MimeContentType*); Boolean OkToSend8Bit(OutgoingMailTypeT*); Boolean OkToSendTo(CharC); Boolean OkToSplitPlain(OutgoingMailTypeT*); Boolean PerformFcc(StringListC&, char*, CharC); Boolean SendMessage(char*, StringListC&, OutgoingMailTypeT); Boolean SendSplitMessage(char*, StringListC); Boolean WriteBody(char*, StringListC&, StringListC&, OutgoingMailTypeT*, Boolean saving=False); Boolean WriteMimeBody(FILE*, StringListC&, StringListC&, OutgoingMailTypeT, MimeContentType, Boolean); Boolean WriteMultipartBody(FILE*, CharC, MimeContentType, CharC*, Boolean); Boolean WritePlainBody(FILE*, StringListC&, StringListC&, Boolean, Boolean); Boolean WriteTextPart(FILE*, MimeContentType, StringC&, CharC*, StringListC*); Boolean WriteCryptBody(char*, StringC&, StringListC&, OutgoingMailTypeT, Boolean, Boolean);//// Checking addresses// Boolean checkDone; // Used in CheckAddresses StringC checkOutput; int checkStatus; pid_t checkPid; Boolean CheckAddresses(Boolean reportSuccess=False); static void CheckDone(int, SendWinP*);//// Picking aliases// PickAliasWinC *pickAliasWin; static void PickToAlias (Widget, SendWinP*, XtPointer); static void PickCcAlias (Widget, SendWinP*, XtPointer); static void PickBccAlias(Widget, SendWinP*, XtPointer); static void AddToAlias (PickAliasWinC*, SendWinP*); static void AddCcAlias (PickAliasWinC*, SendWinP*); static void AddBccAlias (PickAliasWinC*, SendWinP*);//// Including messages// Widget incMsgWin; Widget incMsgAsTextTB; Widget incMsgAsIconTB; static void IncludeMsgOk (Widget, SendWinP*, XtPointer); static void IncludeMsgCancel(Widget, SendWinP*, XtPointer);//// Including files// FileChooserWinC *incFileWin; FileChooserWinC *incTextWin; Widget incTextAsTextTB; Widget incTextAsIconTB; static void FinishIncludeFile(StringListC*, SendWinP*); static void FinishIncludeText(StringListC*, SendWinP*); static void IncludeFileOk (IncludeWinC*, SendWinP*); static void IncludeFileHide (IncludeWinC*, SendWinP*);//// Editing attachments// SendIconC *popupIcon; SendIconC *modIcon; SendIconC *editIcon; // message/rfc822 part being edited Boolean modifying; IncludeWinC *fileDataWin; PtrListC editWinList; static PtrListC *editPixmaps; MsgC *editMsg; // message being edited Boolean editMsgText; // No special processing required CallbackC editDoneCall; // Called when finished and changed SendWinC *GetEditWin(); void Edit(SendIconC*); void LoadEditPixmaps(SendIconC*); void UpdateEditButtons(); static void OpenPart (SendIconC*, SendWinP*); static void PostPartMenu(SendIconC*, SendWinP*);//// Deleting attachments// Widget deleteWin; static void FinishDelete(Widget, SendWinP*, XtPointer);//// Saving to a file// FileChooserWinC *saveFileWin; FileChooserWinC *loadFileWin; static void FinishSaveFile(StringListC*, SendWinP*); static void FinishLoadFile(StringListC*, SendWinP*); Boolean OkToSaveTo(StringC&); Boolean Save(char *file=NULL);//// Auto-saving// int keystrokeCount; // For auto-save StringC autoSaveFile; XtIntervalId autoSaveTimer; static void CheckAutoSave(SendWinP*, XtIntervalId*);//// Private data// ButtonMgrC *buttMgr; MimeContentType containerType; StringC descTemplate; // Used by SendIconC for descriptions static PtrListC *winList; // List of all composition windows // (including edit windows)//// Private methods// void AddContainer(MimeContentType); void BuildEditMenu(); void BuildFileMenu(); void BuildMimePopupMenu(); void BuildNewHeadPane(); void BuildOldHeadPane(); void BuildOptMenu(); void InitHeaderPane(HeaderPaneT*); Boolean OkToClose(); void Place2HeaderFields(WidgetListC&); void Place3HeaderFields(WidgetListC&); void Place4HeaderFields(WidgetListC&); void Place5HeaderFields(WidgetListC&); void Place6HeaderFields(WidgetListC&);public: SendWinP(SendWinC*); ~SendWinP(); void AddBodyPart(MsgPartC*, Boolean doChildren=True); void AddBodyTree(MsgPartC*); void BuildMenus(); void BuildWidgets(); void DisplayBody(MsgC*, Boolean forceText=False); void PlaceHeaderFields(); void SetField(MimeRichTextC*, AddressC*); void SetResendMode(Boolean); void UpdateFcc();#if 000//// Widgets// Widget optSettingsTB; Widget optForm; RowColC *optRC; Boolean ccVis; Boolean bccVis; Boolean fccVis; Boolean otherVis; int maxFieldsPerLine; static ButtonWinC *buttWin; FileGraphicC *dragOverPart; StringC bodyStr; StringC plainStr; StringC headStr; StringListC headList; Boolean selfInducedMod; // For text fields Boolean editOnly; // True if this is a secondary window Boolean changed; // True if some editing done since last // send Boolean sendingPlain; // Send message as plain text//// Resources// Pixel asciiBg; Pixel asciiFg; Pixel audioBg; Pixel audioFg; Pixel imageBg; Pixel imageFg; Pixel multiBg; Pixel multiFg; Pixel videoBg; Pixel videoFg;//// Callbacks// static void HandleIconInput(Widget, SendWinC*, XmDrawingAreaCallbackStruct*); static void HandleResize (Widget, SendWinP*, XEvent*, Boolean*); static void IconFocusChange(IconC*, SendWinC*); static void ToggleSettings(Widget, SendWinC*, XmToggleButtonCallbackStruct*); static void ReplacePart (Widget, SendWinC*, XtPointer);//// Private methods// void CompressTree(MimePartC*); void DecodeHeader(StringC&); void FoldHeader(StringC&); void IncludeSingFile(); void IncludeMultFiles(StringListC&); Boolean SendFile(char*, Boolean wait=False); Boolean StoreMessage(const char*); Boolean Write(char *file=NULL);#endif};#endif // _SendWinP_h_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -