Make mood display optional
This commit is contained in:
@@ -1079,6 +1079,8 @@ cmd_ac_init(void)
|
||||
mood_ac = autocomplete_new();
|
||||
autocomplete_add(mood_ac, "set");
|
||||
autocomplete_add(mood_ac, "clear");
|
||||
autocomplete_add(mood_ac, "on");
|
||||
autocomplete_add(mood_ac, "off");
|
||||
mood_type_ac = autocomplete_new();
|
||||
autocomplete_add(mood_type_ac, "afraid");
|
||||
autocomplete_add(mood_type_ac, "amazed");
|
||||
|
||||
@@ -2720,11 +2720,13 @@ static struct cmd_t command_defs[] = {
|
||||
CMD_TAGS(
|
||||
CMD_TAG_CHAT)
|
||||
CMD_SYN(
|
||||
"/mood on|off",
|
||||
"/mood set <mood> [text]",
|
||||
"/mood clear")
|
||||
CMD_DESC(
|
||||
"Set your mood (XEP-0107).")
|
||||
CMD_ARGS(
|
||||
{ "on|off", "Enable or disable displaying the mood of other users. On by default."},
|
||||
{ "set <mood> [text]", "Set user mood to <mood> with an optional [text]. Use /mood set <tab> to toggle through predfined moods." },
|
||||
{ "clear", "Clear your user mood." })
|
||||
CMD_EXAMPLES(
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
#include "xmpp/muc.h"
|
||||
#include "xmpp/chat_session.h"
|
||||
#include "xmpp/avatar.h"
|
||||
#include "xmpp/stanza.h"
|
||||
|
||||
#ifdef HAVE_LIBOTR
|
||||
#include "otr/otr.h"
|
||||
@@ -9769,7 +9770,13 @@ cmd_register(ProfWin* window, const char* const command, gchar** args)
|
||||
gboolean
|
||||
cmd_mood(ProfWin* window, const char* const command, gchar** args)
|
||||
{
|
||||
if (g_strcmp0(args[0], "set") == 0) {
|
||||
if (g_strcmp0(args[0], "on") == 0) {
|
||||
_cmd_set_boolean_preference(args[0], command, "User mood", PREF_MOOD);
|
||||
caps_add_feature(STANZA_NS_MOOD_NOTIFY);
|
||||
} else if (g_strcmp0(args[0], "off") == 0) {
|
||||
_cmd_set_boolean_preference(args[0], command, "User mood", PREF_MOOD);
|
||||
caps_remove_feature(STANZA_NS_MOOD_NOTIFY);
|
||||
} else if (g_strcmp0(args[0], "set") == 0) {
|
||||
if (args[1]) {
|
||||
cons_show("Your mood: %s", args[1]);
|
||||
if (args[2]) {
|
||||
@@ -9782,5 +9789,6 @@ cmd_mood(ProfWin* window, const char* const command, gchar** args)
|
||||
cons_show("Clearing the user mood.");
|
||||
publish_user_mood(NULL, NULL);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user