Mercurial > pidgin
diff src/buddy_chat.c @ 300:b32c83750104
[gaim-migrate @ 310]
Pressing enter to send in buddy chats works again, and the CONFIG stuff works
a little bit better, I hope.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Thu, 01 Jun 2000 03:06:27 +0000 |
| parents | cffec6a16d31 |
| children | 9d258a0aa560 |
line wrap: on
line diff
--- a/src/buddy_chat.c Thu Jun 01 01:43:01 2000 +0000 +++ b/src/buddy_chat.c Thu Jun 01 03:06:27 2000 +0000 @@ -27,6 +27,7 @@ #include <gtk/gtk.h> #include "gaim.h" #include "gtkhtml.h" +#include <gdk/gdkkeysyms.h> static GtkWidget *joinchat; static GtkWidget *entry; @@ -325,6 +326,25 @@ } +static gboolean chat_keypress_callback(GtkWidget *entry, GdkEventKey *event, struct buddy_chat *b) +{ + int pos; + if (event->keyval == GDK_Return) { + if (!(event->state & GDK_SHIFT_MASK)) { + gtk_signal_emit_by_name(GTK_OBJECT(entry), "activate", b); + gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); + } else { + gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "keypress_event"); + pos = gtk_editable_get_position(GTK_EDITABLE(entry)); + gtk_editable_insert_text(GTK_EDITABLE(entry), "\n", 1, &pos); + } + } + + return TRUE; + +} + + void update_chat_list(struct buddy_chat *b) { GtkWidget *list_item; @@ -506,6 +526,7 @@ /* Hack something so we know have an entry click event */ gtk_signal_connect(GTK_OBJECT(chatentry), "activate", GTK_SIGNAL_FUNC(send_callback),b); + gtk_signal_connect(GTK_OBJECT(chatentry), "key_press_event", GTK_SIGNAL_FUNC(chat_keypress_callback), b); /* Text box */ sw = gtk_scrolled_window_new (NULL, NULL);
