Added tox_connected_identities and tox_disconnected_identities.

This commit is contained in:
Håvard Pettersson 2014-09-19 18:55:50 +02:00
parent 3731737800
commit 4882e83970

View File

@ -1,4 +1,5 @@
#include <stdlib.h> #include <stdlib.h>
#include <inttypes.h>
#include <weechat/weechat-plugin.h> #include <weechat/weechat-plugin.h>
@ -7,20 +8,34 @@
#include "tox-weechat-completion.h" #include "tox-weechat-completion.h"
enum
{
TOX_WEECHAT_ALL_IDENTITIES,
TOX_WEECHAT_CONNECTED_IDENTITIES,
TOX_WEECHAT_DISCONNECTED_IDENTITIES,
};
int int
tox_weechat_completion_identity(void *data, tox_weechat_completion_identity(void *data,
const char *completion_item, const char *completion_item,
struct t_gui_buffer *buffer, struct t_gui_buffer *buffer,
struct t_gui_completion *completion) struct t_gui_completion *completion)
{ {
int flag = (int)(intptr_t)data;
for (struct t_tox_weechat_identity *identity = tox_weechat_identities; for (struct t_tox_weechat_identity *identity = tox_weechat_identities;
identity; identity;
identity = identity->next_identity) identity = identity->next_identity)
{ {
weechat_hook_completion_list_add(completion, if (flag == TOX_WEECHAT_ALL_IDENTITIES
identity->name, || (flag == TOX_WEECHAT_CONNECTED_IDENTITIES && identity->tox != NULL)
0, || (flag == TOX_WEECHAT_DISCONNECTED_IDENTITIES && identity->tox == NULL))
WEECHAT_LIST_POS_SORT); {
weechat_hook_completion_list_add(completion,
identity->name,
0,
WEECHAT_LIST_POS_SORT);
}
} }
return WEECHAT_RC_OK; return WEECHAT_RC_OK;
@ -31,5 +46,14 @@ tox_weechat_completion_init()
{ {
weechat_hook_completion("tox_identities", weechat_hook_completion("tox_identities",
"identity", "identity",
tox_weechat_completion_identity, NULL); tox_weechat_completion_identity,
(void *)(intptr_t)TOX_WEECHAT_ALL_IDENTITIES);
weechat_hook_completion("tox_connected_identities",
"identity",
tox_weechat_completion_identity,
(void *)(intptr_t)TOX_WEECHAT_CONNECTED_IDENTITIES);
weechat_hook_completion("tox_disconnected_identities",
"identity",
tox_weechat_completion_identity,
(void *)(intptr_t)TOX_WEECHAT_DISCONNECTED_IDENTITIES);
} }