comparison pidgin/gtkft.c @ 15501:d75099d2567e

gaim_gtk to pidgin. I hope
author Sean Egan <seanegan@gmail.com>
date Sat, 03 Feb 2007 07:23:11 +0000
parents 5fe8042783c1
children 23ca11f8a8c4
comparison
equal deleted inserted replaced
15500:45ecefd0ce3a 15501:d75099d2567e
36 #include "prefs.h" 36 #include "prefs.h"
37 #include "gtkexpander.h" 37 #include "gtkexpander.h"
38 #include "gaimstock.h" 38 #include "gaimstock.h"
39 #include "gtkutils.h" 39 #include "gtkutils.h"
40 40
41 #define GAIM_GTKXFER(xfer) \ 41 #define PIDGINXFER(xfer) \
42 (GaimGtkXferUiData *)(xfer)->ui_data 42 (PidginXferUiData *)(xfer)->ui_data
43 43
44 struct _GaimGtkXferDialog 44 struct _PidginXferDialog
45 { 45 {
46 gboolean keep_open; 46 gboolean keep_open;
47 gboolean auto_clear; 47 gboolean auto_clear;
48 48
49 gint num_transfers; 49 gint num_transfers;
87 time_t last_updated_time; 87 time_t last_updated_time;
88 gboolean in_list; 88 gboolean in_list;
89 89
90 char *name; 90 char *name;
91 91
92 } GaimGtkXferUiData; 92 } PidginXferUiData;
93 93
94 static GaimGtkXferDialog *xfer_dialog = NULL; 94 static PidginXferDialog *xfer_dialog = NULL;
95 95
96 enum 96 enum
97 { 97 {
98 COLUMN_STATUS = 0, 98 COLUMN_STATUS = 0,
99 COLUMN_PROGRESS, 99 COLUMN_PROGRESS,
110 **************************************************************************/ 110 **************************************************************************/
111 static void 111 static void
112 get_xfer_info_strings(GaimXfer *xfer, char **kbsec, char **time_elapsed, 112 get_xfer_info_strings(GaimXfer *xfer, char **kbsec, char **time_elapsed,
113 char **time_remaining) 113 char **time_remaining)
114 { 114 {
115 GaimGtkXferUiData *data; 115 PidginXferUiData *data;
116 double kb_sent, kb_rem; 116 double kb_sent, kb_rem;
117 double kbps = 0.0; 117 double kbps = 0.0;
118 time_t elapsed, now; 118 time_t elapsed, now;
119 119
120 data = GAIM_GTKXFER(xfer); 120 data = PIDGINXFER(xfer);
121 121
122 if (xfer->end_time != 0) 122 if (xfer->end_time != 0)
123 now = xfer->end_time; 123 now = xfer->end_time;
124 else 124 else
125 now = time(NULL); 125 now = time(NULL);
181 } 181 }
182 } 182 }
183 } 183 }
184 184
185 static void 185 static void
186 update_title_progress(GaimGtkXferDialog *dialog) 186 update_title_progress(PidginXferDialog *dialog)
187 { 187 {
188 gboolean valid; 188 gboolean valid;
189 GtkTreeIter iter; 189 GtkTreeIter iter;
190 int num_active_xfers = 0; 190 int num_active_xfers = 0;
191 guint64 total_bytes_xferred = 0; 191 guint64 total_bytes_xferred = 0;
233 gtk_window_set_title(GTK_WINDOW(dialog->window), _("File Transfers")); 233 gtk_window_set_title(GTK_WINDOW(dialog->window), _("File Transfers"));
234 } 234 }
235 } 235 }
236 236
237 static void 237 static void
238 update_detailed_info(GaimGtkXferDialog *dialog, GaimXfer *xfer) 238 update_detailed_info(PidginXferDialog *dialog, GaimXfer *xfer)
239 { 239 {
240 GaimGtkXferUiData *data; 240 PidginXferUiData *data;
241 char *kbsec, *time_elapsed, *time_remaining; 241 char *kbsec, *time_elapsed, *time_remaining;
242 char *status, *utf8; 242 char *status, *utf8;
243 243
244 if (dialog == NULL || xfer == NULL) 244 if (dialog == NULL || xfer == NULL)
245 return; 245 return;
246 246
247 data = GAIM_GTKXFER(xfer); 247 data = PIDGINXFER(xfer);
248 248
249 get_xfer_info_strings(xfer, &kbsec, &time_elapsed, &time_remaining); 249 get_xfer_info_strings(xfer, &kbsec, &time_elapsed, &time_remaining);
250 250
251 status = g_strdup_printf("%ld%% (%ld of %ld bytes)", 251 status = g_strdup_printf("%ld%% (%ld of %ld bytes)",
252 (unsigned long)(gaim_xfer_get_progress(xfer)*100), 252 (unsigned long)(gaim_xfer_get_progress(xfer)*100),
320 g_free(time_remaining); 320 g_free(time_remaining);
321 g_free(status); 321 g_free(status);
322 } 322 }
323 323
324 static void 324 static void
325 update_buttons(GaimGtkXferDialog *dialog, GaimXfer *xfer) 325 update_buttons(PidginXferDialog *dialog, GaimXfer *xfer)
326 { 326 {
327 if (dialog->selected_xfer == NULL) { 327 if (dialog->selected_xfer == NULL) {
328 gtk_widget_set_sensitive(dialog->expander, FALSE); 328 gtk_widget_set_sensitive(dialog->expander, FALSE);
329 gtk_widget_set_sensitive(dialog->open_button, FALSE); 329 gtk_widget_set_sensitive(dialog->open_button, FALSE);
330 gtk_widget_set_sensitive(dialog->pause_button, FALSE); 330 gtk_widget_set_sensitive(dialog->pause_button, FALSE);
383 gtk_widget_set_sensitive(dialog->stop_button, TRUE); 383 gtk_widget_set_sensitive(dialog->stop_button, TRUE);
384 } 384 }
385 } 385 }
386 386
387 static void 387 static void
388 ensure_row_selected(GaimGtkXferDialog *dialog) 388 ensure_row_selected(PidginXferDialog *dialog)
389 { 389 {
390 GtkTreeIter iter; 390 GtkTreeIter iter;
391 GtkTreeSelection *selection; 391 GtkTreeSelection *selection;
392 392
393 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->tree)); 393 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->tree));
403 * Callbacks 403 * Callbacks
404 **************************************************************************/ 404 **************************************************************************/
405 static gint 405 static gint
406 delete_win_cb(GtkWidget *w, GdkEventAny *e, gpointer d) 406 delete_win_cb(GtkWidget *w, GdkEventAny *e, gpointer d)
407 { 407 {
408 GaimGtkXferDialog *dialog; 408 PidginXferDialog *dialog;
409 409
410 dialog = (GaimGtkXferDialog *)d; 410 dialog = (PidginXferDialog *)d;
411 411
412 gaim_gtkxfer_dialog_hide(dialog); 412 pidginxfer_dialog_hide(dialog);
413 413
414 return TRUE; 414 return TRUE;
415 } 415 }
416 416
417 static void 417 static void
418 toggle_keep_open_cb(GtkWidget *w, GaimGtkXferDialog *dialog) 418 toggle_keep_open_cb(GtkWidget *w, PidginXferDialog *dialog)
419 { 419 {
420 dialog->keep_open = !dialog->keep_open; 420 dialog->keep_open = !dialog->keep_open;
421 gaim_prefs_set_bool("/gaim/gtk/filetransfer/keep_open", 421 gaim_prefs_set_bool("/gaim/gtk/filetransfer/keep_open",
422 dialog->keep_open); 422 dialog->keep_open);
423 } 423 }
424 424
425 static void 425 static void
426 toggle_clear_finished_cb(GtkWidget *w, GaimGtkXferDialog *dialog) 426 toggle_clear_finished_cb(GtkWidget *w, PidginXferDialog *dialog)
427 { 427 {
428 dialog->auto_clear = !dialog->auto_clear; 428 dialog->auto_clear = !dialog->auto_clear;
429 gaim_prefs_set_bool("/gaim/gtk/filetransfer/clear_finished", 429 gaim_prefs_set_bool("/gaim/gtk/filetransfer/clear_finished",
430 dialog->auto_clear); 430 dialog->auto_clear);
431 } 431 }
432 432
433 static void 433 static void
434 selection_changed_cb(GtkTreeSelection *selection, GaimGtkXferDialog *dialog) 434 selection_changed_cb(GtkTreeSelection *selection, PidginXferDialog *dialog)
435 { 435 {
436 GtkTreeIter iter; 436 GtkTreeIter iter;
437 GaimXfer *xfer = NULL; 437 GaimXfer *xfer = NULL;
438 438
439 if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { 439 if (gtk_tree_selection_get_selected(selection, NULL, &iter)) {
462 462
463 update_buttons(dialog, xfer); 463 update_buttons(dialog, xfer);
464 } 464 }
465 465
466 static void 466 static void
467 open_button_cb(GtkButton *button, GaimGtkXferDialog *dialog) 467 open_button_cb(GtkButton *button, PidginXferDialog *dialog)
468 { 468 {
469 #ifdef _WIN32 469 #ifdef _WIN32
470 /* If using Win32... */ 470 /* If using Win32... */
471 int code; 471 int code;
472 if (G_WIN32_HAVE_WIDECHAR_API ()) { 472 if (G_WIN32_HAVE_WIDECHAR_API ()) {
554 } 554 }
555 #endif 555 #endif
556 } 556 }
557 557
558 static void 558 static void
559 pause_button_cb(GtkButton *button, GaimGtkXferDialog *dialog) 559 pause_button_cb(GtkButton *button, PidginXferDialog *dialog)
560 { 560 {
561 } 561 }
562 562
563 static void 563 static void
564 resume_button_cb(GtkButton *button, GaimGtkXferDialog *dialog) 564 resume_button_cb(GtkButton *button, PidginXferDialog *dialog)
565 { 565 {
566 } 566 }
567 567
568 static void 568 static void
569 remove_button_cb(GtkButton *button, GaimGtkXferDialog *dialog) 569 remove_button_cb(GtkButton *button, PidginXferDialog *dialog)
570 { 570 {
571 gaim_gtkxfer_dialog_remove_xfer(dialog, dialog->selected_xfer); 571 pidginxfer_dialog_remove_xfer(dialog, dialog->selected_xfer);
572 } 572 }
573 573
574 static void 574 static void
575 stop_button_cb(GtkButton *button, GaimGtkXferDialog *dialog) 575 stop_button_cb(GtkButton *button, PidginXferDialog *dialog)
576 { 576 {
577 gaim_xfer_cancel_local(dialog->selected_xfer); 577 gaim_xfer_cancel_local(dialog->selected_xfer);
578 } 578 }
579 579
580 static void 580 static void
581 close_button_cb(GtkButton *button, GaimGtkXferDialog *dialog) 581 close_button_cb(GtkButton *button, PidginXferDialog *dialog)
582 { 582 {
583 gaim_gtkxfer_dialog_hide(dialog); 583 pidginxfer_dialog_hide(dialog);
584 } 584 }
585 585
586 586
587 /************************************************************************** 587 /**************************************************************************
588 * Dialog Building Functions 588 * Dialog Building Functions
589 **************************************************************************/ 589 **************************************************************************/
590 static GtkWidget * 590 static GtkWidget *
591 setup_tree(GaimGtkXferDialog *dialog) 591 setup_tree(PidginXferDialog *dialog)
592 { 592 {
593 GtkWidget *sw; 593 GtkWidget *sw;
594 GtkWidget *tree; 594 GtkWidget *tree;
595 GtkListStore *model; 595 GtkListStore *model;
596 GtkCellRenderer *renderer; 596 GtkCellRenderer *renderer;
638 gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN(column), 25); 638 gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN(column), 25);
639 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE); 639 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE);
640 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); 640 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
641 641
642 /* Progress bar column */ 642 /* Progress bar column */
643 renderer = gaim_gtk_cell_renderer_progress_new(); 643 renderer = pidgin_cell_renderer_progress_new();
644 column = gtk_tree_view_column_new_with_attributes(_("Progress"), renderer, 644 column = gtk_tree_view_column_new_with_attributes(_("Progress"), renderer,
645 "percentage", COLUMN_PROGRESS, NULL); 645 "percentage", COLUMN_PROGRESS, NULL);
646 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE); 646 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE);
647 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); 647 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
648 648
674 674
675 return sw; 675 return sw;
676 } 676 }
677 677
678 static GtkWidget * 678 static GtkWidget *
679 make_info_table(GaimGtkXferDialog *dialog) 679 make_info_table(PidginXferDialog *dialog)
680 { 680 {
681 GtkWidget *table; 681 GtkWidget *table;
682 GtkWidget *label; 682 GtkWidget *label;
683 int i; 683 int i;
684 684
736 gtk_widget_show(dialog->progress); 736 gtk_widget_show(dialog->progress);
737 737
738 return table; 738 return table;
739 } 739 }
740 740
741 GaimGtkXferDialog * 741 PidginXferDialog *
742 gaim_gtkxfer_dialog_new(void) 742 pidginxfer_dialog_new(void)
743 { 743 {
744 GaimGtkXferDialog *dialog; 744 PidginXferDialog *dialog;
745 GtkWidget *window; 745 GtkWidget *window;
746 GtkWidget *vbox1, *vbox2; 746 GtkWidget *vbox1, *vbox2;
747 GtkWidget *bbox; 747 GtkWidget *bbox;
748 GtkWidget *sw; 748 GtkWidget *sw;
749 GtkWidget *button; 749 GtkWidget *button;
750 GtkWidget *expander; 750 GtkWidget *expander;
751 GtkWidget *table; 751 GtkWidget *table;
752 GtkWidget *checkbox; 752 GtkWidget *checkbox;
753 753
754 dialog = g_new0(GaimGtkXferDialog, 1); 754 dialog = g_new0(PidginXferDialog, 1);
755 dialog->keep_open = 755 dialog->keep_open =
756 gaim_prefs_get_bool("/gaim/gtk/filetransfer/keep_open"); 756 gaim_prefs_get_bool("/gaim/gtk/filetransfer/keep_open");
757 dialog->auto_clear = 757 dialog->auto_clear =
758 gaim_prefs_get_bool("/gaim/gtk/filetransfer/clear_finished"); 758 gaim_prefs_get_bool("/gaim/gtk/filetransfer/clear_finished");
759 759
886 886
887 return dialog; 887 return dialog;
888 } 888 }
889 889
890 void 890 void
891 gaim_gtkxfer_dialog_destroy(GaimGtkXferDialog *dialog) 891 pidginxfer_dialog_destroy(PidginXferDialog *dialog)
892 { 892 {
893 g_return_if_fail(dialog != NULL); 893 g_return_if_fail(dialog != NULL);
894 894
895 gaim_notify_close_with_handle(dialog); 895 gaim_notify_close_with_handle(dialog);
896 896
898 898
899 g_free(dialog); 899 g_free(dialog);
900 } 900 }
901 901
902 void 902 void
903 gaim_gtkxfer_dialog_show(GaimGtkXferDialog *dialog) 903 pidginxfer_dialog_show(PidginXferDialog *dialog)
904 { 904 {
905 GaimGtkXferDialog *tmp; 905 PidginXferDialog *tmp;
906 906
907 if (dialog == NULL) { 907 if (dialog == NULL) {
908 tmp = gaim_get_gtkxfer_dialog(); 908 tmp = gaim_get_gtkxfer_dialog();
909 909
910 if (tmp == NULL) { 910 if (tmp == NULL) {
911 tmp = gaim_gtkxfer_dialog_new(); 911 tmp = pidginxfer_dialog_new();
912 gaim_set_gtkxfer_dialog(tmp); 912 gaim_set_gtkxfer_dialog(tmp);
913 } 913 }
914 914
915 gtk_widget_show(tmp->window); 915 gtk_widget_show(tmp->window);
916 } else { 916 } else {
917 gtk_widget_show(dialog->window); 917 gtk_widget_show(dialog->window);
918 } 918 }
919 } 919 }
920 920
921 void 921 void
922 gaim_gtkxfer_dialog_hide(GaimGtkXferDialog *dialog) 922 pidginxfer_dialog_hide(PidginXferDialog *dialog)
923 { 923 {
924 g_return_if_fail(dialog != NULL); 924 g_return_if_fail(dialog != NULL);
925 925
926 gaim_notify_close_with_handle(dialog); 926 gaim_notify_close_with_handle(dialog);
927 927
928 gtk_widget_hide(dialog->window); 928 gtk_widget_hide(dialog->window);
929 } 929 }
930 930
931 void 931 void
932 gaim_gtkxfer_dialog_add_xfer(GaimGtkXferDialog *dialog, GaimXfer *xfer) 932 pidginxfer_dialog_add_xfer(PidginXferDialog *dialog, GaimXfer *xfer)
933 { 933 {
934 GaimGtkXferUiData *data; 934 PidginXferUiData *data;
935 GaimXferType type; 935 GaimXferType type;
936 GdkPixbuf *pixbuf; 936 GdkPixbuf *pixbuf;
937 char *size_str, *remaining_str; 937 char *size_str, *remaining_str;
938 char *lfilename, *utf8; 938 char *lfilename, *utf8;
939 939
940 g_return_if_fail(dialog != NULL); 940 g_return_if_fail(dialog != NULL);
941 g_return_if_fail(xfer != NULL); 941 g_return_if_fail(xfer != NULL);
942 942
943 gaim_xfer_ref(xfer); 943 gaim_xfer_ref(xfer);
944 944
945 data = GAIM_GTKXFER(xfer); 945 data = PIDGINXFER(xfer);
946 data->in_list = TRUE; 946 data->in_list = TRUE;
947 947
948 gaim_gtkxfer_dialog_show(dialog); 948 pidginxfer_dialog_show(dialog);
949 949
950 data->last_updated_time = 0; 950 data->last_updated_time = 0;
951 951
952 type = gaim_xfer_get_type(xfer); 952 type = gaim_xfer_get_type(xfer);
953 953
989 ensure_row_selected(dialog); 989 ensure_row_selected(dialog);
990 update_title_progress(dialog); 990 update_title_progress(dialog);
991 } 991 }
992 992
993 void 993 void
994 gaim_gtkxfer_dialog_remove_xfer(GaimGtkXferDialog *dialog, 994 pidginxfer_dialog_remove_xfer(PidginXferDialog *dialog,
995 GaimXfer *xfer) 995 GaimXfer *xfer)
996 { 996 {
997 GaimGtkXferUiData *data; 997 PidginXferUiData *data;
998 998
999 g_return_if_fail(dialog != NULL); 999 g_return_if_fail(dialog != NULL);
1000 g_return_if_fail(xfer != NULL); 1000 g_return_if_fail(xfer != NULL);
1001 1001
1002 data = GAIM_GTKXFER(xfer); 1002 data = PIDGINXFER(xfer);
1003 1003
1004 if (data == NULL) 1004 if (data == NULL)
1005 return; 1005 return;
1006 1006
1007 if (!data->in_list) 1007 if (!data->in_list)
1018 update_title_progress(dialog); 1018 update_title_progress(dialog);
1019 gaim_xfer_unref(xfer); 1019 gaim_xfer_unref(xfer);
1020 } 1020 }
1021 1021
1022 void 1022 void
1023 gaim_gtkxfer_dialog_cancel_xfer(GaimGtkXferDialog *dialog, 1023 pidginxfer_dialog_cancel_xfer(PidginXferDialog *dialog,
1024 GaimXfer *xfer) 1024 GaimXfer *xfer)
1025 { 1025 {
1026 GaimGtkXferUiData *data; 1026 PidginXferUiData *data;
1027 GdkPixbuf *pixbuf; 1027 GdkPixbuf *pixbuf;
1028 const gchar *status; 1028 const gchar *status;
1029 1029
1030 g_return_if_fail(dialog != NULL); 1030 g_return_if_fail(dialog != NULL);
1031 g_return_if_fail(xfer != NULL); 1031 g_return_if_fail(xfer != NULL);
1032 1032
1033 data = GAIM_GTKXFER(xfer); 1033 data = PIDGINXFER(xfer);
1034 1034
1035 if (data == NULL) 1035 if (data == NULL)
1036 return; 1036 return;
1037 1037
1038 if (!data->in_list) 1038 if (!data->in_list)
1039 return; 1039 return;
1040 1040
1041 if ((gaim_xfer_get_status(xfer) == GAIM_XFER_STATUS_CANCEL_LOCAL) && (dialog->auto_clear)) { 1041 if ((gaim_xfer_get_status(xfer) == GAIM_XFER_STATUS_CANCEL_LOCAL) && (dialog->auto_clear)) {
1042 gaim_gtkxfer_dialog_remove_xfer(dialog, xfer); 1042 pidginxfer_dialog_remove_xfer(dialog, xfer);
1043 return; 1043 return;
1044 } 1044 }
1045 1045
1046 data = GAIM_GTKXFER(xfer); 1046 data = PIDGINXFER(xfer);
1047 1047
1048 update_detailed_info(dialog, xfer); 1048 update_detailed_info(dialog, xfer);
1049 update_title_progress(dialog); 1049 update_title_progress(dialog);
1050 1050
1051 pixbuf = gtk_widget_render_icon(dialog->window, 1051 pixbuf = gtk_widget_render_icon(dialog->window,
1066 1066
1067 update_buttons(dialog, xfer); 1067 update_buttons(dialog, xfer);
1068 } 1068 }
1069 1069
1070 void 1070 void
1071 gaim_gtkxfer_dialog_update_xfer(GaimGtkXferDialog *dialog, 1071 pidginxfer_dialog_update_xfer(PidginXferDialog *dialog,
1072 GaimXfer *xfer) 1072 GaimXfer *xfer)
1073 { 1073 {
1074 GaimGtkXferUiData *data; 1074 PidginXferUiData *data;
1075 char *size_str, *remaining_str; 1075 char *size_str, *remaining_str;
1076 GtkTreeSelection *selection; 1076 GtkTreeSelection *selection;
1077 time_t current_time; 1077 time_t current_time;
1078 GtkTreeIter iter; 1078 GtkTreeIter iter;
1079 gboolean valid; 1079 gboolean valid;
1080 1080
1081 g_return_if_fail(dialog != NULL); 1081 g_return_if_fail(dialog != NULL);
1082 g_return_if_fail(xfer != NULL); 1082 g_return_if_fail(xfer != NULL);
1083 1083
1084 if ((data = GAIM_GTKXFER(xfer)) == NULL) 1084 if ((data = PIDGINXFER(xfer)) == NULL)
1085 return; 1085 return;
1086 1086
1087 if (data->in_list == FALSE) 1087 if (data->in_list == FALSE)
1088 return; 1088 return;
1089 1089
1126 update_title_progress(dialog); 1126 update_title_progress(dialog);
1127 if (xfer == dialog->selected_xfer) 1127 if (xfer == dialog->selected_xfer)
1128 update_detailed_info(xfer_dialog, xfer); 1128 update_detailed_info(xfer_dialog, xfer);
1129 1129
1130 if (gaim_xfer_is_completed(xfer) && dialog->auto_clear) 1130 if (gaim_xfer_is_completed(xfer) && dialog->auto_clear)
1131 gaim_gtkxfer_dialog_remove_xfer(dialog, xfer); 1131 pidginxfer_dialog_remove_xfer(dialog, xfer);
1132 else 1132 else
1133 update_buttons(dialog, xfer); 1133 update_buttons(dialog, xfer);
1134 1134
1135 /* 1135 /*
1136 * If all transfers are finished, and the pref is set, then 1136 * If all transfers are finished, and the pref is set, then
1155 1155
1156 valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(dialog->model), &iter); 1156 valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(dialog->model), &iter);
1157 } 1157 }
1158 1158
1159 /* If we got to this point then we know everything is finished */ 1159 /* If we got to this point then we know everything is finished */
1160 gaim_gtkxfer_dialog_hide(dialog); 1160 pidginxfer_dialog_hide(dialog);
1161 } 1161 }
1162 1162
1163 /************************************************************************** 1163 /**************************************************************************
1164 * File Transfer UI Ops 1164 * File Transfer UI Ops
1165 **************************************************************************/ 1165 **************************************************************************/
1166 static void 1166 static void
1167 gaim_gtkxfer_new_xfer(GaimXfer *xfer) 1167 pidginxfer_new_xfer(GaimXfer *xfer)
1168 { 1168 {
1169 GaimGtkXferUiData *data; 1169 PidginXferUiData *data;
1170 1170
1171 /* This is where we're setting xfer->ui_data for the first time. */ 1171 /* This is where we're setting xfer->ui_data for the first time. */
1172 data = g_new0(GaimGtkXferUiData, 1); 1172 data = g_new0(PidginXferUiData, 1);
1173 xfer->ui_data = data; 1173 xfer->ui_data = data;
1174 } 1174 }
1175 1175
1176 static void 1176 static void
1177 gaim_gtkxfer_destroy(GaimXfer *xfer) 1177 pidginxfer_destroy(GaimXfer *xfer)
1178 { 1178 {
1179 GaimGtkXferUiData *data; 1179 PidginXferUiData *data;
1180 1180
1181 data = GAIM_GTKXFER(xfer); 1181 data = PIDGINXFER(xfer);
1182 if (data) { 1182 if (data) {
1183 g_free(data->name); 1183 g_free(data->name);
1184 g_free(data); 1184 g_free(data);
1185 xfer->ui_data = NULL; 1185 xfer->ui_data = NULL;
1186 } 1186 }
1187 } 1187 }
1188 1188
1189 static void 1189 static void
1190 gaim_gtkxfer_add_xfer(GaimXfer *xfer) 1190 pidginxfer_add_xfer(GaimXfer *xfer)
1191 { 1191 {
1192 if (xfer_dialog == NULL) 1192 if (xfer_dialog == NULL)
1193 xfer_dialog = gaim_gtkxfer_dialog_new(); 1193 xfer_dialog = pidginxfer_dialog_new();
1194 1194
1195 gaim_gtkxfer_dialog_add_xfer(xfer_dialog, xfer); 1195 pidginxfer_dialog_add_xfer(xfer_dialog, xfer);
1196 } 1196 }
1197 1197
1198 static void 1198 static void
1199 gaim_gtkxfer_update_progress(GaimXfer *xfer, double percent) 1199 pidginxfer_update_progress(GaimXfer *xfer, double percent)
1200 { 1200 {
1201 gaim_gtkxfer_dialog_update_xfer(xfer_dialog, xfer); 1201 pidginxfer_dialog_update_xfer(xfer_dialog, xfer);
1202 } 1202 }
1203 1203
1204 static void 1204 static void
1205 gaim_gtkxfer_cancel_local(GaimXfer *xfer) 1205 pidginxfer_cancel_local(GaimXfer *xfer)
1206 { 1206 {
1207 if (xfer_dialog) 1207 if (xfer_dialog)
1208 gaim_gtkxfer_dialog_cancel_xfer(xfer_dialog, xfer); 1208 pidginxfer_dialog_cancel_xfer(xfer_dialog, xfer);
1209 } 1209 }
1210 1210
1211 static void 1211 static void
1212 gaim_gtkxfer_cancel_remote(GaimXfer *xfer) 1212 pidginxfer_cancel_remote(GaimXfer *xfer)
1213 { 1213 {
1214 if (xfer_dialog) 1214 if (xfer_dialog)
1215 gaim_gtkxfer_dialog_cancel_xfer(xfer_dialog, xfer); 1215 pidginxfer_dialog_cancel_xfer(xfer_dialog, xfer);
1216 } 1216 }
1217 1217
1218 static GaimXferUiOps ops = 1218 static GaimXferUiOps ops =
1219 { 1219 {
1220 gaim_gtkxfer_new_xfer, 1220 pidginxfer_new_xfer,
1221 gaim_gtkxfer_destroy, 1221 pidginxfer_destroy,
1222 gaim_gtkxfer_add_xfer, 1222 pidginxfer_add_xfer,
1223 gaim_gtkxfer_update_progress, 1223 pidginxfer_update_progress,
1224 gaim_gtkxfer_cancel_local, 1224 pidginxfer_cancel_local,
1225 gaim_gtkxfer_cancel_remote 1225 pidginxfer_cancel_remote
1226 }; 1226 };
1227 1227
1228 /************************************************************************** 1228 /**************************************************************************
1229 * GTK+ File Transfer API 1229 * GTK+ File Transfer API
1230 **************************************************************************/ 1230 **************************************************************************/
1231 void 1231 void
1232 gaim_gtk_xfers_init(void) 1232 pidgin_xfers_init(void)
1233 { 1233 {
1234 gaim_prefs_add_none("/gaim/gtk/filetransfer"); 1234 gaim_prefs_add_none("/gaim/gtk/filetransfer");
1235 gaim_prefs_add_bool("/gaim/gtk/filetransfer/clear_finished", TRUE); 1235 gaim_prefs_add_bool("/gaim/gtk/filetransfer/clear_finished", TRUE);
1236 gaim_prefs_add_bool("/gaim/gtk/filetransfer/keep_open", FALSE); 1236 gaim_prefs_add_bool("/gaim/gtk/filetransfer/keep_open", FALSE);
1237 } 1237 }
1238 1238
1239 void 1239 void
1240 gaim_gtk_xfers_uninit(void) 1240 pidgin_xfers_uninit(void)
1241 { 1241 {
1242 if (xfer_dialog != NULL) 1242 if (xfer_dialog != NULL)
1243 gaim_gtkxfer_dialog_destroy(xfer_dialog); 1243 pidginxfer_dialog_destroy(xfer_dialog);
1244 } 1244 }
1245 1245
1246 void 1246 void
1247 gaim_set_gtkxfer_dialog(GaimGtkXferDialog *dialog) 1247 gaim_set_gtkxfer_dialog(PidginXferDialog *dialog)
1248 { 1248 {
1249 xfer_dialog = dialog; 1249 xfer_dialog = dialog;
1250 } 1250 }
1251 1251
1252 GaimGtkXferDialog * 1252 PidginXferDialog *
1253 gaim_get_gtkxfer_dialog(void) 1253 gaim_get_gtkxfer_dialog(void)
1254 { 1254 {
1255 return xfer_dialog; 1255 return xfer_dialog;
1256 } 1256 }
1257 1257
1258 GaimXferUiOps * 1258 GaimXferUiOps *
1259 gaim_gtk_xfers_get_ui_ops(void) 1259 pidgin_xfers_get_ui_ops(void)
1260 { 1260 {
1261 return &ops; 1261 return &ops;
1262 } 1262 }