示例#1
0
static void
sig_nick_changed(MUC_REC *channel)
{
	if (!IS_MUC(channel))
		return;
	if (MUC(active_win->active) == channel)
		update_nick_statusbar(channel->server, channel, TRUE);
}
示例#2
0
static void
sig_channel_destroyed(MUC_REC *channel)
{
	g_return_if_fail(channel != NULL);

	if (!IS_MUC(channel))
		return;
	if (MUC(active_win->active) == channel)
		update_nick_statusbar(channel->server, NULL, TRUE);
}
示例#3
0
static void
sig_window_changed(WINDOW_REC *window, WINDOW_REC *oldwindow)
{
	XMPP_SERVER_REC *server;

	g_return_if_fail(window != NULL);
	if ((server = XMPP_SERVER(window->active_server)) == NULL)
		return;
	update_nick_statusbar(server, MUC(window->active), FALSE);
}
示例#4
0
static void
sig_window_destroyed(WINDOW_REC *window)
{
	XMPP_SERVER_REC *server;
	MUC_REC *channel;

	g_return_if_fail(window != NULL);
	if ((server = XMPP_SERVER(window->active_server)) == NULL)
		return;
	channel = MUC(window->active);
	if (channel != NULL || !IS_MUC(active_win->active))
		update_nick_statusbar(server, NULL, TRUE);
}
示例#5
0
static void
sig_set_presence(XMPP_SERVER_REC *server, const int show, const char *status,
    const int priority)
{
	GSList *tmp;
	MUC_REC *channel;

	g_return_if_fail(IS_XMPP_SERVER(server));
	if (!server->connected)
		return;
	for (tmp = server->channels; tmp != NULL; tmp = tmp->next) {
		channel = MUC(tmp->data);
		send_muc_presence(channel, show, status);
	}
}