87 if (!adata || !adata->
actx)
92 struct Body *b = NULL;
96 for (
unsigned short i = 0; i < actx->
idxlen; i++)
177 if (ev_w->
win != win_attach)
235 (actx->
idx[actx->
v2r[line]]),
250 if (new_rows != cur_rows)
273 shared->
adata = adata;
282 menu->
win = win_attach;
const struct ExpandoRenderCallback AttachRenderCallbacks[]
Callbacks for Attachment Expandos.
GUI display the mailboxes in a side panel.
struct ComposeAttachData * attach_data_new(struct Email *e)
Create new Compose Attach Data.
unsigned long cum_attachs_size(struct ConfigSubset *sub, struct ComposeAttachData *adata)
Cumulative Attachments Size.
void attachment_size_fixed(struct MuttWindow *win)
Make the Attachment Window fixed-size.
struct MuttWindow * attach_new(struct MuttWindow *parent, struct ComposeSharedData *shared)
Create the Attachments Menu.
void attachment_size_max(struct MuttWindow *win)
Make the Attachment Window maximised.
static int attach_window_observer(struct NotifyCallback *nc)
Notification that a Window has changed - Implements observer_t -.
const char * cs_subset_string(const struct ConfigSubset *sub, const char *name)
Get a string config item by name.
bool cs_subset_bool(const struct ConfigSubset *sub, const char *name)
Get a boolean config item by name.
const struct Expando * cs_subset_expando(const struct ConfigSubset *sub, const char *name)
Get an Expando config item by name.
Convenience wrapper for the config headers.
struct Content * mutt_get_content_info(const char *fname, struct Body *b, struct ConfigSubset *sub)
Analyze file to determine MIME encoding to use.
Conversion between different character encodings.
Convenience wrapper for the core headers.
size_t mutt_strwidth(const char *s)
Measure a string's width in screen cells.
Structs that make up an email.
@ NT_EMAIL_CHANGE_ATTACH
Email's Attachments have changed.
int expando_filter(const struct Expando *exp, const struct ExpandoRenderCallback *erc, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
Render an Expando and run the result through a filter.
#define mutt_debug(LEVEL,...)
static int attach_email_observer(struct NotifyCallback *nc)
Notification that the Email has changed - Implements observer_t -.
static int attach_config_observer(struct NotifyCallback *nc)
Notification that a Config Variable has changed - Implements observer_t -.
static int attach_recalc(struct MuttWindow *win)
Recalculate the Window data - Implements MuttWindow::recalc() -.
Convenience wrapper for the gui headers.
Data shared between Index, Pager and Sidebar.
@ LL_DEBUG5
Log at debug level 5.
@ ENC_BASE64
Base-64 encoded text.
@ ENC_QUOTED_PRINTABLE
Quoted-printable text.
Convenience wrapper for the library headers.
bool notify_observer_remove(struct Notify *notify, const observer_t callback, const void *global_data)
Remove an observer from an object.
bool notify_observer_add(struct Notify *notify, enum NotifyType type, observer_t callback, void *global_data)
Add an observer to an object.
bool mutt_str_equal(const char *a, const char *b)
Compare two strings.
void mutt_window_reflow(struct MuttWindow *win)
Resize a Window and its children.
#define WA_RECALC
Recalculate the contents of the Window.
@ NT_WINDOW_STATE
Window state has changed, e.g. WN_VISIBLE.
@ NT_WINDOW_DELETE
Window is about to be deleted.
#define WA_REPAINT
Redraw the contents of the Window.
@ MUTT_WIN_SIZE_FIXED
Window has a fixed size.
@ MUTT_WIN_SIZE_MAXIMISE
Window wants as much space as possible.
@ NT_WINDOW
MuttWindow has changed, NotifyWindow, EventWindow.
@ NT_CONFIG
Config has changed, NotifyConfig, EventConfig.
@ NT_EMAIL
Email has changed, NotifyEmail, EventEmail.
#define MUTT_FORMAT_ARROWCURSOR
Reserve space for arrow_cursor.
#define MUTT_FORMAT_STAT_FILE
Used by attach_format_str.
struct Email * email
Used by recvattach for updating.
struct AttachPtr ** idx
Array of attachments.
short idxlen
Number of attachmentes.
short * v2r
Mapping from virtual to real attachment.
An email to which things will be attached.
struct Body * body
Attachment.
struct Content * content
Detailed info about the content of the attachment.
bool tagged
This attachment is tagged.
unsigned int encoding
content-transfer-encoding, ContentEncoding
char * filename
When sending a message, this is the file to which this structure refers.
String manipulation buffer.
Data to fill the Compose Attach Window.
struct Menu * menu
Menu displaying the attachments.
struct AttachCtx * actx
Set of attachments.
struct ConfigSubset * sub
Config set to use.
struct ComposeAttachData * adata
Attachments.
struct Email * email
Email being composed.
A set of inherited config items.
struct Notify * notify
Notifications: NotifyConfig, EventConfig.
Info about an attachment.
long crlf
\r and \n characters
long hibin
8-bit characters
long ascii
Number of ascii chars.
long lobin
Unprintable 7-bit chars (eg., control chars)
struct Notify * notify
Notifications: NotifyEmail, EventEmail.
const char * name
Name of config item that changed.
An Event that happened to a Window.
struct MuttWindow * win
Window that changed.
struct WindowState state
Current state of the Window.
void * wdata
Private data.
struct Notify * notify
Notifications: NotifyWindow, EventWindow.
short req_rows
Number of rows required.
int(* recalc)(struct MuttWindow *win)
struct MuttWindow * parent
Parent Window.
WindowActionFlags actions
Actions to be performed, e.g. WA_RECALC.
enum MuttWindowSize size
Type of Window, e.g. MUTT_WIN_SIZE_FIXED.
Container for Accounts, Notifications.
struct ConfigSubset * sub
Inherited config items.
Data passed to a notification function.
void * event_data
Data from notify_send()
enum NotifyType event_type
Send: Event type, e.g. NT_ACCOUNT.
int event_subtype
Send: Event subtype, e.g. NT_ACCOUNT_ADD.
void * global_data
Data from notify_observer_add()
short rows
Number of rows, can be MUTT_WIN_SIZE_UNLIMITED.
@ MENU_COMPOSE
Compose an email.