comparison 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
comparison
equal deleted inserted replaced
572:faca21605e1b 573:9566a53cde23
450 } 450 }
451 } 451 }
452 452
453 gboolean keypress_callback(GtkWidget *entry, GdkEventKey *event, struct conversation *c) 453 gboolean keypress_callback(GtkWidget *entry, GdkEventKey *event, struct conversation *c)
454 { 454 {
455 int pos; 455 int pos;
456 if(event->keyval==GDK_Return) { 456 if(event->keyval==GDK_Return) {
457 if(!(event->state & GDK_SHIFT_MASK) 457 if(!(event->state & GDK_SHIFT_MASK)
458 && (general_options & OPT_GEN_ENTER_SENDS)) { 458 && (general_options & OPT_GEN_ENTER_SENDS)) {
459 gtk_signal_emit_by_name(GTK_OBJECT(entry), "activate", c); 459 gtk_signal_emit_by_name(GTK_OBJECT(entry), "activate", c);
460 //to stop the putting in of the enter character 460 //to stop the putting in of the enter character
461 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); 461 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
462 } else { 462 } else {
463 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); 463 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
464 pos=gtk_editable_get_position(GTK_EDITABLE(entry)); 464 pos=gtk_editable_get_position(GTK_EDITABLE(entry));
465 gtk_editable_insert_text(GTK_EDITABLE(entry), "\n", 1, &pos); 465 gtk_editable_insert_text(GTK_EDITABLE(entry), "\n", 1, &pos);
466 } 466 }
467 } 467 } else if (event->state & GDK_CONTROL_MASK) {
468 468 switch (event->keyval) {
469 return TRUE; 469 case 'i':
470 quiet_set(c->italic, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->italic)));
471 do_italic(c->italic, c->entry);
472 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
473 break;
474 case 'u': /* ctl-u is GDK_Clear, which clears the line */
475 quiet_set(c->underline, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->underline)));
476 do_underline(c->underline, c->entry);
477 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
478 break;
479 case 'b': /* ctl-b is GDK_Left, which moves backwards */
480 quiet_set(c->bold, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->bold)));
481 do_bold(c->bold, c->entry);
482 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
483 break;
484 case 's':
485 quiet_set(c->strike, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(c->strike)));
486 do_strike(c->strike, c->entry);
487 gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
488 break;
489 }
490 }
491
492 return TRUE;
470 493
471 } 494 }
472 495
473 496
474 void send_callback(GtkWidget *widget, struct conversation *c) 497 void send_callback(GtkWidget *widget, struct conversation *c)