157 |
/* operation de copie */ |
/* operation de copie */ |
158 |
gboolean burn_copy(Tgrave *Ag, GError **Aerror) |
gboolean burn_copy(Tgrave *Ag, GError **Aerror) |
159 |
{ |
{ |
160 |
GtkWidget *Llecteur = sc_grave_get_widget(Ag, "srccopycombo"); |
Tdriveinfo *Lsource = get_drive_info(Ag, "srccopycombo"); |
161 |
GtkWidget *Lgraveur = sc_grave_get_widget(Ag, "dstcopycombo"); |
Tdriveinfo *Lgraveur = get_drive_info(Ag, "dstcopycombo"); |
162 |
GtkEntry *Llecteuriso = GTK_ENTRY(sc_grave_get_widget(Ag, "srccopybtnvalue")); |
GtkEntry *Llecteuriso = GTK_ENTRY(sc_grave_get_widget(Ag, "srccopybtnvalue")); |
163 |
GtkEntry *Lgraveuriso = GTK_ENTRY(sc_grave_get_widget(Ag, "dstcopybtnvalue")); |
GtkEntry *Lgraveuriso = GTK_ENTRY(sc_grave_get_widget(Ag, "dstcopybtnvalue")); |
|
gchar *Lsrc = get_combo_value(Llecteur); |
|
|
gchar *Ldst = get_combo_value(Lgraveur); |
|
164 |
gchar *Ltxt; |
gchar *Ltxt; |
165 |
gboolean Lstatus; |
gboolean Lstatus; |
166 |
gboolean Loperationstatus = FALSE; |
gboolean Loperationstatus = FALSE; |
169 |
gchar Ltmpdir[MAXPATHLEN]=""; |
gchar Ltmpdir[MAXPATHLEN]=""; |
170 |
gchar Liso[MAXPATHLEN]=""; |
gchar Liso[MAXPATHLEN]=""; |
171 |
const gchar *Lptriso; |
const gchar *Lptriso; |
172 |
_DEB("DEBUT COPIE !! 0"); |
_DEB("DEBUT COPIE !!"); |
173 |
|
|
174 |
if (!strcmp(Lsrc, "iso") && !strcmp(Ldst, "iso")) { |
if (!Lsource && !Lgraveur) { |
175 |
g_set_error(Aerror, GRAVEMAN_ERROR, _ERR_INAPPROPRIATE_MODE, |
g_set_error(Aerror, GRAVEMAN_ERROR, _ERR_INAPPROPRIATE_MODE, |
176 |
_("Cannot duplicate an iso image to an another iso image with graveman, just copy this file !")); |
_("Cannot duplicate an iso image to an another iso image with graveman, just copy this file !")); |
177 |
return FALSE; |
return FALSE; |
184 |
sc_grave_set_data(Ag, &Ltmpdir, "tmpdir"); /* repertoire temporraire */ |
sc_grave_set_data(Ag, &Ltmpdir, "tmpdir"); /* repertoire temporraire */ |
185 |
sc_grave_set_data(Ag, Aerror, "gerror"); /* pointeur retour des erreurs */ |
sc_grave_set_data(Ag, Aerror, "gerror"); /* pointeur retour des erreurs */ |
186 |
|
|
187 |
if (!strcmp(Lsrc, "iso")) { |
if (!Lsource) { |
188 |
/* copie d'une image vers un cd, on utilise cdrecord */ |
/* copie d'une image vers un cd, on utilise cdrecord */ |
189 |
Lptriso = gtk_entry_get_text(Llecteuriso); |
Lptriso = gtk_entry_get_text(Llecteuriso); |
190 |
Ltxt = _FILENAME(Lptriso); |
Ltxt = _FILENAME(Lptriso); |
207 |
sc_grave_del_data(Ag, "iso"); |
sc_grave_del_data(Ag, "iso"); |
208 |
} |
} |
209 |
g_free(Liso); |
g_free(Liso); |
210 |
} else if (!strcmp(Ldst, "iso")) { |
} else if (!Lgraveur) { |
211 |
/* copie d'un cd vers une image, on utilise readcd */ |
/* copie d'un cd vers une image, on utilise readcd */ |
212 |
struct stat Lfstat; |
struct stat Lfstat; |
213 |
Lptriso = gtk_entry_get_text(Lgraveuriso); |
Lptriso = gtk_entry_get_text(Lgraveuriso); |
304 |
sc_grave_del_data(Ag, "tmpdir"); |
sc_grave_del_data(Ag, "tmpdir"); |
305 |
sc_grave_del_data(Ag, "gerror"); |
sc_grave_del_data(Ag, "gerror"); |
306 |
|
|
|
g_free(Ldst); |
|
|
g_free(Lsrc); |
|
307 |
return Lstatus; |
return Lstatus; |
308 |
} |
} |
309 |
|
|
313 |
gint Ltodo = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sc_grave_get_widget(Ag, "nbrcddata"))); |
gint Ltodo = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sc_grave_get_widget(Ag, "nbrcddata"))); |
314 |
gboolean Lsimul = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Ag, "datasimul"))); |
gboolean Lsimul = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Ag, "datasimul"))); |
315 |
GtkEntry *Lgraveuriso = GTK_ENTRY(sc_grave_get_widget(Ag, "dstdatabtnvalue")); |
GtkEntry *Lgraveuriso = GTK_ENTRY(sc_grave_get_widget(Ag, "dstdatabtnvalue")); |
316 |
GtkWidget *Lgraveur = sc_grave_get_widget(Ag, "dstdatacombo"); |
Tdriveinfo *Lgraveur = get_drive_info(Ag, "dstdatacombo"); |
317 |
gboolean *Labort = sc_grave_get_data(Ag, "gabort"); |
gboolean *Labort = sc_grave_get_data(Ag, "gabort"); |
318 |
gint Ldone = 1; |
gint Ldone = 1; |
|
gchar *Ldst = get_combo_value(Lgraveur); |
|
319 |
gchar Ltmpdir[MAXPATHLEN] = ""; |
gchar Ltmpdir[MAXPATHLEN] = ""; |
320 |
gchar *Lextrapara = NULL; |
gchar *Lextrapara = NULL; |
321 |
gchar Liso[MAXPATHLEN] = ""; |
gchar Liso[MAXPATHLEN] = ""; |
333 |
* l'operation */ |
* l'operation */ |
334 |
Lstatus = preparedata(Ag, Aerror); |
Lstatus = preparedata(Ag, Aerror); |
335 |
|
|
336 |
_DEB("i1ci LDST => %s\n", Ldst); |
if (Lgraveur) { |
|
if (strcmp(Ldst, "iso")) { |
|
337 |
g_snprintf(Liso, MAXPATHLEN-1, "%s.iso", Ltmpdir); |
g_snprintf(Liso, MAXPATHLEN-1, "%s.iso", Ltmpdir); |
338 |
Ltodo+=(Lsimul ? 2 : 1); /* + 1 pour l'ecriture de l'image iso et 1 pour la simulation */ |
Ltodo+=(Lsimul ? 2 : 1); /* + 1 pour l'ecriture de l'image iso et 1 pour la simulation */ |
339 |
} else { |
} else { |
350 |
Lstatus = make_iso(Ag, Aerror); |
Lstatus = make_iso(Ag, Aerror); |
351 |
sc_grave_del_data(Ag, "extrapara"); |
sc_grave_del_data(Ag, "extrapara"); |
352 |
g_free(Lextrapara); |
g_free(Lextrapara); |
353 |
if (strcmp(Ldst, "iso") && Lstatus && *Labort==FALSE) { |
if (Lgraveur && Lstatus && *Labort==FALSE) { |
354 |
/* ici il faut appeler cdrecord ! */ |
/* ici il faut appeler cdrecord ! */ |
355 |
Lextrapara = burn_data_getextrapara(Ag); |
Lextrapara = burn_data_getextrapara(Ag); |
356 |
sc_grave_set_data(Ag, Lextrapara, "extrapara"); /* parametres supplementaires */ |
sc_grave_set_data(Ag, Lextrapara, "extrapara"); /* parametres supplementaires */ |
362 |
|
|
363 |
unlink (Ltmpdir); |
unlink (Ltmpdir); |
364 |
|
|
365 |
if (strcmp(Ldst, "iso") && *Liso |
if (Lgraveur && *Liso |
366 |
&& g_file_test(Liso, G_FILE_TEST_EXISTS + G_FILE_TEST_IS_REGULAR)==TRUE) { |
&& g_file_test(Liso, G_FILE_TEST_EXISTS + G_FILE_TEST_IS_REGULAR)==TRUE) { |
367 |
unlink(Liso); |
unlink(Liso); |
368 |
} |
} |
491 |
gint Ltodo = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sc_grave_get_widget(Ag, "nbrdvddata"))); |
gint Ltodo = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sc_grave_get_widget(Ag, "nbrdvddata"))); |
492 |
gboolean Lsimul = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Ag, "dvddatasimul"))); |
gboolean Lsimul = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Ag, "dvddatasimul"))); |
493 |
GtkEntry *Lgraveuriso = GTK_ENTRY(sc_grave_get_widget(Ag, "dstdvddatabtnvalue")); |
GtkEntry *Lgraveuriso = GTK_ENTRY(sc_grave_get_widget(Ag, "dstdvddatabtnvalue")); |
494 |
GtkWidget *Lgraveur = sc_grave_get_widget(Ag, "dstdvddatacombo"); |
Tdriveinfo *Lgraveur = get_drive_info(Ag, "dstdvddatacombo"); |
495 |
gint Ldone = 1; |
gint Ldone = 1; |
|
gchar *Ldst = get_combo_value(Lgraveur); |
|
496 |
gchar Ltmpdir[MAXPATHLEN] = ""; |
gchar Ltmpdir[MAXPATHLEN] = ""; |
497 |
gchar *Lextrapara = NULL; |
gchar *Lextrapara = NULL; |
498 |
gchar *Ltmp; |
gchar *Ltmp; |
509 |
/* on retourne dans ltmp le nom du repertoire temporraire utilise pour |
/* on retourne dans ltmp le nom du repertoire temporraire utilise pour |
510 |
* l'operation */ |
* l'operation */ |
511 |
Lstatus = preparedata(Ag, Aerror); |
Lstatus = preparedata(Ag, Aerror); |
|
_DEB("ici 1LDST => %s\n", Ldst); |
|
512 |
|
|
513 |
Lextrapara = make_image_getextrapara(Ag, "dvddata"); |
Lextrapara = make_image_getextrapara(Ag, "dvddata"); |
514 |
sc_grave_set_data(Ag, Lextrapara, "extrapara"); /* parametres supplementaires */ |
sc_grave_set_data(Ag, Lextrapara, "extrapara"); /* parametres supplementaires */ |
515 |
|
|
516 |
if (strcmp(Ldst, "iso")) { |
if (Lgraveur) { |
517 |
if (Lsimul) Ltodo++; /* 1 pour la simulation */ |
if (Lsimul) Ltodo++; /* 1 pour la simulation */ |
518 |
|
|
519 |
Lstatus = burn_dvd(Ag, Aerror); |
Lstatus = burn_dvd(Ag, Aerror); |