# HG changeset patch # User Sean Egan # Date 1035246767 0 # Node ID c2394f3520150b505ffae99901c8db6e2a9813cd # Parent b8d0eeb9e74860397c2cacdc27bb0b2ab00a706b [gaim-migrate @ 3921] Whoops. committer: Tailor Script diff -r b8d0eeb9e748 -r c2394f352015 src/dialogs.c --- a/src/dialogs.c Tue Oct 22 00:23:06 2002 +0000 +++ b/src/dialogs.c Tue Oct 22 00:32:47 2002 +0000 @@ -2841,7 +2841,7 @@ showtext = gtk_entry_get_text(GTK_ENTRY(b->text)); g_snprintf(open_tag, 2048, "%s", urltext, showtext); -/* FIXME surround(b, open_tag, "");*/ + surround(b->entry, open_tag, ""); g_free(open_tag); destroy_dialog(NULL, b->window); @@ -2924,7 +2924,7 @@ gtk_window_set_focus(GTK_WINDOW(c->link_dialog), b->url); b->window = c->link_dialog; b->toggle = linky; -/* FIXME b->entry_view = c->entry_view;*/ + b->entry = c->entry; gtk_widget_realize(c->link_dialog); } @@ -2986,7 +2986,7 @@ c->hasfg = 1; g_snprintf(open_tag, 23, "", text_color.red, text_color.green, text_color.blue); - surround(c, open_tag, ""); + surround(c->entry, open_tag, ""); debug_printf("#%02X%02X%02X\n", text_color.red, text_color.green, text_color.blue); g_free(open_tag); cancel_fgcolor(NULL, c); @@ -3013,7 +3013,7 @@ c->hasbg = 1; g_snprintf(open_tag, 25, "", text_color.red, text_color.green, text_color.blue); - surround(c, open_tag, ""); + surround(c->entry, open_tag, ""); debug_printf("#%02X%02X%02X\n", text_color.red, text_color.green, text_color.blue); g_free(open_tag); cancel_bgcolor(NULL, c); @@ -3559,9 +3559,26 @@ void insert_smiley_text(GtkWidget *widget, struct conversation *c) { - gtk_text_buffer_insert_at_cursor(c->entry_buffer, - current_smiley, -1); + char *smiley_text; + + smiley_text = strdup(current_smiley); + + /* surround(c->entry, smiley_text, ""); */ + + if (GTK_OLD_EDITABLE(c->entry)->has_selection) { + int finish = GTK_OLD_EDITABLE(c->entry)->selection_end_pos; + gtk_editable_insert_text(GTK_EDITABLE(c->entry), + smiley_text, strlen(smiley_text), &finish); + } else { + int pos = GTK_OLD_EDITABLE(c->entry)->current_pos; + gtk_editable_insert_text(GTK_EDITABLE(c->entry), smiley_text, strlen(smiley_text), &pos); + } + + g_free(smiley_text); + close_smiley_dialog(NULL, c); + + return; } static void toolbar_add_smiley(struct conversation *c, GtkWidget *bar, char **xpm, GtkWidget *win,