comparison src/utilops.c @ 928:6a42ab7051f2

improved error reporting
author nadvornik
date Fri, 25 Jul 2008 22:04:55 +0000
parents 96a1f535ce89
children a53f5141228b
comparison
equal deleted inserted replaced
927:d27b4184ceb8 928:6a42ab7051f2
831 if (!pb_error) 831 if (!pb_error)
832 { 832 {
833 pb_error = gtk_widget_render_icon(widget, GTK_STOCK_DIALOG_ERROR, GTK_ICON_SIZE_MENU, NULL); 833 pb_error = gtk_widget_render_icon(widget, GTK_STOCK_DIALOG_ERROR, GTK_ICON_SIZE_MENU, NULL);
834 } 834 }
835 835
836 error = file_data_sc_check_ci_dest(fd); 836 error = file_data_sc_verify_ci(fd);
837 837
838 if (!error) return NULL; 838 if (!error) return NULL;
839 839
840 if (error & CHANGE_ERROR_MASK) 840 if (error & CHANGE_ERROR_MASK)
841 { 841 {
862 } 862 }
863 863
864 void file_util_check_ci(UtilityData *ud) 864 void file_util_check_ci(UtilityData *ud)
865 { 865 {
866 gint error = CHANGE_OK; 866 gint error = CHANGE_OK;
867 gchar *desc = NULL;
867 868
868 if (ud->dir_fd) 869 if (ud->dir_fd)
869 { 870 {
870 error = file_data_sc_check_ci_dest(ud->dir_fd); 871 error = file_data_sc_verify_ci(ud->dir_fd);
872 if (error) desc = file_data_get_error_string(error);
871 } 873 }
872 else 874 else
873 { 875 {
874 GList *work = ud->flist; 876 error = file_data_sc_verify_ci_list(ud->flist, &desc);
875 while (work)
876 {
877 FileData *fd;
878
879 fd = work->data;
880 work = work->next;
881
882 error |= file_data_sc_check_ci_dest(fd);
883 }
884 } 877 }
885 878
886 if (!error) 879 if (!error)
887 { 880 {
888 ud->phase = UTILITY_PHASE_CHECKED; 881 ud->phase = UTILITY_PHASE_CHECKED;
898 891
899 d = file_util_gen_dlg("This operation can be dangerous", GQ_WMCLASS, "dlg_confirm", 892 d = file_util_gen_dlg("This operation can be dangerous", GQ_WMCLASS, "dlg_confirm",
900 ud->parent, TRUE, 893 ud->parent, TRUE,
901 file_util_check_abort_cb, ud); 894 file_util_check_abort_cb, ud);
902 895
903 generic_dialog_add_message(d, GTK_STOCK_DIALOG_WARNING, NULL, "Really continue?"); 896 generic_dialog_add_message(d, GTK_STOCK_DIALOG_WARNING, _("Really continue?"), desc);
904 897
905 generic_dialog_add_button(d, GTK_STOCK_GO_FORWARD, _("Co_ntinue"), 898 generic_dialog_add_button(d, GTK_STOCK_GO_FORWARD, _("Co_ntinue"),
906 file_util_check_resume_cb, TRUE); 899 file_util_check_resume_cb, TRUE);
907 gtk_widget_show(d->dialog); 900 gtk_widget_show(d->dialog);
908 return;
909 } 901 }
910 else 902 else
911 { 903 {
912 /* fatal error */ 904 /* fatal error */
913 GenericDialog *d; 905 GenericDialog *d;
914 906
915 d = file_util_gen_dlg("This operation can't continue", GQ_WMCLASS, "dlg_confirm", 907 d = file_util_gen_dlg("This operation can't continue", GQ_WMCLASS, "dlg_confirm",
916 ud->parent, TRUE, 908 ud->parent, TRUE,
917 file_util_check_abort_cb, ud); 909 file_util_check_abort_cb, ud);
918 generic_dialog_add_message(d, GTK_STOCK_DIALOG_WARNING, NULL, "This operation can't continue"); 910 generic_dialog_add_message(d, GTK_STOCK_DIALOG_WARNING, "This operation can't continue", desc);
919 911
920 gtk_widget_show(d->dialog); 912 gtk_widget_show(d->dialog);
921 return; 913 }
922 } 914 g_free(desc);
923
924 } 915 }
925 916
926 917
927 918
928 919