188 |
g_hash_table_insert(Ahash, "gerror", Aerror); /* pointeur retour des erreurs */ |
g_hash_table_insert(Ahash, "gerror", Aerror); /* pointeur retour des erreurs */ |
189 |
|
|
190 |
if (!strcmp(Lsrc, "iso")) { |
if (!strcmp(Lsrc, "iso")) { |
191 |
/* copie d'une image vers un cd */ |
/* copie d'une image vers un cd, on utilise cdrecord */ |
192 |
Lptriso = gtk_entry_get_text(Llecteuriso); |
Lptriso = gtk_entry_get_text(Llecteuriso); |
193 |
Liso = _FILENAME(Lptriso); |
Liso = _FILENAME(Lptriso); |
194 |
|
|
209 |
} |
} |
210 |
g_free(Liso); |
g_free(Liso); |
211 |
} else if (!strcmp(Ldst, "iso")) { |
} else if (!strcmp(Ldst, "iso")) { |
212 |
/* copie d'un cd vers une image */ |
/* copie d'un cd vers une image, on utilise readcd */ |
213 |
struct stat Lfstat; |
struct stat Lfstat; |
214 |
Lptriso = gtk_entry_get_text(Lgraveuriso); |
Lptriso = gtk_entry_get_text(Lgraveuriso); |
215 |
Liso = _FILENAME(Lptriso); |
Liso = _FILENAME(Lptriso); |
234 |
g_hash_table_remove(Ahash, "iso"); |
g_hash_table_remove(Ahash, "iso"); |
235 |
g_free(Liso); |
g_free(Liso); |
236 |
} |
} |
237 |
} else { |
} else { /* copie d'un cd a un autre, on utilise cdrdao */ |
238 |
gchar *Ltmpdir; |
gchar *Ltmpdir; |
239 |
/* on ajoute une tache pour la lecture, |
/* on ajoute une tache pour la lecture, |
240 |
* si il y a simulation alors ajoute une tache a faire */ |
* si il y a simulation alors ajoute une tache a faire */ |
241 |
Ltodo = Ltodo + 1 + (Lsimul == TRUE ? 1 : 0); |
// Ltodo = Ltodo + 1 + (Lsimul == TRUE ? 1 : 0); |
242 |
|
|
243 |
/* copie d'un cd vers un cd |
/* copie d'un cd vers un cd |
244 |
* on passe quand meme vers une image temporraire pour le moment, |
* on passe quand meme vers une image temporraire pour le moment, |
251 |
_("Cannot create directory"), Ltmpdir, g_strerror(errno)); |
_("Cannot create directory"), Ltmpdir, g_strerror(errno)); |
252 |
Lstatus = FALSE; |
Lstatus = FALSE; |
253 |
} else { |
} else { |
254 |
Ltmpdir = g_realloc(Ltmpdir, strlen(Ltmpdir)+strlen("/tmpiso.raw")+1); |
Ltmpdir = g_realloc(Ltmpdir, strlen(Ltmpdir)+strlen("/tmpiso.bin")+1); |
255 |
strcat(Ltmpdir, "/tmpiso.raw"); |
strcat(Ltmpdir, "/tmpiso.bin"); |
256 |
|
|
257 |
g_hash_table_insert(Ahash, "iso", &Ltmpdir); /* image iso */ |
g_hash_table_insert(Ahash, "iso", &Ltmpdir); /* image iso */ |
258 |
|
|
259 |
/* on copie donc vers l'iso */ |
/* copie du cd avec monsieur cdrdao */ |
260 |
|
Lstatus = copycd(Ahash, Aerror); |
261 |
|
|
262 |
|
|
263 |
|
/* on copie donc vers l'iso |
264 |
Lstatus = make_image(Ahash, Aerror); |
Lstatus = make_image(Ahash, Aerror); |
265 |
if (Lstatus == TRUE && *Labort == FALSE) { |
if (Lstatus == TRUE && *Labort == FALSE) { |
266 |
/* et maintenant dans le sens inverse si tout va toujours bien */ |
* et maintenant dans le sens inverse si tout va toujours bien * |
267 |
Ldone++; |
Ldone++; |
268 |
|
|
269 |
/* si le lecteur et le graveur sont les meme alors on demande a l'utilisateur |
* si le lecteur et le graveur sont les meme alors on demande a l'utilisateur |
270 |
* de changer de CD.. ! */ |
* de changer de CD.. ! * |
271 |
if (!strcmp(Lsrc, Ldst)) { |
if (!strcmp(Lsrc, Ldst)) { |
272 |
gint Lrep; |
gint Lrep; |
273 |
GtkWidget *Lconfirm = gtk_message_dialog_new(NULL, |
GtkWidget *Lconfirm = gtk_message_dialog_new(NULL, |
275 |
GTK_BUTTONS_YES_NO, |
GTK_BUTTONS_YES_NO, |
276 |
_("Reading is finished, now you should insert a CD-R, do you want to continue operation ?")); |
_("Reading is finished, now you should insert a CD-R, do you want to continue operation ?")); |
277 |
|
|
278 |
/* on eject le CD */ |
* on eject le CD * |
279 |
eject_cd(Lsrc, NULL); |
eject_cd(Lsrc, NULL); |
280 |
|
|
281 |
Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
282 |
gtk_widget_destroy(Lconfirm); |
gtk_widget_destroy(Lconfirm); |
283 |
if (Lrep == GTK_RESPONSE_NO) { |
if (Lrep == GTK_RESPONSE_NO) { |
284 |
/* si c'est non alors on arrete */ |
* si c'est non alors on arrete * |
285 |
*Labort = TRUE; |
*Labort = TRUE; |
286 |
Lstatus = TRUE; |
Lstatus = TRUE; |
287 |
} |
} |
290 |
if (Lstatus == TRUE && *Labort == FALSE) { |
if (Lstatus == TRUE && *Labort == FALSE) { |
291 |
Lstatus = burn_from_image("copy", Ahash, Aerror); |
Lstatus = burn_from_image("copy", Ahash, Aerror); |
292 |
} |
} |
293 |
} |
} */ |
294 |
if ((Ltxt=strrchr(Ltmpdir, '/'))) *Ltxt=0; |
if ((Ltxt=strrchr(Ltmpdir, '/'))) *Ltxt=0; |
295 |
|
|
296 |
deltempdir(Ltmpdir); |
deltempdir(Ltmpdir); |