diff options
-rw-r--r-- | src/command/cmd_ac.c | 2 | ||||
-rw-r--r-- | src/command/cmd_defs.c | 15 | ||||
-rw-r--r-- | src/command/cmd_funcs.c | 8 | ||||
-rw-r--r-- | src/command/cmd_funcs.h | 1 | ||||
-rw-r--r-- | src/ui/console.c | 10 | ||||
-rw-r--r-- | src/ui/ui.h | 1 |
6 files changed, 36 insertions, 1 deletions
diff --git a/src/command/cmd_ac.c b/src/command/cmd_ac.c index db885ceb..0ee9af9f 100644 --- a/src/command/cmd_ac.c +++ b/src/command/cmd_ac.c @@ -1508,7 +1508,7 @@ _cmd_ac_complete_params(ProfWin *window, const char *const input, gboolean previ // autocomplete boolean settings gchar *boolean_choices[] = { "/beep", "/intype", "/states", "/outtype", "/flash", "/splash", - "/history", "/vercheck", "/privileges", "/wrap", "/carbons", "/lastactivity"}; + "/history", "/vercheck", "/privileges", "/wrap", "/carbons", "/lastactivity", "/os"}; for (i = 0; i < ARRAY_SIZE(boolean_choices); i++) { result = autocomplete_param_with_func(input, boolean_choices[i], prefs_autocomplete_boolean_choice, previous); diff --git a/src/command/cmd_defs.c b/src/command/cmd_defs.c index 16cf5c7f..b1ba363f 100644 --- a/src/command/cmd_defs.c +++ b/src/command/cmd_defs.c @@ -2344,6 +2344,21 @@ static struct cmd_t command_defs[] = { "<barejid>", "JID to download avatar from."}) CMD_NOEXAMPLES }, + + { "/os", + parse_args, 1, 1, &cons_os_setting, + CMD_NOSUBFUNCS + CMD_MAINFUNC(cmd_os) + CMD_TAGS( + CMD_TAG_DISCOVERY) + CMD_SYN( + "/os <on>|<off>") + CMD_DESC( + "Choose whether to include the OS name if a user asks for software information (XEP-0092).") + CMD_ARGS( + { "on|off", ""}) + CMD_NOEXAMPLES + }, }; static GHashTable *search_index; diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index d9fc0ed6..a0d40cdd 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -8640,3 +8640,11 @@ cmd_avatar(ProfWin *window, const char *const command, gchar **args) return TRUE; } + +gboolean +cmd_os(ProfWin *window, const char *const command, gchar **args) +{ + _cmd_set_boolean_preference(args[0], command, "Revealing OS name", PREF_REVEAL_OS); + + return TRUE; +} diff --git a/src/command/cmd_funcs.h b/src/command/cmd_funcs.h index 74cab615..a743951f 100644 --- a/src/command/cmd_funcs.h +++ b/src/command/cmd_funcs.h @@ -226,4 +226,5 @@ gboolean cmd_reload(ProfWin *window, const char *const command, gchar **args); gboolean cmd_paste(ProfWin *window, const char *const command, gchar **args); gboolean cmd_color(ProfWin *window, const char *const command, gchar **args); gboolean cmd_avatar(ProfWin *window, const char *const command, gchar **args); +gboolean cmd_os(ProfWin *window, const char *const command, gchar **args); #endif diff --git a/src/ui/console.c b/src/ui/console.c index 49103fcf..1a716a7a 100644 --- a/src/ui/console.c +++ b/src/ui/console.c @@ -2012,6 +2012,16 @@ cons_color_setting(void) } void +cons_os_setting(void) +{ + if (prefs_get_boolean(PREF_REVEAL_OS)) { + cons_show("Reveal OS name when asked for software version (XEP-0092) (/os) : ON"); + } else { + cons_show("Reveal OS name when asked for software version (XEP-0092) (/os) : OFF"); + } +} + +void cons_show_connection_prefs(void) { cons_show("Connection preferences:"); diff --git a/src/ui/ui.h b/src/ui/ui.h index 1d811e55..4783131e 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -318,6 +318,7 @@ void cons_inpblock_setting(void); void cons_statusbar_setting(void); void cons_winpos_setting(void); void cons_color_setting(void); +void cons_os_setting(void); void cons_show_contact_online(PContact contact, Resource *resource, GDateTime *last_activity); void cons_show_contact_offline(PContact contact, char *resource, char *status); void cons_theme_properties(void); |