From: Tim R. <ma...@us...> - 2004-07-26 06:09:22
|
Update of /cvsroot/gaim/gaim/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5350/src Modified Files: gtkimhtml.c gtkimhtmltoolbar.c Log Message: Simguy writes: This makes the insert link behavior a little better: 1) If there is a selection in the IMHTML to which you are inserting a link, prefill the Description field in the dialog. 2) Delete the selected text and replace it with whatever the description field contains when inserting the link (this is why we do #1) The former behavior was to prepend the description entered to the selection and link the whole block, which seemed illogical to me. Index: gtkimhtml.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkimhtml.c,v retrieving revision 1.352 retrieving revision 1.353 diff -u -d -p -r1.352 -r1.353 --- gtkimhtml.c 22 Jul 2004 03:43:59 -0000 1.352 +++ gtkimhtml.c 26 Jul 2004 06:09:10 -0000 1.353 @@ -3769,6 +3769,9 @@ void gtk_imhtml_insert_link(GtkIMHtml *i { GtkTextIter iter; + if (gtk_text_buffer_get_selection_bounds(imhtml->text_buffer, NULL, NULL)) + gtk_text_buffer_delete_selection(imhtml->text_buffer, TRUE, TRUE); + gtk_imhtml_toggle_link(imhtml, url); gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &iter, mark); gtk_text_buffer_insert(imhtml->text_buffer, &iter, text, -1); Index: gtkimhtmltoolbar.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkimhtmltoolbar.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -p -r1.31 -r1.32 --- gtkimhtmltoolbar.c 13 Jul 2004 03:20:46 -0000 1.31 +++ gtkimhtmltoolbar.c 26 Jul 2004 06:09:11 -0000 1.32 @@ -382,7 +382,9 @@ insert_link_cb(GtkWidget *w, GtkIMHtmlTo GaimRequestFields *fields; GaimRequestFieldGroup *group; GaimRequestField *field; + GtkTextIter start, end; char *msg; + char *desc = NULL; fields = gaim_request_fields_new(); @@ -394,8 +396,11 @@ insert_link_cb(GtkWidget *w, GtkIMHtmlTo gaim_request_field_group_add_field(group, field); if(GTK_IMHTML(toolbar->imhtml)->format_functions & GTK_IMHTML_LINKDESC) { + if (gtk_text_buffer_get_selection_bounds(GTK_IMHTML(toolbar->imhtml)->text_buffer, &start, &end)) { + desc = gtk_imhtml_get_text(GTK_IMHTML(toolbar->imhtml), &start, &end); + } field = gaim_request_field_string_new("description", _("_Description"), - NULL, FALSE); + desc, FALSE); gaim_request_field_group_add_field(group, field); msg = g_strdup(_("Please enter the URL and description of the " "link that you want to insert. The description " @@ -414,6 +419,7 @@ insert_link_cb(GtkWidget *w, GtkIMHtmlTo _("Cancel"), G_CALLBACK(cancel_link_cb), toolbar); g_free(msg); + g_free(desc); } else { close_link_dialog(toolbar); } |