Added tox_connected_identities and tox_disconnected_identities.
This commit is contained in:
parent
3731737800
commit
4882e83970
@ -1,4 +1,5 @@
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include <weechat/weechat-plugin.h>
|
||||
|
||||
@ -7,20 +8,34 @@
|
||||
|
||||
#include "tox-weechat-completion.h"
|
||||
|
||||
enum
|
||||
{
|
||||
TOX_WEECHAT_ALL_IDENTITIES,
|
||||
TOX_WEECHAT_CONNECTED_IDENTITIES,
|
||||
TOX_WEECHAT_DISCONNECTED_IDENTITIES,
|
||||
};
|
||||
|
||||
int
|
||||
tox_weechat_completion_identity(void *data,
|
||||
const char *completion_item,
|
||||
struct t_gui_buffer *buffer,
|
||||
struct t_gui_completion *completion)
|
||||
{
|
||||
int flag = (int)(intptr_t)data;
|
||||
|
||||
for (struct t_tox_weechat_identity *identity = tox_weechat_identities;
|
||||
identity;
|
||||
identity = identity->next_identity)
|
||||
{
|
||||
weechat_hook_completion_list_add(completion,
|
||||
identity->name,
|
||||
0,
|
||||
WEECHAT_LIST_POS_SORT);
|
||||
if (flag == TOX_WEECHAT_ALL_IDENTITIES
|
||||
|| (flag == TOX_WEECHAT_CONNECTED_IDENTITIES && identity->tox != NULL)
|
||||
|| (flag == TOX_WEECHAT_DISCONNECTED_IDENTITIES && identity->tox == NULL))
|
||||
{
|
||||
weechat_hook_completion_list_add(completion,
|
||||
identity->name,
|
||||
0,
|
||||
WEECHAT_LIST_POS_SORT);
|
||||
}
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
@ -31,5 +46,14 @@ tox_weechat_completion_init()
|
||||
{
|
||||
weechat_hook_completion("tox_identities",
|
||||
"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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user