static char rcsid[] = "@(#)$Id: showmsg_1.c,v 1.5 2006/04/09 07:37:19 hurtta Exp $";
/******************************************************************************
* The Elm (ME+) Mail System - $Revision: 1.5 $ $State: Exp $
*
* Author: Kari Hurtta <hurtta+elm@posti.FMI.FI>
*****************************************************************************
* Some code copied from src/elm.c. That file is following
* copyright:
*
* The Elm Mail System
*
* This file and all associated files and documentation:
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
*****************************************************************************/
#include "def_elm.h"
DEBUG_VAR(Debug,__FILE__,"ELM");
int show_message_with_headers(mailbox,cmdX,aview,page,header_area)
struct MailboxView *mailbox;
showmsg_cmd cmdX;
struct AliasView *aview;
struct menu_context *page;
struct menu_context *header_area;
{
struct menu_common MENU;
int current = get_current(mailbox);
struct header_rec *hdr;
FILE *F;
int j = elm_filter;
int i = 0;
struct pager_page * PP = init_pager_page(&MENU);
elm_filter = FALSE;
set_mcommon_from_mbxview(&MENU,mailbox);
i = mbx_show_msg(mailbox,current-1,PP);
while (i > 0) {
i = process_showmsg_cmd(i, mailbox, cmdX, aview,
PP);
switch (i) {
case EOF:
exit_pager_page(&PP,page);
return EOF;/* Read failed, control tty died? */
case 'X': /* Quick Exit */
case 'x': /* Exit */
exit_pager_page(&PP,page);
return i; /* "call" parent */
case 0:
break;
default:
DPRINT(Debug,3,(&Debug,
"Looping showmsg command %d (%c)\n",
i,i));
}
}
exit_pager_page(&PP,page);
elm_filter = j;
menu_trigger_redraw(page);
get_page(&MENU, header_area);
return 0;
}
int show_message_normal(mailbox,cmdX,aview,page,header_area)
struct MailboxView *mailbox;
showmsg_cmd cmdX;
struct AliasView *aview;
struct menu_context *page;
struct menu_context *header_area;
{
struct menu_common MENU;
int current = get_current(mailbox);
struct header_rec *hdr;
FILE *F;
int i = 0;
struct pager_page * PP = init_pager_page(&MENU);
/* define_softkeys(READ); */
set_mcommon_from_mbxview(&MENU,mailbox);
i = mbx_show_msg(mailbox,current-1,PP);
while (i > 0) {
i = process_showmsg_cmd(i, mailbox, cmdX, aview,
PP);
switch (i) {
case EOF:
exit_pager_page(&PP,page);
return EOF;/* Read failed, control tty died? */
case 'X': /* Quick Exit */
case 'x': /* Exit */
exit_pager_page(&PP,page);
return i; /* "call" parent */
case 0:
break;
default:
DPRINT(Debug,3,(&Debug,
"Looping showmsg command %d (%c)\n",
i,i));
}
}
exit_pager_page(&PP,page);
menu_trigger_redraw(page);
get_page(&MENU, header_area);
return 0;
}
int show_next_message(mailbox,cmdX,aview,page,header_area)
struct MailboxView *mailbox;
showmsg_cmd cmdX;
struct AliasView *aview;
struct menu_context *page;
struct menu_context *header_area;
{
struct menu_common MENU;
int current = get_current(mailbox);
struct header_rec *hdr;
FILE *F;
int i = 0;
int mc;
struct pager_page * PP = init_pager_page(&MENU);
set_mcommon_from_mbxview(&MENU,mailbox);
i = mbx_show_msg(mailbox,current-1,PP);
while (i >0) {
i = process_showmsg_cmd(i, mailbox, cmdX, aview,
PP);
switch (i) {
case EOF:
exit_pager_page(&PP,page);
return EOF;/* Read failed, control tty died? */
case 'X': /* Quick Exit */
case 'x': /* Exit */
exit_pager_page(&PP,page);
return i; /* "call" parent */
case 0:
break;
default:
DPRINT(Debug,3,(&Debug,
"Looping showmsg command %d (%c)\n",
i,i));
}
}
exit_pager_page(&PP,page);
current = get_current(mailbox);
menu_trigger_redraw(page);
if (++current > (mc = get_message_count(mailbox)))
current = mc;
set_current(mailbox,current);
get_page(&MENU, header_area);
return 0;
}
/*
* Local Variables:
* mode:c
* c-basic-offset:4
* buffer-file-coding-system: iso-8859-1
* End:
*/
syntax highlighted by Code2HTML, v. 0.9.1