Пример #1
0
static gint delete_win_cb(GtkWidget *w, GdkEventAny *e, gpointer d)
{
	PidginRoomlistDialog *dialog = d;

	if (dialog->roomlist && purple_roomlist_get_in_progress(dialog->roomlist))
		purple_roomlist_cancel_get_list(dialog->roomlist);

	if (dialog->pg_update_to > 0)
		purple_timeout_remove(dialog->pg_update_to);

	if (dialog->roomlist) {
		PidginRoomlist *rl = dialog->roomlist->ui_data;

		if (dialog->pg_update_to > 0)
			/* yes, that's right, unref it twice. */
			purple_roomlist_unref(dialog->roomlist);

		if (rl)
			rl->dialog = NULL;
		purple_roomlist_unref(dialog->roomlist);
	}

	dialog->progress = NULL;
	g_free(dialog);

	return FALSE;
}
Пример #2
0
static void stop_button_cb(GtkButton *button, PidginRoomlistDialog *dialog)
{
	purple_roomlist_cancel_get_list(dialog->roomlist);

	if (dialog->account_widget)
		gtk_widget_set_sensitive(dialog->account_widget, TRUE);

	gtk_widget_set_sensitive(dialog->stop_button, FALSE);
	gtk_widget_set_sensitive(dialog->list_button, TRUE);
	gtk_widget_set_sensitive(dialog->add_button, FALSE);
	gtk_widget_set_sensitive(dialog->join_button, FALSE);
}
Пример #3
0
static void
roomlist_account_changed(GntWidget *widget, gpointer old, gpointer current, gpointer null)
{
	if (froomlist.account == current) {
		return;
	}

	froomlist.account = current;
	if (froomlist.roomlist) {
		if (purple_roomlist_get_in_progress(froomlist.roomlist))
			purple_roomlist_cancel_get_list(froomlist.roomlist);
		update_roomlist(NULL);
	}

	gnt_tree_remove_all(GNT_TREE(froomlist.tree));
	gnt_widget_draw(froomlist.tree);
}
Пример #4
0
static void fl_stop(GntWidget *button, gpointer null)
{
	if (froomlist.roomlist &&
			purple_roomlist_get_in_progress(froomlist.roomlist))
		purple_roomlist_cancel_get_list(froomlist.roomlist);
}