Mercurial > pidgin
diff src/buddy_chat.c @ 1920:5bed3bc833b5
[gaim-migrate @ 1930]
in addition, frombase64 mods, needed for buddy icon in toc.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Wed, 30 May 2001 18:26:52 +0000 |
| parents | 73d73939f698 |
| children | 352bd24e03ef |
line wrap: on
line diff
--- a/src/buddy_chat.c Wed May 30 07:59:35 2001 +0000 +++ b/src/buddy_chat.c Wed May 30 18:26:52 2001 +0000 @@ -441,6 +441,13 @@ } +void topic_callback(GtkWidget *widget, struct conversation *b) { + char *buf = gtk_entry_get_text(GTK_ENTRY(widget));; + + serv_chat_set_topic(b->gc, b->id, buf); + + g_free(buf); +} static gint insertname(gconstpointer one, gconstpointer two) { @@ -831,7 +838,7 @@ gtk_notebook_append_page(GTK_NOTEBOOK(chat_notebook), cont, gtk_label_new(b->name)); gtk_widget_show(cont); } else { - cont = win = gtk_window_new(GTK_WINDOW_TOPLEVEL); + win = gtk_window_new(GTK_WINDOW_TOPLEVEL); b->window = win; gtk_object_set_user_data(GTK_OBJECT(win), b); gtk_window_set_wmclass(GTK_WINDOW(win), "buddy_chat", "Gaim"); @@ -842,6 +849,29 @@ g_snprintf(buf, sizeof(buf), "Gaim - %s (chat)", b->name); gtk_window_set_title(GTK_WINDOW(win), buf); gtk_signal_connect(GTK_OBJECT(win), "destroy", GTK_SIGNAL_FUNC(close_callback), b); + + cont = gtk_vbox_new(FALSE,5); + gtk_container_add(GTK_CONTAINER(win), cont); + gtk_widget_show(cont); + } + + if (b->gc->prpl->options & OPT_PROTO_CHAT_TOPIC) { + GtkWidget *hbox; + GtkWidget *label; + + hbox = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(cont), hbox, FALSE, FALSE, 5); + gtk_widget_show(hbox); + + label = gtk_label_new(_("Topic:")); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); + gtk_widget_show(label); + + b->topic_text = gtk_entry_new(); + gtk_signal_connect(GTK_OBJECT(b->topic_text), "activate", + GTK_SIGNAL_FUNC(topic_callback), b); + gtk_box_pack_start(GTK_BOX(hbox), b->topic_text, TRUE, TRUE, 5); + gtk_widget_show(b->topic_text); } vpaned = gtk_vpaned_new(); @@ -979,6 +1009,14 @@ gtk_widget_show(win); } +void chat_set_topic(struct conversation *b, char* who, char* topic) { + + debug_printf("event_chat_topic: \"%s\" \"%s\" %s\n", b->name, who, topic); + + gtk_entry_set_text(GTK_ENTRY(b->topic_text), topic); + +} + void handle_click_chat(GtkWidget *widget, GdkEventButton * event, struct chat_room *cr)
