NeoMutt  2024-02-01-25-ga71e95
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
make_entry()

Format a item for a menu. More...

+ Collaboration diagram for make_entry():

Functions

static void alias_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format an Alias for the Menu - Implements Menu::make_entry() -.
 
static void query_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format an Alias for the Menu - Implements Menu::make_entry() -.
 
static void attach_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format an Attachment for the Menu - Implements Menu::make_entry() -.
 
static void autocrypt_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format an Autocrypt Account for the Menu - Implements Menu::make_entry() -.
 
static void folder_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format a Folder for the Menu - Implements Menu::make_entry() -.
 
static void compose_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format an Attachment for the Menu - Implements Menu::make_entry() -.
 
static void cert_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Create a Certificate for the Menu - Implements Menu::make_entry() -.
 
static void history_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format a History Item for the Menu - Implements Menu::make_entry() -.
 
void index_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format an Email for the Menu - Implements Menu::make_entry() -.
 
static void mix_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format a Remailer for the Menu - Implements Menu::make_entry() -.
 
static void crypt_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format a PGP Key for the Menu - Implements Menu::make_entry() -.
 
static void pgp_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format a PGP Key for the Menu - Implements Menu::make_entry() -.
 
static void smime_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format an S/MIME Key for the Menu - Implements Menu::make_entry() -.
 
static void make_pattern_entry (struct Menu *menu, int line, struct Buffer *buf)
 Create a Pattern for the Menu - Implements Menu::make_entry() -.
 
static void post_make_entry (struct Menu *menu, int line, struct Buffer *buf)
 Format an Email for the Menu - Implements Menu::make_entry() -.
 

Detailed Description

Format a item for a menu.

Parameters
[in]menuMenu containing items
[in]lineMenu line number
[out]bufBuffer for the result

Function Documentation

◆ alias_make_entry()

static void alias_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format an Alias for the Menu - Implements Menu::make_entry() -.

See also
$alias_format, alias_format_str()

Definition at line 181 of file dlg_alias.c.

182{
183 const struct AliasMenuData *mdata = menu->mdata;
184 const struct AliasViewArray *ava = &mdata->ava;
185 const struct AliasView *av = ARRAY_GET(ava, line);
186
187 const char *const c_alias_format = cs_subset_string(mdata->sub, "alias_format");
188
189 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols, NONULL(c_alias_format),
191}
#define ARRAY_GET(head, idx)
Return the element at index.
Definition: array.h:109
const char * cs_subset_string(const struct ConfigSubset *sub, const char *name)
Get a string config item by name.
Definition: helpers.c:292
#define MUTT_FORMAT_ARROWCURSOR
Reserve space for arrow_cursor.
Definition: format_flags.h:35
static const char * alias_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the alias list - Implements format_t -.
Definition: dlg_alias.c:125
void mutt_expando_format(char *buf, size_t buflen, size_t col, int cols, const char *src, format_t callback, intptr_t data, MuttFormatFlags flags)
Expand expandos (x) in a string -.
Definition: muttlib.c:740
#define NONULL(x)
Definition: string2.h:37
AliasView array wrapper with Pattern information -.
Definition: gui.h:54
struct AliasViewArray ava
All Aliases/Queries.
Definition: gui.h:55
struct Menu * menu
Menu.
Definition: gui.h:58
struct ConfigSubset * sub
Config items.
Definition: gui.h:57
GUI data wrapping an Alias.
Definition: gui.h:38
size_t dsize
Length of data.
Definition: buffer.h:39
char * data
Pointer to data.
Definition: buffer.h:37
struct MuttWindow * win
Window holding the Menu.
Definition: lib.h:76
void * mdata
Private data.
Definition: lib.h:135
struct WindowState state
Current state of the Window.
Definition: mutt_window.h:127
short cols
Number of columns, can be MUTT_WIN_SIZE_UNLIMITED.
Definition: mutt_window.h:60
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ query_make_entry()

static void query_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format an Alias for the Menu - Implements Menu::make_entry() -.

See also
$query_format, query_format_str()

Definition at line 233 of file dlg_query.c.

234{
235 const struct AliasMenuData *mdata = menu->mdata;
236 const struct AliasViewArray *ava = &mdata->ava;
237 struct AliasView *av = ARRAY_GET(ava, line);
238
239 const char *const c_query_format = cs_subset_string(mdata->sub, "query_format");
240
241 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols, NONULL(c_query_format),
243}
static const char * query_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the query menu - Implements format_t -.
Definition: dlg_query.c:153
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ attach_make_entry()

static void attach_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format an Attachment for the Menu - Implements Menu::make_entry() -.

See also
$attach_format, attach_format_str()

Definition at line 406 of file dlg_attach.c.

407{
408 struct AttachPrivateData *priv = menu->mdata;
409 struct AttachCtx *actx = priv->actx;
410
411 const char *const c_attach_format = cs_subset_string(NeoMutt->sub, "attach_format");
412 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
413 NONULL(c_attach_format), attach_format_str,
414 (intptr_t) (actx->idx[actx->v2r[line]]), MUTT_FORMAT_ARROWCURSOR);
415}
const char * attach_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the attachment menu - Implements format_t -.
Definition: dlg_attach.c:151
A set of attachments.
Definition: attach.h:51
struct AttachPtr ** idx
Array of attachments.
Definition: attach.h:55
short * v2r
Mapping from virtual to real attachment.
Definition: attach.h:59
Private state data for Attachments.
Definition: private_data.h:36
struct Menu * menu
Current Menu.
Definition: private_data.h:37
struct AttachCtx * actx
List of all Attachments.
Definition: private_data.h:38
Container for Accounts, Notifications.
Definition: neomutt.h:41
struct ConfigSubset * sub
Inherited config items.
Definition: neomutt.h:45
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ autocrypt_make_entry()

static void autocrypt_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format an Autocrypt Account for the Menu - Implements Menu::make_entry() -.

See also
$autocrypt_acct_format, autocrypt_format_str()

Definition at line 183 of file dlg_autocrypt.c.

184{
185 struct AccountEntry *entry = &((struct AccountEntry *) menu->mdata)[line];
186
187 const char *const c_autocrypt_acct_format = cs_subset_string(NeoMutt->sub, "autocrypt_acct_format");
188 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
189 NONULL(c_autocrypt_acct_format), autocrypt_format_str,
190 (intptr_t) entry, MUTT_FORMAT_ARROWCURSOR);
191}
static const char * autocrypt_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the Autocrypt account list - Implements format_t -.
An entry in the Autocrypt account Menu.
Definition: private.h:45
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ folder_make_entry()

static void folder_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format a Folder for the Menu - Implements Menu::make_entry() -.

See also
$folder_format, $group_index_format, $mailbox_folder_format, folder_format_str()

Definition at line 900 of file dlg_browser.c.

901{
902 struct BrowserState *bstate = menu->mdata;
903 struct BrowserEntryArray *entry = &bstate->entry;
904 struct Folder folder = {
905 .ff = ARRAY_GET(entry, line),
906 .num = line,
907 };
908
909 if (OptNews)
910 {
911 const char *const c_group_index_format = cs_subset_string(NeoMutt->sub, "group_index_format");
912 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
913 NONULL(c_group_index_format), group_index_format_str,
914 (intptr_t) &folder, MUTT_FORMAT_ARROWCURSOR);
915 }
916 else if (bstate->is_mailbox_list)
917 {
918 const char *const c_mailbox_folder_format = cs_subset_string(NeoMutt->sub, "mailbox_folder_format");
919 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
920 NONULL(c_mailbox_folder_format), folder_format_str,
921 (intptr_t) &folder, MUTT_FORMAT_ARROWCURSOR);
922 }
923 else
924 {
925 const char *const c_folder_format = cs_subset_string(NeoMutt->sub, "folder_format");
926 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
927 NONULL(c_folder_format), folder_format_str,
928 (intptr_t) &folder, MUTT_FORMAT_ARROWCURSOR);
929 }
930}
bool OptNews
(pseudo) used to change reader mode
Definition: globals.c:70
const char * group_index_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the newsgroup menu - Implements format_t -.
Definition: browse.c:58
static const char * folder_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the folder browser - Implements format_t -.
Definition: dlg_browser.c:211
State of the file/mailbox browser.
Definition: lib.h:114
bool is_mailbox_list
Viewing mailboxes.
Definition: lib.h:118
struct BrowserEntryArray entry
Array of files / dirs / mailboxes.
Definition: lib.h:115
A folder/dir in the browser.
Definition: lib.h:69
struct FolderFile * ff
File / Dir / Mailbox.
Definition: lib.h:70
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compose_make_entry()

static void compose_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format an Attachment for the Menu - Implements Menu::make_entry() -.

See also
$attach_format, attach_format_str()

Definition at line 218 of file attach.c.

219{
220 struct ComposeAttachData *adata = menu->mdata;
221 struct AttachCtx *actx = adata->actx;
222 struct ComposeSharedData *shared = menu->win->parent->wdata;
223 struct ConfigSubset *sub = shared->sub;
224
225 const char *const c_attach_format = cs_subset_string(sub, "attach_format");
226 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
227 NONULL(c_attach_format), attach_format_str,
228 (intptr_t) (actx->idx[actx->v2r[line]]),
230}
#define MUTT_FORMAT_STAT_FILE
Used by attach_format_str.
Definition: format_flags.h:34
Data to fill the Compose Attach Window.
Definition: attach_data.h:33
struct Menu * menu
Menu displaying the attachments.
Definition: attach_data.h:35
struct AttachCtx * actx
Set of attachments.
Definition: attach_data.h:34
Shared Compose Data.
Definition: shared_data.h:35
struct ConfigSubset * sub
Config set to use.
Definition: shared_data.h:36
A set of inherited config items.
Definition: subset.h:47
void * wdata
Private data.
Definition: mutt_window.h:145
struct MuttWindow * parent
Parent Window.
Definition: mutt_window.h:135
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cert_make_entry()

static void cert_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Create a Certificate for the Menu - Implements Menu::make_entry() -.

Definition at line 133 of file dlg_verifycert.c.

134{
135 struct CertMenuData *mdata = menu->mdata;
136
137 menu->current = -1; /* hide menubar */
138
139 const char **line_ptr = ARRAY_GET(mdata->carr, line);
140 if (line_ptr)
141 buf_addstr(buf, *line_ptr);
142}
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
Definition: buffer.c:243
Certificate data to use in the Menu.
Definition: ssl.h:42
struct CertArray * carr
Lines of the Certificate.
Definition: ssl.h:43
int current
Current entry.
Definition: lib.h:70
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ history_make_entry()

static void history_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format a History Item for the Menu - Implements Menu::make_entry() -.

See also
history_format_str()

Definition at line 125 of file dlg_history.c.

126{
127 char *entry = ((char **) menu->mdata)[line];
128
129 struct HistoryEntry h = { line, entry };
130
131 const char *const c_history_format = cs_subset_string(NeoMutt->sub, "history_format");
132 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
133 NONULL(c_history_format), history_format_str,
134 (intptr_t) &h, MUTT_FORMAT_ARROWCURSOR);
135}
static const char * history_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the history list - Implements format_t -.
Definition: dlg_history.c:94
A line in the History menu.
Definition: lib.h:65
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ index_make_entry()

void index_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)

Format an Email for the Menu - Implements Menu::make_entry() -.

See also
$index_format, index_format_str()

Definition at line 797 of file dlg_index.c.

798{
799 if (!menu || !menu->mdata)
800 return;
801
802 struct IndexPrivateData *priv = menu->mdata;
803 struct IndexSharedData *shared = priv->shared;
804 struct Mailbox *m = shared->mailbox;
805 if (!shared->mailbox_view)
806 menu->current = -1;
807
808 if (!m || (line < 0) || (line >= m->email_max))
809 return;
810
811 struct Email *e = mutt_get_virt_email(m, line);
812 if (!e)
813 return;
814
816 struct MuttThread *tmp = NULL;
817
818 const enum UseThreads c_threads = mutt_thread_style();
819 if ((c_threads > UT_FLAT) && e->tree && e->thread)
820 {
821 flags |= MUTT_FORMAT_TREE; /* display the thread tree */
822 if (e->display_subject)
823 {
824 flags |= MUTT_FORMAT_FORCESUBJ;
825 }
826 else
827 {
828 const bool reverse = c_threads == UT_REVERSE;
829 int edgemsgno;
830 if (reverse)
831 {
832 if (menu->top + menu->page_len > menu->max)
833 edgemsgno = m->v2r[menu->max - 1];
834 else
835 edgemsgno = m->v2r[menu->top + menu->page_len - 1];
836 }
837 else
838 {
839 edgemsgno = m->v2r[menu->top];
840 }
841
842 for (tmp = e->thread->parent; tmp; tmp = tmp->parent)
843 {
844 if (!tmp->message)
845 continue;
846
847 /* if no ancestor is visible on current screen, provisionally force
848 * subject... */
849 if (reverse ? (tmp->message->msgno > edgemsgno) : (tmp->message->msgno < edgemsgno))
850 {
851 flags |= MUTT_FORMAT_FORCESUBJ;
852 break;
853 }
854 else if (tmp->message->vnum >= 0)
855 {
856 break;
857 }
858 }
859 if (flags & MUTT_FORMAT_FORCESUBJ)
860 {
861 for (tmp = e->thread->prev; tmp; tmp = tmp->prev)
862 {
863 if (!tmp->message)
864 continue;
865
866 /* ...but if a previous sibling is available, don't force it */
867 if (reverse ? (tmp->message->msgno > edgemsgno) : (tmp->message->msgno < edgemsgno))
868 {
869 break;
870 }
871 else if (tmp->message->vnum >= 0)
872 {
873 flags &= ~MUTT_FORMAT_FORCESUBJ;
874 break;
875 }
876 }
877 }
878 }
879 }
880
881 const char *const c_index_format = cs_subset_string(shared->sub, "index_format");
882 int msg_in_pager = shared->mailbox_view ? shared->mailbox_view->msg_in_pager : 0;
883 mutt_make_string(buf, menu->win->state.cols, NONULL(c_index_format), m,
884 msg_in_pager, e, flags, NULL);
885}
#define MUTT_FORMAT_FORCESUBJ
Print the subject even if unchanged.
Definition: format_flags.h:31
#define MUTT_FORMAT_INDEX
This is a main index entry.
Definition: format_flags.h:36
#define MUTT_FORMAT_TREE
Draw the thread tree.
Definition: format_flags.h:32
uint8_t MuttFormatFlags
Flags for mutt_expando_format(), e.g. MUTT_FORMAT_FORCESUBJ.
Definition: format_flags.h:29
void mutt_make_string(struct Buffer *buf, int cols, const char *s, struct Mailbox *m, int inpgr, struct Email *e, MuttFormatFlags flags, const char *progress)
Create formatted strings using mailbox expandos.
Definition: hdrline.c:1438
enum UseThreads mutt_thread_style(void)
Which threading style is active?
Definition: mutt_thread.c:83
UseThreads
Which threading style is active, $use_threads.
Definition: mutt_thread.h:97
@ UT_FLAT
Unthreaded.
Definition: mutt_thread.h:99
@ UT_REVERSE
Reverse threading (subthreads above root)
Definition: mutt_thread.h:101
struct Email * mutt_get_virt_email(struct Mailbox *m, int vnum)
Get a virtual Email.
Definition: mview.c:418
The envelope/body of an email.
Definition: email.h:39
bool display_subject
Used for threading.
Definition: email.h:104
char * tree
Character string to print thread tree.
Definition: email.h:128
int vnum
Virtual message number.
Definition: email.h:117
int msgno
Number displayed to the user.
Definition: email.h:114
struct MuttThread * thread
Thread of Emails.
Definition: email.h:122
Private state data for the Index.
Definition: private_data.h:35
struct IndexSharedData * shared
Shared Index data.
Definition: private_data.h:40
struct Menu * menu
Menu controlling the index.
Definition: private_data.h:41
Data shared between Index, Pager and Sidebar.
Definition: shared_data.h:37
struct Mailbox * mailbox
Current Mailbox.
Definition: shared_data.h:41
struct ConfigSubset * sub
Config set to use.
Definition: shared_data.h:38
struct MailboxView * mailbox_view
Current Mailbox view.
Definition: shared_data.h:40
int msg_in_pager
Message currently shown in the pager.
Definition: mview.h:45
A mailbox.
Definition: mailbox.h:79
int * v2r
Mapping from virtual to real msgno.
Definition: mailbox.h:98
int email_max
Size of emails array.
Definition: mailbox.h:97
int top
Entry that is the top of the current page.
Definition: lib.h:80
int max
Number of entries in the menu.
Definition: lib.h:71
int page_len
Number of entries per screen.
Definition: lib.h:74
An Email conversation.
Definition: thread.h:34
struct MuttThread * parent
Parent of this Thread.
Definition: thread.h:44
struct MuttThread * prev
Previous sibling Thread.
Definition: thread.h:47
struct Email * message
Email this Thread refers to.
Definition: thread.h:49
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mix_make_entry()

static void mix_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format a Remailer for the Menu - Implements Menu::make_entry() -.

See also
$mix_entry_format, mix_format_str()

Definition at line 194 of file win_hosts.c.

195{
196 struct RemailerArray *ra = menu->mdata;
197 struct Remailer **r = ARRAY_GET(ra, line);
198 if (!r)
199 return;
200
201 const char *const c_mix_entry_format = cs_subset_string(NeoMutt->sub, "mix_entry_format");
202 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
203 NONULL(c_mix_entry_format), mix_format_str, (intptr_t) *r,
205}
static const char * mix_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the remailer menu - Implements format_t -.
Definition: win_hosts.c:119
A Mixmaster remailer.
Definition: remailer.h:40
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ crypt_make_entry()

static void crypt_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format a PGP Key for the Menu - Implements Menu::make_entry() -.

See also
$pgp_entry_format, crypt_format_str()

Definition at line 535 of file dlg_gpgme.c.

536{
537 struct CryptKeyInfo **key_table = menu->mdata;
538 struct CryptEntry entry = { 0 };
539
540 entry.key = key_table[line];
541 entry.num = line + 1;
542
543 const char *const c_pgp_entry_format = cs_subset_string(NeoMutt->sub, "pgp_entry_format");
544 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
545 NONULL(c_pgp_entry_format), crypt_format_str,
546 (intptr_t) &entry, MUTT_FORMAT_ARROWCURSOR);
547}
static const char * crypt_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the key selection menu - Implements format_t -.
Definition: dlg_gpgme.c:310
An entry in the Select-Key menu.
Definition: crypt_gpgme.h:85
struct CryptKeyInfo * key
Key.
Definition: crypt_gpgme.h:87
size_t num
Index number.
Definition: crypt_gpgme.h:86
A stored PGP key.
Definition: crypt_gpgme.h:44
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pgp_make_entry()

static void pgp_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format a PGP Key for the Menu - Implements Menu::make_entry() -.

See also
$pgp_entry_format, pgp_entry_format_str()

Definition at line 444 of file dlg_pgp.c.

445{
446 struct PgpUid **key_table = menu->mdata;
447
448 struct PgpEntry entry = { 0 };
449 entry.uid = key_table[line];
450 entry.num = line + 1;
451
452 const char *const c_pgp_entry_format = cs_subset_string(NeoMutt->sub, "pgp_entry_format");
453 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
454 NONULL(c_pgp_entry_format), pgp_entry_format_str,
455 (intptr_t) &entry, MUTT_FORMAT_ARROWCURSOR);
456}
static const char * pgp_entry_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format an entry on the PGP key selection menu - Implements format_t -.
Definition: dlg_pgp.c:274
An entry in a PGP key menu.
Definition: private.h:39
struct PgpUid * uid
Definition: private.h:41
size_t num
Index number.
Definition: private.h:40
PGP User ID.
Definition: pgplib.h:35
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ smime_make_entry()

static void smime_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format an S/MIME Key for the Menu - Implements Menu::make_entry() -.

Definition at line 110 of file dlg_smime.c.

111{
112 struct SmimeKey **table = menu->mdata;
113 struct SmimeKey *key = table[line];
114 char *truststate = NULL;
115 switch (key->trust)
116 {
117 case 'e':
118 /* L10N: Describes the trust state of a S/MIME key.
119 This translation must be padded with spaces to the right such that it
120 has the same length as the other translations.
121 The translation strings which need to be padded are:
122 Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. */
123 truststate = _("Expired ");
124 break;
125 case 'i':
126 /* L10N: Describes the trust state of a S/MIME key.
127 This translation must be padded with spaces to the right such that it
128 has the same length as the other translations.
129 The translation strings which need to be padded are:
130 Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. */
131 truststate = _("Invalid ");
132 break;
133 case 'r':
134 /* L10N: Describes the trust state of a S/MIME key.
135 This translation must be padded with spaces to the right such that it
136 has the same length as the other translations.
137 The translation strings which need to be padded are:
138 Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. */
139 truststate = _("Revoked ");
140 break;
141 case 't':
142 /* L10N: Describes the trust state of a S/MIME key.
143 This translation must be padded with spaces to the right such that it
144 has the same length as the other translations.
145 The translation strings which need to be padded are:
146 Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. */
147 truststate = _("Trusted ");
148 break;
149 case 'u':
150 /* L10N: Describes the trust state of a S/MIME key.
151 This translation must be padded with spaces to the right such that it
152 has the same length as the other translations.
153 The translation strings which need to be padded are:
154 Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. */
155 truststate = _("Unverified");
156 break;
157 case 'v':
158 /* L10N: Describes the trust state of a S/MIME key.
159 This translation must be padded with spaces to the right such that it
160 has the same length as the other translations.
161 The translation strings which need to be padded are:
162 Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. */
163 truststate = _("Verified ");
164 break;
165 default:
166 /* L10N: Describes the trust state of a S/MIME key.
167 This translation must be padded with spaces to the right such that it
168 has the same length as the other translations.
169 The translation strings which need to be padded are:
170 Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. */
171 truststate = _("Unknown ");
172 }
173 buf_printf(buf, " 0x%s %s %s %-35.35s %s", key->hash,
174 smime_key_flags(key->flags), truststate, key->email, key->label);
175}
int buf_printf(struct Buffer *buf, const char *fmt,...)
Format a string overwriting a Buffer.
Definition: buffer.c:178
static char * smime_key_flags(KeyFlags flags)
Turn SMIME key flags into a string.
Definition: dlg_smime.c:88
#define _(a)
Definition: message.h:28
An SIME key.
Definition: smime.h:43
KeyFlags flags
Definition: smime.h:49
char * hash
Definition: smime.h:45
char * email
Definition: smime.h:44
char * label
Definition: smime.h:46
char trust
i=Invalid r=revoked e=expired u=unverified v=verified t=trusted
Definition: smime.h:48
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ make_pattern_entry()

static void make_pattern_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Create a Pattern for the Menu - Implements Menu::make_entry() -.

See also
$pattern_format, pattern_format_str()

Definition at line 138 of file dlg_pattern.c.

139{
140 struct PatternEntry *entry = &((struct PatternEntry *) menu->mdata)[line];
141
142 const char *const c_pattern_format = cs_subset_string(NeoMutt->sub, "pattern_format");
143 mutt_expando_format(buf->data, buf->dsize, 0, menu->win->state.cols,
144 NONULL(c_pattern_format), pattern_format_str,
145 (intptr_t) entry, MUTT_FORMAT_ARROWCURSOR);
146}
static const char * pattern_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, intptr_t data, MuttFormatFlags flags)
Format a string for the pattern completion menu - Implements format_t -.
Definition: dlg_pattern.c:106
A line in the Pattern Completion menu.
Definition: private.h:37
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ post_make_entry()

static void post_make_entry ( struct Menu menu,
int  line,
struct Buffer buf 
)
static

Format an Email for the Menu - Implements Menu::make_entry() -.

See also
$index_format, index_format_str()

Definition at line 103 of file dlg_postpone.c.

104{
105 struct MailboxView *mv = menu->mdata;
106 struct Mailbox *m = mv->mailbox;
107
108 const char *const c_index_format = cs_subset_string(NeoMutt->sub, "index_format");
109 mutt_make_string(buf, menu->win->state.cols, NONULL(c_index_format), m, -1,
111}
View of a Mailbox.
Definition: mview.h:40
struct Menu * menu
Needed for pattern compilation.
Definition: mview.h:47
struct Mailbox * mailbox
Current Mailbox.
Definition: mview.h:51
struct Email ** emails
Array of Emails.
Definition: mailbox.h:96
+ Here is the call graph for this function:
+ Here is the caller graph for this function: