From 2762f18a3e4c4a73965d39cb2d2dbcdc81129b0c Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 15 Mar 2015 19:48:19 +0000 Subject: [PATCH] Added /receipts command --- src/command/command.c | 11 ++++++++++- src/command/commands.c | 7 +++++++ src/command/commands.h | 1 + src/ui/console.c | 9 +++++++++ src/ui/ui.h | 1 + tests/ui/stub_ui.c | 1 + 6 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/command/command.c b/src/command/command.c index 0bca4212..fe390fcb 100644 --- a/src/command/command.c +++ b/src/command/command.c @@ -921,6 +921,15 @@ static struct cmd_t command_defs[] = "The message carbons feature ensures that both sides of all conversations are shared with all the user's clients that implement this protocol.", NULL } } }, + { "/receipts", + cmd_receipts, parse_args, 1, 1, &cons_receipts_setting, + { "/reciepts on|off", "Message delivery receipts.", + { "/reciepts on|off", + "----------------", + "Enable or disable message delivery receipts.", + "The user interface will indicate when a message has been received.", + NULL } } }, + { "/reconnect", cmd_reconnect, parse_args, 1, 1, &cons_reconnect_setting, { "/reconnect seconds", "Set reconnect interval.", @@ -2020,7 +2029,7 @@ _cmd_complete_parameters(const char * const input) // autocomplete boolean settings gchar *boolean_choices[] = { "/beep", "/intype", "/states", "/outtype", "/flash", "/splash", "/chlog", "/grlog", "/mouse", "/history", - "/vercheck", "/privileges", "/presence", "/wrap", "/carbons" }; + "/vercheck", "/privileges", "/presence", "/wrap", "/carbons", "/receipts" }; for (i = 0; i < ARRAY_SIZE(boolean_choices); i++) { result = autocomplete_param_with_func(input, boolean_choices[i], prefs_autocomplete_boolean_choice); diff --git a/src/command/commands.c b/src/command/commands.c index 8075e2c0..528f44e2 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -3938,6 +3938,13 @@ cmd_carbons(gchar **args, struct cmd_help_t help) return result; } +gboolean +cmd_receipts(gchar **args, struct cmd_help_t help) +{ + return _cmd_set_boolean_preference(args[0], help, + "Message delivery receipts", PREF_RECEIPTS); +} + gboolean cmd_away(gchar **args, struct cmd_help_t help) { diff --git a/src/command/commands.h b/src/command/commands.h index bbf2ba8a..c74fb901 100644 --- a/src/command/commands.h +++ b/src/command/commands.h @@ -86,6 +86,7 @@ gboolean cmd_group(gchar **args, struct cmd_help_t help); gboolean cmd_help(gchar **args, struct cmd_help_t help); gboolean cmd_history(gchar **args, struct cmd_help_t help); gboolean cmd_carbons(gchar **args, struct cmd_help_t help); +gboolean cmd_receipts(gchar **args, struct cmd_help_t help); gboolean cmd_info(gchar **args, struct cmd_help_t help); gboolean cmd_intype(gchar **args, struct cmd_help_t help); gboolean cmd_invite(gchar **args, struct cmd_help_t help); diff --git a/src/ui/console.c b/src/ui/console.c index 46cb00fb..1c608dd9 100644 --- a/src/ui/console.c +++ b/src/ui/console.c @@ -1196,6 +1196,15 @@ cons_carbons_setting(void) cons_show("Message carbons (/carbons) : OFF"); } +void +cons_receipts_setting(void) +{ + if (prefs_get_boolean(PREF_RECEIPTS)) + cons_show("Message receipts (/reciepts) : ON"); + else + cons_show("Message receipts (/receipts) : OFF"); +} + void cons_show_chat_prefs(void) { diff --git a/src/ui/ui.h b/src/ui/ui.h index 1236b9d3..20685e92 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -318,6 +318,7 @@ void cons_intype_setting(void); void cons_gone_setting(void); void cons_history_setting(void); void cons_carbons_setting(void); +void cons_receipts_setting(void); void cons_log_setting(void); void cons_chlog_setting(void); void cons_grlog_setting(void); diff --git a/tests/ui/stub_ui.c b/tests/ui/stub_ui.c index 6b2698a2..3eeaa8ab 100644 --- a/tests/ui/stub_ui.c +++ b/tests/ui/stub_ui.c @@ -468,6 +468,7 @@ void cons_intype_setting(void) {} void cons_gone_setting(void) {} void cons_history_setting(void) {} void cons_carbons_setting(void) {} +void cons_receipts_setting(void) {} void cons_log_setting(void) {} void cons_chlog_setting(void) {} void cons_grlog_setting(void) {}