| 386 break; |
386 break; |
| 387 |
387 |
| 388 case 'b': /* ctrl-b is GDK_Left, which moves backwards. */ |
388 case 'b': /* ctrl-b is GDK_Left, which moves backwards. */ |
| 389 case 'B': |
389 case 'B': |
| 390 if (imhtml->format_functions & GTK_IMHTML_BOLD) { |
390 if (imhtml->format_functions & GTK_IMHTML_BOLD) { |
| 391 gtk_imhtml_toggle_bold(imhtml); |
391 if(imhtml->html_shortcuts) { |
| 392 object = g_object_ref(G_OBJECT(imhtml)); |
392 gtk_imhtml_toggle_bold(imhtml); |
| 393 g_signal_emit(object, signals[TOGGLE_FORMAT], 0, GTK_IMHTML_BOLD); |
393 object = g_object_ref(G_OBJECT(imhtml)); |
| 394 g_object_unref(object); |
394 g_signal_emit(object, signals[TOGGLE_FORMAT], 0, GTK_IMHTML_BOLD); |
| |
395 g_object_unref(object); |
| |
396 } |
| 395 } |
397 } |
| 396 return TRUE; |
398 return TRUE; |
| 397 break; |
399 break; |
| 398 |
400 |
| 399 case 'f': |
401 case 'f': |
| 406 break; |
408 break; |
| 407 |
409 |
| 408 case 'i': |
410 case 'i': |
| 409 case 'I': |
411 case 'I': |
| 410 if (imhtml->format_functions & GTK_IMHTML_ITALIC) |
412 if (imhtml->format_functions & GTK_IMHTML_ITALIC) |
| 411 gtk_imhtml_toggle_italic(imhtml); |
413 if(imhtml->html_shortcuts) |
| |
414 gtk_imhtml_toggle_italic(imhtml); |
| 412 return TRUE; |
415 return TRUE; |
| 413 break; |
416 break; |
| 414 |
417 |
| 415 case 'u': /* ctrl-u is GDK_Clear, which clears the line. */ |
418 case 'u': /* ctrl-u is GDK_Clear, which clears the line. */ |
| 416 case 'U': |
419 case 'U': |
| 417 if (imhtml->format_functions & GTK_IMHTML_UNDERLINE) |
420 if (imhtml->format_functions & GTK_IMHTML_UNDERLINE) |
| 418 gtk_imhtml_toggle_underline(imhtml); |
421 if(imhtml->html_shortcuts) |
| |
422 gtk_imhtml_toggle_underline(imhtml); |
| 419 return TRUE; |
423 return TRUE; |
| 420 break; |
424 break; |
| 421 |
425 |
| 422 case '-': |
426 case '-': |
| 423 if (imhtml->format_functions & GTK_IMHTML_SHRINK) |
427 if (imhtml->format_functions & GTK_IMHTML_SHRINK) |
| 447 case '%': strcpy(buf, ":-/"); break; |
451 case '%': strcpy(buf, ":-/"); break; |
| 448 case '^': strcpy(buf, ":'("); break; |
452 case '^': strcpy(buf, ":'("); break; |
| 449 case '&': strcpy(buf, ":-X"); break; |
453 case '&': strcpy(buf, ":-X"); break; |
| 450 case '*': strcpy(buf, ":-D"); break; |
454 case '*': strcpy(buf, ":-D"); break; |
| 451 } |
455 } |
| 452 if (*buf) { |
456 if (*buf && imhtml->smiley_shortcuts) { |
| 453 gtk_imhtml_insert_smiley(imhtml, NULL, buf);//->account->protocol_id, buf); |
457 gtk_imhtml_insert_smiley(imhtml, imhtml->protocol_name, buf); |
| 454 return TRUE; |
458 return TRUE; |
| 455 } |
459 } |
| 456 return FALSE; |
460 return FALSE; |
| 457 } |
461 } |
| 458 |
462 |
| 582 g_hash_table_destroy(imhtml->smiley_data); |
586 g_hash_table_destroy(imhtml->smiley_data); |
| 583 gtk_smiley_tree_destroy(imhtml->default_smilies); |
587 gtk_smiley_tree_destroy(imhtml->default_smilies); |
| 584 gdk_cursor_unref(imhtml->hand_cursor); |
588 gdk_cursor_unref(imhtml->hand_cursor); |
| 585 gdk_cursor_unref(imhtml->arrow_cursor); |
589 gdk_cursor_unref(imhtml->arrow_cursor); |
| 586 gdk_cursor_unref(imhtml->text_cursor); |
590 gdk_cursor_unref(imhtml->text_cursor); |
| |
591 |
| 587 if(imhtml->tip_window){ |
592 if(imhtml->tip_window){ |
| 588 gtk_widget_destroy(imhtml->tip_window); |
593 gtk_widget_destroy(imhtml->tip_window); |
| 589 } |
594 } |
| 590 if(imhtml->tip_timer) |
595 if(imhtml->tip_timer) |
| 591 gtk_timeout_remove(imhtml->tip_timer); |
596 gtk_timeout_remove(imhtml->tip_timer); |
| 2054 gboolean show) |
2059 gboolean show) |
| 2055 { |
2060 { |
| 2056 imhtml->show_comments = show; |
2061 imhtml->show_comments = show; |
| 2057 } |
2062 } |
| 2058 |
2063 |
| |
2064 void gtk_imhtml_html_shortcuts (GtkIMHtml *imhtml, |
| |
2065 gboolean allow) |
| |
2066 { |
| |
2067 imhtml->html_shortcuts = allow; |
| |
2068 } |
| |
2069 |
| |
2070 void gtk_imhtml_smiley_shortcuts (GtkIMHtml *imhtml, |
| |
2071 gboolean allow) |
| |
2072 { |
| |
2073 imhtml->smiley_shortcuts = allow; |
| |
2074 } |
| |
2075 |
| |
2076 void |
| |
2077 gtk_imhtml_set_protocol_name(GtkIMHtml *imhtml, gchar *protocol_name) { |
| |
2078 imhtml->protocol_name = protocol_name; |
| |
2079 } |
| |
2080 |
| 2059 void |
2081 void |
| 2060 gtk_imhtml_clear (GtkIMHtml *imhtml) |
2082 gtk_imhtml_clear (GtkIMHtml *imhtml) |
| 2061 { |
2083 { |
| 2062 GList *del; |
2084 GList *del; |
| 2063 GtkTextIter start, end; |
2085 GtkTextIter start, end; |
| 3016 gtk_text_buffer_get_start_iter(imhtml->text_buffer, &start_iter); |
3038 gtk_text_buffer_get_start_iter(imhtml->text_buffer, &start_iter); |
| 3017 gtk_text_buffer_get_end_iter(imhtml->text_buffer, &end_iter); |
3039 gtk_text_buffer_get_end_iter(imhtml->text_buffer, &end_iter); |
| 3018 return gtk_text_buffer_get_text(imhtml->text_buffer, &start_iter, &end_iter, FALSE); |
3040 return gtk_text_buffer_get_text(imhtml->text_buffer, &start_iter, &end_iter, FALSE); |
| 3019 |
3041 |
| 3020 } |
3042 } |
| 3021 |
|