src/gtkstatusbox.c

changeset 12060
02c6d16cb1ec
parent 11998
a831a9527053
child 12074
c377fb120662
--- a/src/gtkstatusbox.c	Sat Nov 12 23:11:23 2005 +0000
+++ b/src/gtkstatusbox.c	Sun Nov 13 00:05:44 2005 +0000
@@ -118,6 +118,7 @@
 	const GList *l;
 	int status_no = -1;
 	const GaimStatusType *statustype = NULL;
+	const char *message;
 
 	statustype = gaim_status_type_find_with_id((GList *)gaim_account_get_status_types(account),
 	                                           (char *)gaim_status_type_get_id(gaim_status_get_type(newstatus)));
@@ -136,9 +137,23 @@
 		gtk_widget_set_sensitive(GTK_WIDGET(status_box), FALSE);
 		gtk_combo_box_set_active(GTK_COMBO_BOX(status_box), status_no);
 		gtk_gaim_status_box_refresh(status_box);
+
+		message = gaim_status_get_attr_string(newstatus, "message");
+
+		if (!message || !*message)
+		{
+			gtk_widget_hide_all(status_box->vbox);
+			status_box->imhtml_visible = FALSE;
+		}
+		else
+		{
+			gtk_widget_show_all(status_box->vbox);
+			status_box->imhtml_visible = TRUE;
+			gtk_imhtml_clear(GTK_IMHTML(status_box->imhtml));
+			gtk_imhtml_append_text(GTK_IMHTML(status_box->imhtml), message, 0);
+		}
 		gtk_widget_set_sensitive(GTK_WIDGET(status_box), TRUE);
 	}
-
 }
 
 static void

mercurial