NeoMutt
2025-12-11-1039-g550ac6
Teaching an old dog new tricks
DOXYGEN
Toggle main menu visibility
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
43
static
const
struct
MenuFuncOp
OpPgp
[] = {
/* map: pgp */
44
{
"verify-key"
, OP_VERIFY_KEY },
45
{
"view-name"
, OP_VIEW_ID },
46
{ NULL, 0 },
47
};
48
52
static
const
struct
MenuFuncOp
OpSmime
[] = {
/* map: smime */
53
#ifdef CRYPT_BACKEND_GPGME
54
{
"verify-key"
, OP_VERIFY_KEY },
55
{
"view-name"
, OP_VIEW_ID },
56
#endif
57
{ NULL, 0 },
58
};
59
63
static
const
struct
MenuOpSeq
PgpDefaultBindings
[] = {
/* map: pgp */
64
{ OP_VERIFY_KEY,
"c"
},
65
{ OP_VIEW_ID,
"%"
},
66
{ 0, NULL },
67
};
68
72
static
const
struct
MenuOpSeq
SmimeDefaultBindings
[] = {
/* map: smime */
73
#ifdef CRYPT_BACKEND_GPGME
74
{ OP_VERIFY_KEY,
"c"
},
75
{ OP_VIEW_ID,
"%"
},
76
#endif
77
{ 0, NULL },
78
};
79
// clang-format on
80
84
void
pgp_init_keys
(
struct
NeoMutt
*n,
struct
SubMenu
*sm_generic)
85
{
86
struct
MenuDefinition
*md = NULL;
87
struct
SubMenu
*sm = NULL;
88
89
sm =
km_register_submenu
(
OpPgp
);
90
md =
km_register_menu
(
MENU_PGP
,
"pgp"
);
91
km_menu_add_submenu
(md, sm);
92
km_menu_add_submenu
(md, sm_generic);
93
km_menu_add_bindings
(md,
PgpDefaultBindings
);
94
95
struct
NcryptModuleData
*mod_data =
neomutt_get_module_data
(n,
MODULE_ID_NCRYPT
);
96
ASSERT
(mod_data);
97
mod_data->
menu_pgp
= md;
98
99
sm =
km_register_submenu
(
OpSmime
);
100
md =
km_register_menu
(
MENU_SMIME
,
"smime"
);
101
km_menu_add_submenu
(md, sm);
102
km_menu_add_submenu
(md, sm_generic);
103
km_menu_add_bindings
(md,
SmimeDefaultBindings
);
104
105
mod_data->
menu_smime
= md;
106
}
lib.h
Convenience wrapper for the core headers.
lib.h
Convenience wrapper for the gui headers.
km_menu_add_submenu
void km_menu_add_submenu(struct MenuDefinition *md, struct SubMenu *sm)
Add a SubMenu to a Menu Definition.
Definition
init.c:123
km_register_submenu
struct SubMenu * km_register_submenu(const struct MenuFuncOp functions[])
Register a submenu.
Definition
init.c:88
km_register_menu
struct MenuDefinition * km_register_menu(int menu, const char *name)
Register a menu.
Definition
init.c:105
km_menu_add_bindings
void km_menu_add_bindings(struct MenuDefinition *md, const struct MenuOpSeq bindings[])
Add Keybindings to a Menu.
Definition
init.c:136
lib.h
Manage keymappings.
lib.h
GUI present the user with a selectable list.
MODULE_ID_NCRYPT
@ MODULE_ID_NCRYPT
ModuleNcrypt, Ncrypt
Definition
module_api.h:82
lib.h
Convenience wrapper for the library headers.
pgp_init_keys
void pgp_init_keys(struct NeoMutt *n, struct SubMenu *sm_generic)
Initialise the PGP Keybindings - Implements init_keys_api.
Definition
functions.c:84
OpSmime
static const struct MenuFuncOp OpSmime[]
Functions for the Smime Menu.
Definition
functions.c:52
OpPgp
static const struct MenuFuncOp OpPgp[]
Functions for the Pgp Menu.
Definition
functions.c:43
PgpDefaultBindings
static const struct MenuOpSeq PgpDefaultBindings[]
Key bindings for the Pgp Menu.
Definition
functions.c:63
SmimeDefaultBindings
static const struct MenuOpSeq SmimeDefaultBindings[]
Key bindings for the Smime Menu.
Definition
functions.c:72
lib.h
API for encryption/signing of emails.
module_data.h
Ncrypt private Module data.
neomutt_get_module_data
void * neomutt_get_module_data(struct NeoMutt *n, enum ModuleId id)
Get the private data for a Module.
Definition
neomutt.c:666
ASSERT
#define ASSERT(COND)
Definition
signal2.h:59
MenuDefinition
Functions for a Dialog or Window.
Definition
menudef.h:44
MenuFuncOp
Mapping between a function and an operation.
Definition
menu.h:37
MenuOpSeq
Mapping between an operation and a key sequence.
Definition
menu.h:47
NcryptModuleData
Ncrypt private Module data.
Definition
module_data.h:39
NcryptModuleData::menu_smime
struct MenuDefinition * menu_smime
S/MIME menu definition.
Definition
module_data.h:42
NcryptModuleData::menu_pgp
struct MenuDefinition * menu_pgp
PGP menu definition.
Definition
module_data.h:41
NeoMutt
Container for Accounts, Notifications.
Definition
neomutt.h:41
SubMenu
Collection of related functions.
Definition
menudef.h:33
MENU_PGP
@ MENU_PGP
PGP encryption menu.
Definition
type.h:47
MENU_SMIME
@ MENU_SMIME
SMIME encryption menu.
Definition
type.h:51