NeoMutt  2025-12-11-694-ga89709
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 "gui/lib.h"
32#include "key/lib.h"
33#include "menu/lib.h"
34#include "ncrypt/lib.h"
35
37struct MenuDefinition *MdPgp = NULL;
38
40struct MenuDefinition *MdSmime = NULL;
41
42// clang-format off
46static const struct MenuFuncOp OpPgp[] = { /* map: pgp */
47 { "exit", OP_EXIT },
48 { "verify-key", OP_VERIFY_KEY },
49 { "view-name", OP_VIEW_ID },
50 { NULL, 0 },
51};
52
56static const struct MenuFuncOp OpSmime[] = { /* map: smime */
57 { "exit", OP_EXIT },
58#ifdef CRYPT_BACKEND_GPGME
59 { "verify-key", OP_VERIFY_KEY },
60 { "view-name", OP_VIEW_ID },
61#endif
62 { NULL, 0 },
63};
64
68static const struct MenuOpSeq PgpDefaultBindings[] = { /* map: pgp */
69 { OP_EXIT, "q" },
70 { OP_VERIFY_KEY, "c" },
71 { OP_VIEW_ID, "%" },
72 { 0, NULL },
73};
74
78static const struct MenuOpSeq SmimeDefaultBindings[] = { /* map: smime */
79 { OP_EXIT, "q" },
80#ifdef CRYPT_BACKEND_GPGME
81 { OP_VERIFY_KEY, "c" },
82 { OP_VIEW_ID, "%" },
83#endif
84 { 0, NULL },
85};
86// clang-format on
87
91void pgp_init_keys(struct SubMenu *sm_generic)
92{
93 struct MenuDefinition *md = NULL;
94 struct SubMenu *sm = NULL;
95
97 md = km_register_menu(MENU_PGP, "pgp");
98 km_menu_add_submenu(md, sm);
99 km_menu_add_submenu(md, sm_generic);
101
102 MdPgp = md;
103
105 md = km_register_menu(MENU_SMIME, "smime");
106 km_menu_add_submenu(md, sm);
107 km_menu_add_submenu(md, sm_generic);
109
110 MdSmime = md;
111}
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:123
struct SubMenu * km_register_submenu(const struct MenuFuncOp functions[])
Register a submenu.
Definition init.c:91
struct MenuDefinition * km_register_menu(int menu, const char *name)
Register a menu.
Definition init.c:107
void km_menu_add_bindings(struct MenuDefinition *md, const struct MenuOpSeq bindings[])
Add Keybindings to a Menu.
Definition init.c:136
Manage keymappings.
GUI present the user with a selectable list.
struct MenuDefinition * MdPgp
Pgp Menu Definition.
Definition functions.c:37
static const struct MenuFuncOp OpSmime[]
Functions for the Smime Menu.
Definition functions.c:56
void pgp_init_keys(struct SubMenu *sm_generic)
Initialise the PGP Keybindings - Implements ::init_keys_api.
Definition functions.c:91
static const struct MenuFuncOp OpPgp[]
Functions for the Pgp Menu.
Definition functions.c:46
static const struct MenuOpSeq PgpDefaultBindings[]
Key bindings for the Pgp Menu.
Definition functions.c:68
static const struct MenuOpSeq SmimeDefaultBindings[]
Key bindings for the Smime Menu.
Definition functions.c:78
struct MenuDefinition * MdSmime
Smime Menu Definition.
Definition functions.c:40
API for encryption/signing of emails.
Functions for a Dialog or Window.
Definition menu.h:80
Mapping between a function and an operation.
Definition menu.h:38
Mapping between an operation and a key sequence.
Definition menu.h:48
Collection of related functions.
Definition menu.h:68
@ MENU_PGP
PGP encryption menu.
Definition type.h:46
@ MENU_SMIME
SMIME encryption menu.
Definition type.h:50