diff src/gtkaccount.c @ 5615:6500a6c8d679

[gaim-migrate @ 6022] Checkboxes update! committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Sat, 31 May 2003 18:35:22 +0000
parents 57165429ed73
children feb012e01741
line wrap: on
line diff
--- a/src/gtkaccount.c	Sat May 31 18:11:06 2003 +0000
+++ b/src/gtkaccount.c	Sat May 31 18:35:22 2003 +0000
@@ -22,6 +22,7 @@
  */
 #include "gtkaccount.h"
 #include "account.h"
+#include "event.h"
 #include "prefs.h"
 #include "stock.h"
 #include "gtkblist.h"
@@ -58,6 +59,27 @@
 	return ((p && p->info->name) ? _(p->info->name) : _("Unknown"));
 }
 
+static void
+__account_signed_on_cb(GaimConnection *gc, AccountsDialog *dialog)
+{
+	
+}
+
+static void
+__signed_on_off_cb(GaimConnection *gc, AccountsDialog *dialog)
+{
+	GaimAccount *account = gaim_connection_get_account(gc);
+	GtkTreeModel *model = GTK_TREE_MODEL(dialog->model);
+	GtkTreeIter iter;
+	size_t index = g_list_index(gaim_accounts_get_all(), account);
+
+	if (gtk_tree_model_iter_nth_child(model, &iter, NULL, index)) {
+		gtk_list_store_set(dialog->model, &iter,
+						   COLUMN_ONLINE, gaim_account_is_connected(account),
+						   -1);
+	}
+}
+
 static gint
 __window_destroy_cb(GtkWidget *w, GdkEvent *event, void *unused)
 {
@@ -375,6 +397,10 @@
 	g_signal_connect(G_OBJECT(button), "clicked",
 					 G_CALLBACK(__close_accounts_cb), dialog);
 
+	/* Setup some gaim signal handlers. */
+	gaim_signal_connect(dialog, event_signon,  __signed_on_off_cb, dialog);
+	gaim_signal_connect(dialog, event_signoff, __signed_on_off_cb, dialog);
+
 	gtk_widget_show(win);
 }