| 380 static void |
380 static void |
| 381 toggle_keep_open_cb(GtkWidget *w, G_GNUC_UNUSED gpointer data) |
381 toggle_keep_open_cb(GtkWidget *w, G_GNUC_UNUSED gpointer data) |
| 382 { |
382 { |
| 383 purple_prefs_set_bool( |
383 purple_prefs_set_bool( |
| 384 PIDGIN_PREFS_ROOT "/filetransfer/keep_open", |
384 PIDGIN_PREFS_ROOT "/filetransfer/keep_open", |
| 385 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w))); |
385 !gtk_check_button_get_active(GTK_CHECK_BUTTON(w))); |
| 386 } |
386 } |
| 387 |
387 |
| 388 static void |
388 static void |
| 389 toggle_clear_finished_cb(GtkWidget *w, G_GNUC_UNUSED gpointer data) |
389 toggle_clear_finished_cb(GtkWidget *w, G_GNUC_UNUSED gpointer data) |
| 390 { |
390 { |
| 391 purple_prefs_set_bool( |
391 purple_prefs_set_bool( |
| 392 PIDGIN_PREFS_ROOT "/filetransfer/clear_finished", |
392 PIDGIN_PREFS_ROOT "/filetransfer/clear_finished", |
| 393 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w))); |
393 gtk_check_button_get_active(GTK_CHECK_BUTTON(w))); |
| 394 } |
394 } |
| 395 |
395 |
| 396 static void |
396 static void |
| 397 selection_changed_cb(GtkTreeSelection *selection, PidginXferDialog *dialog) |
397 selection_changed_cb(GtkTreeSelection *selection, PidginXferDialog *dialog) |
| 398 { |
398 { |
| 539 pidgin_xfer_dialog_init(PidginXferDialog *dialog) |
539 pidgin_xfer_dialog_init(PidginXferDialog *dialog) |
| 540 { |
540 { |
| 541 gtk_widget_init_template(GTK_WIDGET(dialog)); |
541 gtk_widget_init_template(GTK_WIDGET(dialog)); |
| 542 |
542 |
| 543 /* "Close this window when all transfers finish" */ |
543 /* "Close this window when all transfers finish" */ |
| 544 gtk_toggle_button_set_active( |
544 gtk_check_button_set_active( |
| 545 GTK_TOGGLE_BUTTON(dialog->keep_open), |
545 GTK_CHECK_BUTTON(dialog->keep_open), |
| 546 !purple_prefs_get_bool(PIDGIN_PREFS_ROOT |
546 !purple_prefs_get_bool(PIDGIN_PREFS_ROOT |
| 547 "/filetransfer/keep_open")); |
547 "/filetransfer/keep_open")); |
| 548 |
548 |
| 549 /* "Clear finished transfers" */ |
549 /* "Clear finished transfers" */ |
| 550 gtk_toggle_button_set_active( |
550 gtk_check_button_set_active( |
| 551 GTK_TOGGLE_BUTTON(dialog->auto_clear), |
551 GTK_CHECK_BUTTON(dialog->auto_clear), |
| 552 purple_prefs_get_bool(PIDGIN_PREFS_ROOT |
552 purple_prefs_get_bool(PIDGIN_PREFS_ROOT |
| 553 "/filetransfer/clear_finished")); |
553 "/filetransfer/clear_finished")); |
| 554 } |
554 } |
| 555 |
555 |
| 556 void |
556 void |
| 688 |
688 |
| 689 if (!purple_xfer_get_visible(xfer)) { |
689 if (!purple_xfer_get_visible(xfer)) { |
| 690 return; |
690 return; |
| 691 } |
691 } |
| 692 |
692 |
| 693 if (purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_CANCEL_LOCAL && |
693 if(purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_CANCEL_LOCAL && |
| 694 gtk_toggle_button_get_active( |
694 gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->auto_clear))) |
| 695 GTK_TOGGLE_BUTTON(dialog->auto_clear))) { |
695 { |
| 696 pidgin_xfer_dialog_remove_xfer(dialog, xfer); |
696 pidgin_xfer_dialog_remove_xfer(dialog, xfer); |
| 697 return; |
697 return; |
| 698 } |
698 } |
| 699 |
699 |
| 700 data = g_object_get_data(G_OBJECT(xfer), UI_DATA); |
700 data = g_object_get_data(G_OBJECT(xfer), UI_DATA); |
| 764 |
764 |
| 765 update_title_progress(dialog); |
765 update_title_progress(dialog); |
| 766 if (xfer == dialog->selected_xfer) |
766 if (xfer == dialog->selected_xfer) |
| 767 update_detailed_info(xfer_dialog, xfer); |
767 update_detailed_info(xfer_dialog, xfer); |
| 768 |
768 |
| 769 if (purple_xfer_is_completed(xfer) && |
769 if(purple_xfer_is_completed(xfer) && |
| 770 gtk_toggle_button_get_active( |
770 gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->auto_clear))) |
| 771 GTK_TOGGLE_BUTTON(dialog->auto_clear))) { |
771 { |
| 772 pidgin_xfer_dialog_remove_xfer(dialog, xfer); |
772 pidgin_xfer_dialog_remove_xfer(dialog, xfer); |
| 773 } else { |
773 } else { |
| 774 update_buttons(dialog, xfer); |
774 update_buttons(dialog, xfer); |
| 775 } |
775 } |
| 776 |
776 |
| 777 /* |
777 /* |
| 778 * If all transfers are finished, and the pref is set, then |
778 * If all transfers are finished, and the pref is set, then |
| 779 * close the dialog. Otherwise just exit this function. |
779 * close the dialog. Otherwise just exit this function. |
| 780 */ |
780 */ |
| 781 if (!gtk_toggle_button_get_active( |
781 if(!gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->keep_open))) { |
| 782 GTK_TOGGLE_BUTTON(dialog->keep_open))) { |
|
| 783 return; |
782 return; |
| 784 } |
783 } |
| 785 |
784 |
| 786 valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(dialog->model), &iter); |
785 valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(dialog->model), &iter); |
| 787 while (valid) |
786 while (valid) |