From 277e8dc901140a40416dbf50bf6862b2980b5ec6 Mon Sep 17 00:00:00 2001 From: Paul Fariello Date: Wed, 10 Apr 2019 06:49:20 +0320 Subject: Add /omemo char command --- src/command/cmd_defs.c | 6 +++++- src/command/cmd_funcs.c | 19 +++++++++++++++++++ src/command/cmd_funcs.h | 1 + 3 files changed, 25 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/command/cmd_defs.c b/src/command/cmd_defs.c index ab4112c7..2c790a73 100644 --- a/src/command/cmd_defs.c +++ b/src/command/cmd_defs.c @@ -2341,6 +2341,7 @@ static struct cmd_t command_defs[] = { "trust", cmd_omemo_trust }, { "untrust", cmd_omemo_untrust }, { "fingerprint", cmd_omemo_fingerprint }, + { "char", cmd_omemo_char }, { "clear_device_list", cmd_omemo_clear_device_list }) CMD_NOMAINFUNC CMD_TAGS( @@ -2353,6 +2354,7 @@ static struct cmd_t command_defs[] = "/omemo trust [] ", "/omemo end", "/omemo fingerprint []", + "/omemo char ", "/omemo clear_device_list") CMD_DESC( "Omemo commands to manage keys, and perform encryption during chat sessions.") @@ -2363,12 +2365,14 @@ static struct cmd_t command_defs[] = { "log on|off", "Enable or disable plaintext logging of OMEMO encrypted messages." }, { "log redact", "Log OMEMO encrypted messages, but replace the contents with [redacted]. This is the default." }, { "fingerprint", "Show contact fingerprints." }, + { "char ", "Set the character to be displayed next to OMEMO encrypted messages." }, { "clear_device_list", "Clear your own device list on server side. Each client will reannounce itself when connected back."}) CMD_EXAMPLES( "/omemo gen", "/omemo start buddy@buddychat.org", "/omemo trust c4f9c875-144d7a3b-0c4a05b6-ca3be51a-a037f329-0bd3ae62-07f99719-55559d2a", - "/omemo untrust buddy@buddychat.org c4f9c875-144d7a3b-0c4a05b6-ca3be51a-a037f329-0bd3ae62-07f99719-55559d2a") + "/omemo untrust buddy@buddychat.org c4f9c875-144d7a3b-0c4a05b6-ca3be51a-a037f329-0bd3ae62-07f99719-55559d2a", + "/omemo char *") }, }; diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index b004c4e1..40952c20 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -8050,6 +8050,25 @@ cmd_omemo_start(ProfWin *window, const char *const command, gchar **args) #endif } +gboolean +cmd_omemo_char(ProfWin *window, const char *const command, gchar **args) +{ +#ifdef HAVE_OMEMO + if (args[1] == NULL) { + cons_bad_cmd_usage(command); + } else if (strlen(args[1]) != 1) { + cons_bad_cmd_usage(command); + } else { + prefs_set_omemo_char(args[1][0]); + cons_show("OMEMO char set to %c.", args[1][0]); + } + return TRUE; +#else + cons_show("This version of Profanity has not been built with OMEMO support enabled"); + return TRUE; +#endif +} + gboolean cmd_omemo_log(ProfWin *window, const char *const command, gchar **args) { diff --git a/src/command/cmd_funcs.h b/src/command/cmd_funcs.h index 3410075d..249b50fe 100644 --- a/src/command/cmd_funcs.h +++ b/src/command/cmd_funcs.h @@ -215,6 +215,7 @@ gboolean cmd_wins_swap(ProfWin *window, const char *const command, gchar **args) gboolean cmd_form_field(ProfWin *window, char *tag, gchar **args); gboolean cmd_omemo_gen(ProfWin *window, const char *const command, gchar **args); +gboolean cmd_omemo_char(ProfWin *window, const char *const command, gchar **args); gboolean cmd_omemo_log(ProfWin *window, const char *const command, gchar **args); gboolean cmd_omemo_start(ProfWin *window, const char *const command, gchar **args); gboolean cmd_omemo_end(ProfWin *window, const char *const command, gchar **args); -- cgit 1.4.1-2-gfad0