|
|
1.1 root 1: #ifndef lint
2: static char rcs_id[] = "$Header: viewfuncs.c,v 1.10 87/09/11 08:19:35 toddb Exp $";
3: #endif lint
4: /*
5: * COPYRIGHT 1987
6: * DIGITAL EQUIPMENT CORPORATION
7: * MAYNARD, MASSACHUSETTS
8: * ALL RIGHTS RESERVED.
9: *
10: * THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
11: * SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
12: * DIGITAL MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR
13: * ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
14: *
15: * IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT RIGHTS,
16: * APPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN ADDITION TO THAT
17: * SET FORTH ABOVE.
18: *
19: *
20: * Permission to use, copy, modify, and distribute this software and its
21: * documentation for any purpose and without fee is hereby granted, provided
22: * that the above copyright notice appear in all copies and that both that
23: * copyright notice and this permission notice appear in supporting documentation,
24: * and that the name of Digital Equipment Corporation not be used in advertising
25: * or publicity pertaining to distribution of the software without specific,
26: * written prior permission.
27: */
28:
29: /* view.c -- handle viewing of a message */
30:
31: #include "xmh.h"
32:
33:
34: void ExecCloseView(scrn)
35: Scrn scrn;
36: {
37: if (MsgSetScrn((Msg) NULL, scrn)) return;
38: DestroyScrn(scrn);
39: }
40:
41:
42: void ExecViewReply(scrn)
43: Scrn scrn;
44: {
45: Msg msg;
46: Scrn nscrn;
47: if (scrn->msg == NULL) return;
48: nscrn = NewCompScrn();
49: msg = TocMakeNewMsg(DraftsFolder);
50: MsgSetTemporary(msg);
51: MsgLoadReply(msg, scrn->msg);
52: (void) MsgSetScrnForComp(msg, nscrn);
53: MapScrn(nscrn);
54: }
55:
56:
57: void ExecViewForward(scrn)
58: Scrn scrn;
59: {
60: MsgList mlist;
61: if (scrn->msg == NULL) return;
62: mlist = MakeSingleMsgList(scrn->msg);
63: CreateForward(mlist);
64: FreeMsgList(mlist);
65: }
66:
67:
68: void ExecViewUseAsComposition(scrn)
69: Scrn scrn;
70: {
71: Msg msg;
72: Scrn nscrn;
73: if (scrn->msg == NULL) return;
74: nscrn = NewCompScrn();
75: if (MsgGetToc(scrn->msg) == DraftsFolder)
76: msg = scrn->msg;
77: else {
78: msg = TocMakeNewMsg(DraftsFolder);
79: MsgLoadCopy(msg, scrn->msg);
80: MsgSetTemporary(msg);
81: }
82: (void) MsgSetScrnForComp(msg, nscrn);
83: MapScrn(nscrn);
84: }
85:
86:
87:
88: void ExecEditView(scrn)
89: Scrn scrn;
90: {
91: if (scrn->msg == NULL) return;
92: MsgSetEditable(scrn->msg);
93: }
94:
95:
96:
97: void ExecSaveView(scrn)
98: Scrn scrn;
99: {
100: if (scrn->msg == NULL) return;
101: MsgSaveChanges(scrn->msg);
102: MsgClearEditable(scrn->msg);
103: }
104:
105:
106:
107: void ExecPrintView(scrn)
108: Scrn scrn;
109: {
110: char str[200];
111: if (scrn->msg == NULL) return;
112: (void) sprintf(str, "%s %s", defPrintCommand, MsgFileName(scrn->msg));
113: (void) system(str);
114: }
115:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.