Mercurial > pidgin
diff src/conversation.c @ 573:9566a53cde23
[gaim-migrate @ 583]
ctl-[bius] for inserting HTML, more perl mods, and props to X-Chat
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Tue, 01 Aug 2000 23:25:23 +0000 |
parents | 93c65fbaa622 |
children | a33616e4e48d |
line wrap: on
line diff
--- a/src/conversation.c Tue Aug 01 22:59:00 2000 +0000 +++ b/src/conversation.c Tue Aug 01 23:25:23 2000 +0000 @@ -452,21 +452,44 @@ gboolean keypress_callback(GtkWidget *entry, GdkEventKey *event, struct conversation *c) { - int pos; - if(event->keyval==GDK_Return) { - if(!(event->state & GDK_SHIFT_MASK) - && (general_options & OPT_GEN_ENTER_SENDS)) { - gtk_signal_emit_by_name(GTK_OBJECT(entry), "activate", c); - //to stop the putting in of the enter character - gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); - } else { - gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); - pos=gtk_editable_get_position(GTK_EDITABLE(entry)); - gtk_editable_insert_text(GTK_EDITABLE(entry), "\n", 1, &pos); - } - } + int pos; + if(event->keyval==GDK_Return) { + if(!(event->state & GDK_SHIFT_MASK) + && (general_options & OPT_GEN_ENTER_SENDS)) { + gtk_signal_emit_by_name(GTK_OBJECT(entry), "activate", c); + //to stop the putting in of the enter character + gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); + } else { + gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); + pos=gtk_editable_get_position(GTK_EDITABLE(entry)); + gtk_editable_insert_text(GTK_EDITABLE(entry), "\n", 1, &pos); + } + } else if (event->state & GDK_CONTROL_MASK) { + switch (event->keyval) { + case 'i': + quiet_set(c->italic, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->italic))); + do_italic(c->italic, c->entry); + gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); + break; + case 'u': /* ctl-u is GDK_Clear, which clears the line */ + quiet_set(c->underline, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->underline))); + do_underline(c->underline, c->entry); + gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); + break; + case 'b': /* ctl-b is GDK_Left, which moves backwards */ + quiet_set(c->bold, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->bold))); + do_bold(c->bold, c->entry); + gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); + break; + case 's': + quiet_set(c->strike, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->strike))); + do_strike(c->strike, c->entry); + gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); + break; + } + } - return TRUE; + return TRUE; }