X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=compose.c;h=e7d2886cd016d9f9a7b32d2bcc33b423fd8c3327;hp=053075199958520d8d532048cedfd376ab4880cc;hb=ef7b80006ebb47372d69c64e8b2b2f0764333d55;hpb=ba5e3af4ea19e1d20c80941c077039871ec84258 diff --git a/compose.c b/compose.c index 0530751..e7d2886 100644 --- a/compose.c +++ b/compose.c @@ -16,12 +16,14 @@ #endif #include "mutt.h" +#include "enter.h" #include "mutt_curses.h" #include "mutt_idna.h" #include "mutt_menu.h" #include "rfc1524.h" #include "mime.h" #include "attach.h" +#include "recvattach.h" #include "mapping.h" #include "sort.h" #include "charset.h" @@ -83,11 +85,12 @@ enum { #endif }; -#define HDR_XOFFSET 14 -#define TITLE_FMT "%14s" /* Used for Prompts, which are ASCII */ -#define W (COLS - HDR_XOFFSET - SidebarWidth) +#define HDR_XOFFSET 14 +#define TITLE_FMT "%14s" /* Used for Prompts, which are ASCII */ +#define SW (option(OPTMBOXPANE)?SidebarWidth:0) +#define W (COLS - HDR_XOFFSET - SW) -static char *Prompts[] = { +static const char *Prompts[] = { "From: ", "To: ", "Cc: ", @@ -112,7 +115,7 @@ static struct mapping_t ComposeHelp[] = { {N_("Attach file"), OP_COMPOSE_ATTACH_FILE}, {N_("Descrip"), OP_COMPOSE_EDIT_DESCRIPTION}, {N_("Help"), OP_HELP}, - {NULL} + {NULL, OP_NULL} }; #ifdef USE_NNTP @@ -124,19 +127,17 @@ static struct mapping_t ComposeNewsHelp[] = { {N_("Attach file"), OP_COMPOSE_ATTACH_FILE}, {N_("Descrip"), OP_COMPOSE_EDIT_DESCRIPTION}, {N_("Help"), OP_HELP}, - {NULL} + {NULL, OP_NULL} }; #endif -static void snd_entry (char *b, size_t blen, MUTTMENU * menu, int num) -{ - mutt_FormatString (b, blen, NONULL (AttachFormat), mutt_attach_fmt, +static void snd_entry (char *b, size_t blen, MUTTMENU * menu, int num) { + int w=(COLS-SW)>blen?blen:COLS-SW; + mutt_FormatString (b, w, NONULL (AttachFormat), mutt_attach_fmt, (unsigned long) (((ATTACHPTR **) menu->data)[num]), M_FORMAT_STAT_FILE | M_FORMAT_ARROWCURSOR); } - - #include "mutt_crypt.h" static void redraw_crypt_lines (HEADER * msg) @@ -145,16 +146,16 @@ static void redraw_crypt_lines (HEADER * msg) if ((WithCrypto & APPLICATION_PGP) && (WithCrypto & APPLICATION_SMIME)) { if (!msg->security) - mvaddstr (HDR_CRYPT, SidebarWidth, " Security: "); + mvaddstr (HDR_CRYPT, SW, " Security: "); else if (msg->security & APPLICATION_SMIME) - mvaddstr (HDR_CRYPT, SidebarWidth, " S/MIME: "); + mvaddstr (HDR_CRYPT, SW, " S/MIME: "); else if (msg->security & APPLICATION_PGP) - mvaddstr (HDR_CRYPT, SidebarWidth, " PGP: "); + mvaddstr (HDR_CRYPT, SW, " PGP: "); } else if ((WithCrypto & APPLICATION_SMIME)) - mvaddstr (HDR_CRYPT, SidebarWidth, " S/MIME: "); + mvaddstr (HDR_CRYPT, SW, " S/MIME: "); else if ((WithCrypto & APPLICATION_PGP)) - mvaddstr (HDR_CRYPT, SidebarWidth, " PGP: "); + mvaddstr (HDR_CRYPT, SW, " PGP: "); else return; @@ -177,7 +178,7 @@ static void redraw_crypt_lines (HEADER * msg) } clrtoeol (); - move (HDR_CRYPTINFO, SidebarWidth); + move (HDR_CRYPTINFO, SW); clrtoeol (); if ((WithCrypto & APPLICATION_PGP) && msg->security & APPLICATION_PGP && msg->security & SIGN) @@ -194,7 +195,7 @@ static void redraw_crypt_lines (HEADER * msg) && (msg->security & APPLICATION_SMIME) && (msg->security & ENCRYPT) && SmimeCryptAlg && *SmimeCryptAlg) { - mvprintw (HDR_CRYPTINFO, SidebarWidth + 40, "%s%s", _("Encrypt with: "), + mvprintw (HDR_CRYPTINFO, SW + 40, "%s%s", _("Encrypt with: "), NONULL (SmimeCryptAlg)); off = 20; } @@ -206,9 +207,9 @@ static void redraw_crypt_lines (HEADER * msg) static void redraw_mix_line (LIST * chain) { int c; - char *t; + const char *t; - mvaddstr (HDR_MIX, SidebarWidth, " Mix: "); + mvaddstr (HDR_MIX, SW, " Mix: "); if (!chain) { addstr (""); @@ -221,7 +222,7 @@ static void redraw_mix_line (LIST * chain) if (t && t[0] == '0' && t[1] == '\0') t = ""; - if (c + str_len (t) + 2 >= COLS - SidebarWidth) + if (c + str_len (t) + 2 >= COLS - SW) break; addstr (NONULL (t)); @@ -268,7 +269,7 @@ static void draw_envelope_addr (int line, ADDRESS * addr) buf[0] = 0; rfc822_write_address (buf, sizeof (buf), addr, 1); - mvprintw (line, SidebarWidth, TITLE_FMT, Prompts[line - 1]); + mvprintw (line, SW, TITLE_FMT, Prompts[line - 1]); mutt_paddstr (W, buf); } @@ -284,9 +285,9 @@ static void draw_envelope (HEADER * msg, char *fcc) #ifdef USE_NNTP } else { - mvprintw (HDR_TO, SidebarWidth, TITLE_FMT, Prompts[HDR_NEWSGROUPS - 1]); + mvprintw (HDR_TO, SW, TITLE_FMT, Prompts[HDR_NEWSGROUPS - 1]); mutt_paddstr (W, NONULL (msg->env->newsgroups)); - mvprintw (HDR_CC, SidebarWidth, TITLE_FMT, Prompts[HDR_FOLLOWUPTO - 1]); + mvprintw (HDR_CC, SW, TITLE_FMT, Prompts[HDR_FOLLOWUPTO - 1]); mutt_paddstr (W, NONULL (msg->env->followup_to)); if (option (OPTXCOMMENTTO)) { mvprintw (HDR_BCC, 0, TITLE_FMT, Prompts[HDR_XCOMMENTTO - 1]); @@ -294,10 +295,10 @@ static void draw_envelope (HEADER * msg, char *fcc) } } #endif - mvprintw (HDR_SUBJECT, SidebarWidth, TITLE_FMT, Prompts[HDR_SUBJECT - 1]); + mvprintw (HDR_SUBJECT, SW, TITLE_FMT, Prompts[HDR_SUBJECT - 1]); mutt_paddstr (W, NONULL (msg->env->subject)); draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to); - mvprintw (HDR_FCC, SidebarWidth, TITLE_FMT, Prompts[HDR_FCC - 1]); + mvprintw (HDR_FCC, SW, TITLE_FMT, Prompts[HDR_FCC - 1]); mutt_paddstr (W, fcc); if (WithCrypto) @@ -308,7 +309,7 @@ static void draw_envelope (HEADER * msg, char *fcc) #endif SETCOLOR (MT_COLOR_STATUS); - mvaddstr (HDR_ATTACH - 1, SidebarWidth, _("-- Attachments")); + mvaddstr (HDR_ATTACH - 1, SW, _("-- Attachments")); BKGDSET (MT_COLOR_STATUS); clrtoeol (); @@ -343,7 +344,7 @@ static int edit_address_list (int line, ADDRESS ** addr) /* redraw the expanded list so the user can see the result */ buf[0] = 0; rfc822_write_address (buf, sizeof (buf), *addr, 1); - move (line, HDR_XOFFSET + SidebarWidth); + move (line, HDR_XOFFSET + SW); mutt_paddstr (W, buf); return 0; @@ -477,8 +478,7 @@ static const char *compose_format_str (char *buf, size_t buflen, char op, break; case 'v': - snprintf (fmt, sizeof (fmt), "Mutt-ng %%s"); - snprintf (buf, buflen, fmt, MUTT_VERSION); + strncpy (buf, mutt_make_version (0), buflen); break; case 0: @@ -501,7 +501,8 @@ static const char *compose_format_str (char *buf, size_t buflen, char op, static void compose_status_line (char *buf, size_t buflen, MUTTMENU * menu, const char *p) { - mutt_FormatString (buf, buflen, p, compose_format_str, + int w=(COLS-SW)>buflen?buflen:(COLS-SW); + mutt_FormatString (buf, w, p, compose_format_str, (unsigned long) menu, 0); } @@ -563,7 +564,7 @@ int mutt_compose_menu (HEADER * msg, /* structure for new message */ ComposeHelp); if (option (OPTMBOXPANE)) - buffy_check (1); + buffy_check (0); while (loop) { #ifdef USE_NNTP unset_option (OPTNEWS); /* for any case */ @@ -670,7 +671,7 @@ int mutt_compose_menu (HEADER * msg, /* structure for new message */ buf[0] = 0; if (mutt_get_field ("Subject: ", buf, sizeof (buf), 0) == 0) { str_replace (&msg->env->subject, buf); - move (HDR_SUBJECT, HDR_XOFFSET + SidebarWidth); + move (HDR_SUBJECT, HDR_XOFFSET + SW); clrtoeol (); if (msg->env->subject) mutt_paddstr (W, msg->env->subject); @@ -686,7 +687,7 @@ int mutt_compose_menu (HEADER * msg, /* structure for new message */ if (mutt_get_field ("Fcc: ", buf, sizeof (buf), M_FILE | M_CLEAR) == 0) { strfcpy (fcc, buf, _POSIX_PATH_MAX); mutt_pretty_mailbox (fcc); - move (HDR_FCC, HDR_XOFFSET + SidebarWidth); + move (HDR_FCC, HDR_XOFFSET + SW); mutt_paddstr (W, fcc); fccSet = 1; } @@ -1406,7 +1407,8 @@ int mutt_compose_menu (HEADER * msg, /* structure for new message */ compose_status_line (buf, sizeof (buf), menu, NONULL (ComposeFormat)); CLEARLINE (option (OPTSTATUSONTOP) ? 0 : LINES - 2); SETCOLOR (MT_COLOR_STATUS); - printw ("%-*.*s", COLS, COLS, buf); + move (option (OPTSTATUSONTOP) ? 0 : LINES - 2, SW); + printw ("%-*.*s", COLS-SW, COLS-SW, buf); SETCOLOR (MT_COLOR_NORMAL); menu->redraw &= ~REDRAW_STATUS; }