mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-18 22:56:22 +00:00
Merge pull request #1714 from MarcoPolo-PasTonMolo/feature/avatar-set
Add `/avatar set` command to publish avatar
This commit is contained in:
@@ -1057,6 +1057,7 @@ cmd_ac_init(void)
|
||||
autocomplete_add(correction_ac, "char");
|
||||
|
||||
avatar_ac = autocomplete_new();
|
||||
autocomplete_add(avatar_ac, "set");
|
||||
autocomplete_add(avatar_ac, "get");
|
||||
autocomplete_add(avatar_ac, "open");
|
||||
|
||||
@@ -4101,6 +4102,11 @@ _avatar_autocomplete(ProfWin* window, const char* const input, gboolean previous
|
||||
|
||||
jabber_conn_status_t conn_status = connection_get_status();
|
||||
if (conn_status == JABBER_CONNECTED) {
|
||||
result = cmd_ac_complete_filepath(input, "/avatar set", previous);
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
|
||||
result = autocomplete_param_with_func(input, "/avatar get", roster_barejid_autocomplete, previous, NULL);
|
||||
if (result) {
|
||||
return result;
|
||||
|
||||
@@ -2443,16 +2443,20 @@ static struct cmd_t command_defs[] = {
|
||||
CMD_TAGS(
|
||||
CMD_TAG_CHAT)
|
||||
CMD_SYN(
|
||||
"/avatar set <path>",
|
||||
"/avatar get <barejid>",
|
||||
"/avatar open <barejid>")
|
||||
CMD_DESC(
|
||||
"Upload avatar for oneself (XEP-0084). "
|
||||
"Download avatar (XEP-0084) for a certain contact. "
|
||||
"If nothing happens after using this command the user either doesn't have an avatar set at all "
|
||||
"or doesn't use XEP-0084 to publish it.")
|
||||
CMD_ARGS(
|
||||
{ "set <path>", "Set avatar to the image at <path>." },
|
||||
{ "get <barejid>", "Download the avatar. barejid is the JID to download avatar from." },
|
||||
{ "open <barejid>", "Download avatar and open it with command." })
|
||||
CMD_EXAMPLES(
|
||||
"/avatar set ~/images/avatar.png",
|
||||
"/avatar get thor@valhalla.edda",
|
||||
"/avatar open freyja@vanaheimr.edda") },
|
||||
|
||||
|
||||
@@ -9195,7 +9195,15 @@ cmd_avatar(ProfWin* window, const char* const command, gchar** args)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (g_strcmp0(args[0], "get") == 0) {
|
||||
if (g_strcmp0(args[0], "set") == 0) {
|
||||
#ifdef HAVE_PIXBUF
|
||||
if (avatar_set(args[1])) {
|
||||
cons_show("Avatar updated successfully");
|
||||
}
|
||||
#else
|
||||
cons_show("Profanity has not been built with GDK Pixbuf support enabled which is needed to scale the avatar when uploading.");
|
||||
#endif
|
||||
} else if (g_strcmp0(args[0], "get") == 0) {
|
||||
avatar_get_by_nick(args[1], false);
|
||||
} else if (g_strcmp0(args[0], "open") == 0) {
|
||||
avatar_get_by_nick(args[1], true);
|
||||
|
||||
Reference in New Issue
Block a user