Mercurial > pidgin.yaz
diff src/gtkft.c @ 10919:9695281b1aa1
[gaim-migrate @ 12683]
Better handling of filenames in file transfers when using a non-UTF8
filename encoding on the filesyste. This should fix a number of bugs.
committer: Tailor Script <tailor@pidgin.im>
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Sun, 15 May 2005 18:16:20 +0000 |
parents | 1012f463d2b9 |
children | accfd1f1f80d |
line wrap: on
line diff
--- a/src/gtkft.c Sun May 15 13:28:11 2005 +0000 +++ b/src/gtkft.c Sun May 15 18:16:20 2005 +0000 @@ -187,7 +187,7 @@ { GaimGtkXferUiData *data; char *kbsec, *time_elapsed, *time_remaining; - char *status; + char *status, *utf8; if (dialog == NULL || xfer == NULL) return; @@ -240,13 +240,18 @@ gaim_xfer_get_filename(xfer)); } else { char *tmp; + tmp = g_path_get_basename(gaim_xfer_get_local_filename(xfer)); - gtk_label_set_text(GTK_LABEL(dialog->filename_label), tmp); + utf8 = g_filename_to_utf8(tmp, -1, NULL, NULL, NULL); g_free(tmp); + + gtk_label_set_text(GTK_LABEL(dialog->filename_label), utf8); + g_free(utf8); } - gtk_label_set_text(GTK_LABEL(dialog->localfile_label), - gaim_xfer_get_local_filename(xfer)); + utf8 = g_filename_to_utf8((gaim_xfer_get_local_filename(xfer)), -1, NULL, NULL, NULL); + gtk_label_set_text(GTK_LABEL(dialog->localfile_label), utf8); + g_free(utf8); gtk_label_set_text(GTK_LABEL(dialog->status_label), status); @@ -803,7 +808,7 @@ GaimXferType type; GdkPixbuf *pixbuf; char *size_str, *remaining_str; - char *lfilename; + char *lfilename, *utf8; g_return_if_fail(dialog != NULL); g_return_if_fail(xfer != NULL); @@ -831,6 +836,9 @@ gtk_list_store_append(dialog->model, &data->iter); lfilename = g_path_get_basename(gaim_xfer_get_local_filename(xfer)); + utf8 = g_filename_to_utf8(lfilename, -1, NULL, NULL, NULL); + g_free(lfilename); + lfilename = utf8; gtk_list_store_set(dialog->model, &data->iter, COLUMN_STATUS, pixbuf, COLUMN_PROGRESS, 0.0,