Beispiel #1
0
void window_add_item(WINDOW_REC *window, WI_ITEM_REC *item, int automatic)
{
	g_return_if_fail(window != NULL);
	g_return_if_fail(item != NULL);

	MODULE_DATA_SET(item, window);

	if (window->items == NULL) {
		window->active = item;
		window->active_server = item->server;
	}

	signal_emit("gui window item init", 1, item);

	if (!automatic || settings_get_bool("window_auto_change")) {
		if (automatic)
			signal_emit("window changed automatic", 1, window);
		window_set_active(window);
	}

	window->items = g_slist_append(window->items, item);
	signal_emit("window item new", 2, window, item);

	if (!automatic || g_slist_length(window->items) == 1) {
                window->active = NULL;
		window_item_set_active(window, item);
	}
}
Beispiel #2
0
/* Initialize flood protection */
static void flood_init_server(IRC_SERVER_REC *server)
{
	MODULE_SERVER_REC *rec;

	g_return_if_fail(server != NULL);

	rec = g_new0(MODULE_SERVER_REC, 1);
	MODULE_DATA_SET(server, rec);

	rec->floodlist = g_hash_table_new((GHashFunc) g_istr_hash, (GCompareFunc) g_istr_equal);
}
Beispiel #3
0
static void notifylist_init_server(IRC_SERVER_REC *server)
{
	MODULE_SERVER_REC *rec;

	g_return_if_fail(server != NULL);

	rec = g_new0(MODULE_SERVER_REC,1 );
	MODULE_DATA_SET(server, rec);

	server_redirect_init((SERVER_REC *) server, "command ison", 1, ISON_EVENT, NULL);
}
Beispiel #4
0
static void notifylist_init_server(IRC_SERVER_REC *server)
{
	MODULE_SERVER_REC *rec;

	g_return_if_fail(server != NULL);

	if (!IS_IRC_SERVER(server))
		return;

	rec = g_new0(MODULE_SERVER_REC,1 );
	MODULE_DATA_SET(server, rec);
}
Beispiel #5
0
static void sig_channel_created(Channel *channel)
{
	ChannelGui *gui;

	gui = g_new0(ChannelGui, 1);
	gui->channel = channel;
	gui->nicklist = gui_nicklist_new(channel);
	gui->get_title = _get_title;

	MODULE_DATA_SET(channel, gui);

	signal_emit("gui channel created", 1, gui);
}
Beispiel #6
0
void window_remove_item(WINDOW_REC *window, WI_ITEM_REC *item)
{
	g_return_if_fail(window != NULL);
	g_return_if_fail(item != NULL);

	if (g_slist_find(window->items, item) == NULL)
		return;

	MODULE_DATA_SET(item, NULL);
	window->items = g_slist_remove(window->items, item);

	if (window->active == item) {
		window_item_set_active(window, window->items == NULL ? NULL :
				       window->items->data);
	}

	signal_emit("window item remove", 2, window, item);
}
Beispiel #7
0
static void sig_connected(SERVER_REC *server)
{
	MODULE_DATA_SET(server, g_new0(MODULE_SERVER_REC, 1));
}
Beispiel #8
0
static void sig_channel_created(CHANNEL_REC *channel)
{
	MODULE_DATA_SET(channel, g_new0(MODULE_CHANNEL_REC, 1));
}