NeoMutt  2025-12-11-911-gd8d604
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
functions.c
Go to the documentation of this file.
1
22
28
29#include "config.h"
30#include <stddef.h>
31#include "mutt/lib.h"
32#include "core/lib.h"
33#include "gui/lib.h"
34#include "key/lib.h"
35#include "menu/lib.h"
36#include "ncrypt/lib.h"
37#include "module_data.h"
38
39// clang-format off
43static const struct MenuFuncOp OpPgp[] = { /* map: pgp */
44 { "exit", OP_EXIT },
45 { "verify-key", OP_VERIFY_KEY },
46 { "view-name", OP_VIEW_ID },
47 { NULL, 0 },
48};
49
53static const struct MenuFuncOp OpSmime[] = { /* map: smime */
54 { "exit", OP_EXIT },
55#ifdef CRYPT_BACKEND_GPGME
56 { "verify-key", OP_VERIFY_KEY },
57 { "view-name", OP_VIEW_ID },
58#endif
59 { NULL, 0 },
60};
61
65static const struct MenuOpSeq PgpDefaultBindings[] = { /* map: pgp */
66 { OP_EXIT, "q" },
67 { OP_VERIFY_KEY, "c" },
68 { OP_VIEW_ID, "%" },
69 { 0, NULL },
70};
71
75static const struct MenuOpSeq SmimeDefaultBindings[] = { /* map: smime */
76 { OP_EXIT, "q" },
77#ifdef CRYPT_BACKEND_GPGME
78 { OP_VERIFY_KEY, "c" },
79 { OP_VIEW_ID, "%" },
80#endif
81 { 0, NULL },
82};
83// clang-format on
84
88void pgp_init_keys(struct NeoMutt *n, struct SubMenu *sm_generic)
89{
90 struct MenuDefinition *md = NULL;
91 struct SubMenu *sm = NULL;
92
94 md = km_register_menu(MENU_PGP, "pgp");
95 km_menu_add_submenu(md, sm);
96 km_menu_add_submenu(md, sm_generic);
98
100 ASSERT(mod_data);
101 mod_data->menu_pgp = md;
102
104 md = km_register_menu(MENU_SMIME, "smime");
105 km_menu_add_submenu(md, sm);
106 km_menu_add_submenu(md, sm_generic);
108
109 mod_data->menu_smime = md;
110}
Convenience wrapper for the core headers.
Convenience wrapper for the gui headers.
void km_menu_add_submenu(struct MenuDefinition *md, struct SubMenu *sm)
Add a SubMenu to a Menu Definition.
Definition init.c:121
struct SubMenu * km_register_submenu(const struct MenuFuncOp functions[])
Register a submenu.
Definition init.c:87
struct MenuDefinition * km_register_menu(int menu, const char *name)
Register a menu.
Definition init.c:104
void km_menu_add_bindings(struct MenuDefinition *md, const struct MenuOpSeq bindings[])
Add Keybindings to a Menu.
Definition init.c:134
Manage keymappings.
GUI present the user with a selectable list.
@ MODULE_ID_NCRYPT
ModuleNcrypt, Ncrypt
Definition module_api.h:80
Convenience wrapper for the library headers.
void pgp_init_keys(struct NeoMutt *n, struct SubMenu *sm_generic)
Initialise the PGP Keybindings - Implements ::init_keys_api.
Definition functions.c:88
static const struct MenuFuncOp OpSmime[]
Functions for the Smime Menu.
Definition functions.c:53
static const struct MenuFuncOp OpPgp[]
Functions for the Pgp Menu.
Definition functions.c:43
static const struct MenuOpSeq PgpDefaultBindings[]
Key bindings for the Pgp Menu.
Definition functions.c:65
static const struct MenuOpSeq SmimeDefaultBindings[]
Key bindings for the Smime Menu.
Definition functions.c:75
API for encryption/signing of emails.
Ncrypt private Module data.
void * neomutt_get_module_data(struct NeoMutt *n, enum ModuleId id)
Get the private data for a Module.
Definition neomutt.c:663
#define ASSERT(COND)
Definition signal2.h:59
Functions for a Dialog or Window.
Definition menu.h:77
Mapping between a function and an operation.
Definition menu.h:35
Mapping between an operation and a key sequence.
Definition menu.h:45
Ncrypt private Module data.
Definition module_data.h:38
struct MenuDefinition * menu_smime
S/MIME menu definition.
Definition module_data.h:41
struct MenuDefinition * menu_pgp
PGP menu definition.
Definition module_data.h:40
Container for Accounts, Notifications.
Definition neomutt.h:41
Collection of related functions.
Definition menu.h:65
@ MENU_PGP
PGP encryption menu.
Definition type.h:47
@ MENU_SMIME
SMIME encryption menu.
Definition type.h:51