Mercurial > pidgin.yaz
comparison src/gtkft.c @ 7738:b14442b31a9b
[gaim-migrate @ 8383]
This patch from Tim R. (I'll remember your last name next time), snazzes
up the file transfer dialog a bit. I also went in and hacked on
gtkcellrenderer a bit, so that if you expand the column, the renderer will
grow.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Thu, 04 Dec 2003 05:58:26 +0000 |
parents | 02f697df677b |
children | 5f0bb52c0609 |
comparison
equal
deleted
inserted
replaced
7737:c497b3bb7581 | 7738:b14442b31a9b |
---|---|
202 gtk_label_set_markup(GTK_LABEL(dialog->user_desc_label), | 202 gtk_label_set_markup(GTK_LABEL(dialog->user_desc_label), |
203 _("<b>Sending To:</b>")); | 203 _("<b>Sending To:</b>")); |
204 | 204 |
205 gtk_label_set_text(GTK_LABEL(dialog->user_label), xfer->who); | 205 gtk_label_set_text(GTK_LABEL(dialog->user_label), xfer->who); |
206 | 206 |
207 gtk_label_set_text(GTK_LABEL(dialog->filename_label), | 207 if (gaim_xfer_get_type(xfer) == GAIM_XFER_RECEIVE) { |
208 gtk_label_set_text(GTK_LABEL(dialog->filename_label), | |
208 gaim_xfer_get_filename(xfer)); | 209 gaim_xfer_get_filename(xfer)); |
210 } else { | |
211 char *tmp; | |
212 tmp = g_path_get_basename(gaim_xfer_get_local_filename(xfer)); | |
213 gtk_label_set_text(GTK_LABEL(dialog->filename_label), tmp); | |
214 g_free(tmp); | |
215 } | |
209 | 216 |
210 gtk_label_set_text(GTK_LABEL(dialog->status_label), status); | 217 gtk_label_set_text(GTK_LABEL(dialog->status_label), status); |
211 | 218 |
212 gtk_label_set_text(GTK_LABEL(dialog->speed_label), kbsec); | 219 gtk_label_set_text(GTK_LABEL(dialog->speed_label), kbsec); |
213 gtk_label_set_text(GTK_LABEL(dialog->time_elapsed_label), time_elapsed); | 220 gtk_label_set_text(GTK_LABEL(dialog->time_elapsed_label), time_elapsed); |
249 /* TODO: gtk_widget_set_sensitive(dialog->open_button, TRUE); */ | 256 /* TODO: gtk_widget_set_sensitive(dialog->open_button, TRUE); */ |
250 gtk_widget_set_sensitive(dialog->pause_button, FALSE); | 257 gtk_widget_set_sensitive(dialog->pause_button, FALSE); |
251 gtk_widget_set_sensitive(dialog->resume_button, FALSE); | 258 gtk_widget_set_sensitive(dialog->resume_button, FALSE); |
252 | 259 |
253 gtk_widget_set_sensitive(dialog->remove_button, TRUE); | 260 gtk_widget_set_sensitive(dialog->remove_button, TRUE); |
254 } | 261 } else if (gaim_xfer_is_canceled(xfer)) { |
255 else { | 262 gtk_widget_hide(dialog->stop_button); |
263 gtk_widget_show(dialog->remove_button); | |
264 | |
265 gtk_widget_set_sensitive(dialog->open_button, FALSE); | |
266 gtk_widget_set_sensitive(dialog->pause_button, FALSE); | |
267 gtk_widget_set_sensitive(dialog->resume_button, FALSE); | |
268 | |
269 gtk_widget_set_sensitive(dialog->remove_button, TRUE); | |
270 } else { | |
256 gtk_widget_show(dialog->stop_button); | 271 gtk_widget_show(dialog->stop_button); |
257 gtk_widget_hide(dialog->remove_button); | 272 gtk_widget_hide(dialog->remove_button); |
258 | 273 |
259 gtk_widget_set_sensitive(dialog->open_button, FALSE); | 274 gtk_widget_set_sensitive(dialog->open_button, FALSE); |
260 | 275 |
602 G_CALLBACK(toggle_clear_finished_cb), dialog); | 617 G_CALLBACK(toggle_clear_finished_cb), dialog); |
603 gtk_box_pack_start(GTK_BOX(vbox2), checkbox, FALSE, FALSE, 0); | 618 gtk_box_pack_start(GTK_BOX(vbox2), checkbox, FALSE, FALSE, 0); |
604 gtk_widget_show(checkbox); | 619 gtk_widget_show(checkbox); |
605 | 620 |
606 /* "Download Details" arrow */ | 621 /* "Download Details" arrow */ |
607 disclosure = gaim_disclosure_new(_("Show download details"), | 622 disclosure = gaim_disclosure_new(_("Show transfer details"), |
608 _("Hide download details")); | 623 _("Hide transfer details")); |
609 dialog->disclosure = disclosure; | 624 dialog->disclosure = disclosure; |
610 gtk_box_pack_start(GTK_BOX(vbox2), disclosure, FALSE, FALSE, 0); | 625 gtk_box_pack_start(GTK_BOX(vbox2), disclosure, FALSE, FALSE, 0); |
611 gtk_widget_show(disclosure); | 626 gtk_widget_show(disclosure); |
612 | 627 |
613 gtk_widget_set_sensitive(disclosure, FALSE); | 628 gtk_widget_set_sensitive(disclosure, FALSE); |
744 { | 759 { |
745 GaimGtkXferUiData *data; | 760 GaimGtkXferUiData *data; |
746 GaimXferType type; | 761 GaimXferType type; |
747 GdkPixbuf *pixbuf; | 762 GdkPixbuf *pixbuf; |
748 char *size_str, *remaining_str; | 763 char *size_str, *remaining_str; |
764 char *lfilename; | |
749 | 765 |
750 g_return_if_fail(dialog != NULL); | 766 g_return_if_fail(dialog != NULL); |
751 g_return_if_fail(xfer != NULL); | 767 g_return_if_fail(xfer != NULL); |
752 | 768 |
753 data = GAIM_GTKXFER(xfer); | 769 data = GAIM_GTKXFER(xfer); |
766 ? GAIM_STOCK_DOWNLOAD | 782 ? GAIM_STOCK_DOWNLOAD |
767 : GAIM_STOCK_UPLOAD), | 783 : GAIM_STOCK_UPLOAD), |
768 GTK_ICON_SIZE_MENU, NULL); | 784 GTK_ICON_SIZE_MENU, NULL); |
769 | 785 |
770 gtk_list_store_append(dialog->model, &data->iter); | 786 gtk_list_store_append(dialog->model, &data->iter); |
787 lfilename = g_path_get_basename(gaim_xfer_get_local_filename(xfer)); | |
771 gtk_list_store_set(dialog->model, &data->iter, | 788 gtk_list_store_set(dialog->model, &data->iter, |
772 COLUMN_STATUS, pixbuf, | 789 COLUMN_STATUS, pixbuf, |
773 COLUMN_PROGRESS, 0.0, | 790 COLUMN_PROGRESS, 0.0, |
774 COLUMN_FILENAME, gaim_xfer_get_filename(xfer), | 791 COLUMN_FILENAME, (type == GAIM_XFER_RECEIVE) |
792 ? gaim_xfer_get_filename(xfer) | |
793 : lfilename, | |
775 COLUMN_SIZE, size_str, | 794 COLUMN_SIZE, size_str, |
776 COLUMN_REMAINING, remaining_str, | 795 COLUMN_REMAINING, remaining_str, |
777 COLUMN_DATA, xfer, | 796 COLUMN_DATA, xfer, |
778 -1); | 797 -1); |
798 g_free(lfilename); | |
779 | 799 |
780 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(dialog->tree)); | 800 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(dialog->tree)); |
781 | 801 |
782 g_object_unref(pixbuf); | 802 g_object_unref(pixbuf); |
783 | 803 |
821 void | 841 void |
822 gaim_gtkxfer_dialog_cancel_xfer(GaimGtkXferDialog *dialog, | 842 gaim_gtkxfer_dialog_cancel_xfer(GaimGtkXferDialog *dialog, |
823 GaimXfer *xfer) | 843 GaimXfer *xfer) |
824 { | 844 { |
825 GaimGtkXferUiData *data; | 845 GaimGtkXferUiData *data; |
826 #if 0 | |
827 GdkPixbuf *pixbuf; | 846 GdkPixbuf *pixbuf; |
828 #endif | 847 gchar *status; |
848 | |
829 | 849 |
830 g_return_if_fail(dialog != NULL); | 850 g_return_if_fail(dialog != NULL); |
831 g_return_if_fail(xfer != NULL); | 851 g_return_if_fail(xfer != NULL); |
832 | 852 |
833 data = GAIM_GTKXFER(xfer); | 853 data = GAIM_GTKXFER(xfer); |
834 | 854 |
835 if (data == NULL) | 855 if (data == NULL) |
836 return; | 856 return; |
837 | 857 |
838 gtk_list_store_remove(GTK_LIST_STORE(dialog->model), &data->iter); | 858 |
839 | 859 if ((gaim_xfer_is_canceled(xfer) == GAIM_XFER_CANCEL_LOCAL) && (dialog->auto_clear)) { |
840 g_free(data->name); | 860 gtk_list_store_remove(GTK_LIST_STORE(dialog->model), &data->iter); |
841 g_free(data); | 861 |
842 | 862 g_free(data->name); |
843 xfer->ui_data = NULL; | 863 g_free(data); |
844 | 864 |
845 dialog->num_transfers--; | 865 xfer->ui_data = NULL; |
846 | 866 |
847 if (dialog->num_transfers == 0 && !dialog->keep_open) | 867 dialog->num_transfers--; |
848 gaim_gtkxfer_dialog_hide(dialog); | 868 |
849 | 869 if (dialog->num_transfers == 0 && !dialog->keep_open) |
850 #if 0 | 870 gaim_gtkxfer_dialog_hide(dialog); |
871 | |
872 return; | |
873 } | |
874 | |
851 data = GAIM_GTKXFER(xfer); | 875 data = GAIM_GTKXFER(xfer); |
852 | 876 |
853 pixbuf = gtk_widget_render_icon(dialog->window, | 877 pixbuf = gtk_widget_render_icon(dialog->window, |
854 GAIM_STOCK_FILE_CANCELED, | 878 GAIM_STOCK_FILE_CANCELED, |
855 GTK_ICON_SIZE_MENU, NULL); | 879 GTK_ICON_SIZE_MENU, NULL); |
856 | 880 |
881 if (gaim_xfer_is_canceled(xfer) == GAIM_XFER_CANCEL_LOCAL) | |
882 status = _("Canceled"); | |
883 else | |
884 status = _("Failed"); | |
885 | |
857 gtk_list_store_set(dialog->model, &data->iter, | 886 gtk_list_store_set(dialog->model, &data->iter, |
858 COLUMN_STATUS, pixbuf, | 887 COLUMN_STATUS, pixbuf, |
859 -1); | 888 COLUMN_REMAINING, status, |
889 -1); | |
860 | 890 |
861 g_object_unref(pixbuf); | 891 g_object_unref(pixbuf); |
862 #endif | 892 |
893 update_buttons(dialog, xfer); | |
863 } | 894 } |
864 | 895 |
865 void | 896 void |
866 gaim_gtkxfer_dialog_update_xfer(GaimGtkXferDialog *dialog, | 897 gaim_gtkxfer_dialog_update_xfer(GaimGtkXferDialog *dialog, |
867 GaimXfer *xfer) | 898 GaimXfer *xfer) |