Mercurial > pidgin.yaz
comparison src/dialogs.c @ 5275:8bd4f777489f
[gaim-migrate @ 5647]
inserting a smiley now replaces any hilighted text, like you'd think it would.
also gets rid of a gtk warning when adding a smiley
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Thu, 01 May 2003 17:47:32 +0000 |
parents | 4ac135a2f422 |
children | d579d5367836 |
comparison
equal
deleted
inserted
replaced
5274:ad299f62b9b6 | 5275:8bd4f777489f |
---|---|
3471 | 3471 |
3472 if (gtkconv->toolbar.smiley) { | 3472 if (gtkconv->toolbar.smiley) { |
3473 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), | 3473 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
3474 FALSE); | 3474 FALSE); |
3475 } | 3475 } |
3476 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley); | 3476 if(gtkconv->dialogs.smiley) { |
3477 gtk_widget_destroy(gtkconv->dialogs.smiley); | 3477 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley); |
3478 gtkconv->dialogs.smiley = NULL; | 3478 gtk_widget_destroy(gtkconv->dialogs.smiley); |
3479 gtkconv->dialogs.smiley = NULL; | |
3480 } | |
3479 } | 3481 } |
3480 | 3482 |
3481 void insert_smiley_text(GtkWidget *widget, struct gaim_conversation *c) | 3483 void insert_smiley_text(GtkWidget *widget, struct gaim_conversation *c) |
3482 { | 3484 { |
3483 struct gaim_gtk_conversation *gtkconv; | 3485 struct gaim_gtk_conversation *gtkconv; |
3484 char *smiley_text = g_object_get_data(G_OBJECT(widget), "smiley_text"); | 3486 char *smiley_text = g_object_get_data(G_OBJECT(widget), "smiley_text"); |
3487 GtkTextMark *select_mark, *insert_mark; | |
3488 GtkTextIter select_iter, insert_iter; | |
3485 | 3489 |
3486 gtkconv = GAIM_GTK_CONVERSATION(c); | 3490 gtkconv = GAIM_GTK_CONVERSATION(c); |
3491 | |
3492 select_mark = gtk_text_buffer_get_selection_bound(gtkconv->entry_buffer); | |
3493 insert_mark = gtk_text_buffer_get_insert(gtkconv->entry_buffer); | |
3494 | |
3495 if(insert_mark != select_mark) { /* there is text selected */ | |
3496 gtk_text_buffer_get_iter_at_mark(gtkconv->entry_buffer, &select_iter, select_mark); | |
3497 gtk_text_buffer_get_iter_at_mark(gtkconv->entry_buffer, &insert_iter, insert_mark); | |
3498 gtk_text_buffer_delete(gtkconv->entry_buffer, &select_iter, &insert_iter); | |
3499 } | |
3487 | 3500 |
3488 gtk_text_buffer_insert_at_cursor(gtkconv->entry_buffer, smiley_text, -1); | 3501 gtk_text_buffer_insert_at_cursor(gtkconv->entry_buffer, smiley_text, -1); |
3489 close_smiley_dialog(NULL, c); | 3502 close_smiley_dialog(NULL, c); |
3490 } | 3503 } |
3491 | 3504 |