106 |
} |
} |
107 |
|
|
108 |
/* callback appele pour l'ajout de chaques fichiers */ |
/* callback appele pour l'ajout de chaques fichiers */ |
109 |
void _add_a_file(gchar *Anom, GtkTreeStore *ATreeStore, GtkTreeIter *Aparent, GHashTable *Ahash) |
void _add_a_file(gchar *Anom, GtkTreeStore *ATreeStore, GtkTreeIter *Aparent, GHashTable *Ahash, guint64 *Adatasize) |
110 |
{ |
{ |
|
guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Ahash, "datasize"); |
|
111 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
112 |
gchar *LOnlyName; |
gchar *LOnlyName; |
113 |
struct stat Lfi; |
struct stat Lfi; |
150 |
if (!strcmp(Lcurfic->d_name, ".") || !strcmp(Lcurfic->d_name, "..")) continue; |
if (!strcmp(Lcurfic->d_name, ".") || !strcmp(Lcurfic->d_name, "..")) continue; |
151 |
|
|
152 |
Lfullname = g_strdup_printf("%s/%s", Anom, Lcurfic->d_name); |
Lfullname = g_strdup_printf("%s/%s", Anom, Lcurfic->d_name); |
153 |
_add_a_file(Lfullname, ATreeStore, &Liter, Ahash); |
_add_a_file(Lfullname, ATreeStore, &Liter, Ahash, Adatasize); |
154 |
g_free(Lfullname); |
g_free(Lfullname); |
155 |
} |
} |
156 |
closedir(Ldir); |
closedir(Ldir); |
165 |
g_free(Lnomutf8); |
g_free(Lnomutf8); |
166 |
g_free(Lonlynameutf8); |
g_free(Lonlynameutf8); |
167 |
|
|
168 |
*(Ldatasize)=*(Ldatasize) + Lfi.st_size; |
*(Adatasize)=*(Adatasize) + Lfi.st_size; |
169 |
} |
} |
170 |
} |
} |
171 |
|
|
173 |
void gtk_data_creerrepertoire(GtkWidget *btn, gpointer Adata) |
void gtk_data_creerrepertoire(GtkWidget *btn, gpointer Adata) |
174 |
{ |
{ |
175 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
176 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
177 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
178 |
GtkTreeIter Liter, Lparent; |
GtkTreeIter Liter, Lparent; |
179 |
GtkWidget *Lboite, *Lentry; |
GtkWidget *Lboite, *Lentry; |
215 |
void gtk_data_expandelement(GtkWidget *btn, gpointer Adata) |
void gtk_data_expandelement(GtkWidget *btn, gpointer Adata) |
216 |
{ |
{ |
217 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
218 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
219 |
GtkTreePath *Lpath = NULL; |
GtkTreePath *Lpath = NULL; |
220 |
|
|
221 |
gtk_tree_view_get_cursor(Lliste, &Lpath, NULL); |
gtk_tree_view_get_cursor(Lliste, &Lpath, NULL); |
229 |
void gtk_data_renommerelement(GtkWidget *Abtn, gpointer Adata) |
void gtk_data_renommerelement(GtkWidget *Abtn, gpointer Adata) |
230 |
{ |
{ |
231 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
232 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
233 |
GtkWidget *Lboite, *Lentry; |
GtkWidget *Lboite, *Lentry; |
234 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
235 |
GtkTreePath *Lpath = NULL; |
GtkTreePath *Lpath = NULL; |
342 |
} |
} |
343 |
|
|
344 |
/* parcourir tous les fils d'un element et recuperer leur taille que l'on enleve de "cursize" */ |
/* parcourir tous les fils d'un element et recuperer leur taille que l'on enleve de "cursize" */ |
345 |
void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint32 *Acursize, GHashTable *Ahash); |
void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint64 *Acursize, GHashTable *Ahash); |
346 |
void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint32 *Acursize, GHashTable *Ahash) |
void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint64 *Acursize, GHashTable *Ahash) |
347 |
{ |
{ |
348 |
GtkTreeIter Lcuriter; |
GtkTreeIter Lcuriter; |
349 |
guint32 Lsizenbr = 0; |
guint64 Lsizenbr = 0; |
350 |
int Ltype; |
int Ltype; |
351 |
|
|
352 |
if (gtk_tree_model_iter_children(Atreedata, &Lcuriter, Aiter)) { |
if (gtk_tree_model_iter_children(Atreedata, &Lcuriter, Aiter)) { |
389 |
update_status_bar_display(Lhash); |
update_status_bar_display(Lhash); |
390 |
} |
} |
391 |
|
|
|
|
|
392 |
/* enlever des fichiers a graver */ |
/* enlever des fichiers a graver */ |
393 |
void gtk_data_removefiles(GtkWidget *Abtn, gpointer Adata) |
void gtk_data_removefiles(GtkWidget *Abtn, gpointer Adata) |
394 |
{ |
{ |
395 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
396 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
397 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
// gchar *Lprefix = (!strcmp(glade_get_widget_name(Lliste), "LISTEDATA") ? "data" : "dvddata"); |
398 |
guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(sc_hash_table_lookupv(Lhash, "%ssizebar", Lprefix)); |
399 |
guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
guint64 *Ldatasize; // = (guint64 *)g_hash_table_lookup(Lhash, "%ssize", Lprefix); |
400 |
|
guint64 *Ldatamaxsize; // = (guint64 *)g_hash_table_lookup(Lhash, "%smaxsize", Lprefix); |
401 |
|
|
402 |
|
_REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
403 |
|
|
404 |
/* image de boot */ |
/* image de boot */ |
405 |
#if 0 |
#if 0 |
406 |
GtkTreeIter *Literboot = g_hash_table_lookup(Lhash, "file_imageboot"); |
GtkTreeIter *Literboot = g_hash_table_lookup(Lhash, "file_imageboot"); |
407 |
#endif |
#endif |
|
/* c'est en fait bien plus simple que cela maintenant que l'on |
|
|
* ne peu selectionner qu'un seul fichier a la fois */ |
|
408 |
GtkTreeModel *Ltreedata = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
GtkTreeModel *Ltreedata = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
409 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
410 |
GList *Lfiles = gtk_tree_selection_get_selected_rows(Lselection, &Ltreedata); |
GList *Lfiles = gtk_tree_selection_get_selected_rows(Lselection, &Ltreedata); |
411 |
GList *Lrefs = NULL; |
GList *Lrefs = NULL; |
412 |
GList *Lnode = NULL; |
GList *Lnode = NULL; |
413 |
|
gint Ltype; |
414 |
guint32 Lsizenbr = 0; |
guint32 Lsizenbr = 0; |
415 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
416 |
gpointer Lproxy = g_object_newv(G_TYPE_OBJECT, 0, NULL); |
gpointer Lproxy = g_object_newv(G_TYPE_OBJECT, 0, NULL); |
427 |
if (Lpath) { |
if (Lpath) { |
428 |
gtk_tree_model_get_iter(Ltreedata, &Liter, Lpath); |
gtk_tree_model_get_iter(Ltreedata, &Liter, Lpath); |
429 |
|
|
430 |
gtk_tree_model_get(Ltreedata, &Liter, 6, &Lsizenbr, -1); |
gtk_tree_model_get(Ltreedata, &Liter, 0, &Ltype, 6, &Lsizenbr, -1); |
431 |
|
|
432 |
*Ldatasize-=Lsizenbr; |
/* on enleve pas l'element racine */ |
433 |
g_assert((*Ldatasize) >= 0); |
if (Ltype != TYPE_CD) { |
434 |
|
*Ldatasize-=Lsizenbr; |
435 |
/* suppresion icone "image cd de boot" */ |
g_assert((*Ldatasize) >= 0); |
436 |
#if 0 |
|
437 |
if (Literboot && !memcmp(&Liter, Literboot, sizeof(Liter))) { |
/* on enleve la taille des eventuels enfants */ |
438 |
//printf("oui on efface Literboot!"); |
remove_children_size(Ltreedata, &Liter, Ldatasize, Lhash); |
439 |
gtk_tree_iter_free(Literboot); |
|
440 |
g_hash_table_steal(Lhash, "file_imageboot"); |
gtk_tree_store_remove(GTK_TREE_STORE(Ltreedata), &Liter); |
441 |
} |
gtk_tree_row_reference_deleted(Lproxy, Lpath); |
442 |
#endif |
gtk_tree_path_free(Lpath); |
443 |
/* on enleve la taille des eventuels enfants */ |
} |
|
remove_children_size(Ltreedata, &Liter, Ldatasize, Lhash); |
|
|
|
|
|
gtk_tree_store_remove(GTK_TREE_STORE(Ltreedata), &Liter); |
|
|
gtk_tree_row_reference_deleted(Lproxy, Lpath); |
|
|
gtk_tree_path_free(Lpath); |
|
444 |
} |
} |
445 |
gtk_tree_row_reference_free(Lnode->data); /* No longer needed */ |
gtk_tree_row_reference_free(Lnode->data); /* No longer needed */ |
446 |
} |
} |
491 |
void gtk_data_adddirectory(GtkWidget *btn, gpointer Adata) |
void gtk_data_adddirectory(GtkWidget *btn, gpointer Adata) |
492 |
{ |
{ |
493 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
494 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
495 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
496 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
497 |
GtkWidget *Lfilesel = create_adddirselection(NULL); |
GtkWidget *Lfilesel = create_adddirselection(NULL); |
498 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
499 |
GSList *Lfiles, *Lcur; |
GSList *Lfiles, *Lcur; |
500 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
501 |
guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
guint64 *Ldatasize; // = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
502 |
guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
guint64 *Ldatamaxsize; // = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
503 |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
504 |
GtkTreePath *Lpath = NULL; |
GtkTreePath *Lpath = NULL; |
505 |
|
|
506 |
|
_REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
507 |
|
|
508 |
/* focus sur le premier element si pas de focus */ |
/* focus sur le premier element si pas de focus */ |
509 |
if (!Lnumsel) { |
if (!Lnumsel) { |
510 |
if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return; |
if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return; |
527 |
Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel)); |
Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel)); |
528 |
|
|
529 |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
530 |
_add_a_file((gchar *) Lcur->data, (GtkTreeStore *)Ltreemodel, &Liter, Lhash); |
_add_a_file((gchar *) Lcur->data, (GtkTreeStore *)Ltreemodel, &Liter, Lhash, Ldatasize); |
531 |
|
|
532 |
} |
} |
533 |
g_slist_free(Lfiles); |
g_slist_free(Lfiles); |
547 |
void gtk_data_addfile(GtkWidget *btn, gpointer Adata) |
void gtk_data_addfile(GtkWidget *btn, gpointer Adata) |
548 |
{ |
{ |
549 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
550 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
551 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
552 |
guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
guint64 *Ldatasize; // = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
553 |
guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
guint64 *Ldatamaxsize; // = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
554 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
555 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
556 |
GtkWidget *Lfilesel = create_addfileselection(NULL); |
GtkWidget *Lfilesel = create_addfileselection(NULL); |
557 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
559 |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
560 |
GtkTreePath *Lpath = NULL; |
GtkTreePath *Lpath = NULL; |
561 |
|
|
562 |
|
_REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
563 |
|
|
564 |
|
printf("2= ca le fais ? UINT [%d]\n", (guint32) *Ldatasize); |
565 |
|
if (GTK_IS_WIDGET(Lcontenance)) { |
566 |
|
printf("2= ici ca le fais\n"); |
567 |
|
} |
568 |
|
|
569 |
/* focus sur le premier element si pas de focus */ |
/* focus sur le premier element si pas de focus */ |
570 |
if (!Lnumsel) { |
if (!Lnumsel) { |
571 |
if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return; |
if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return; |
586 |
save_last_dir(GTK_FILE_CHOOSER(Lfilesel)); |
save_last_dir(GTK_FILE_CHOOSER(Lfilesel)); |
587 |
|
|
588 |
Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel)); |
Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel)); |
589 |
|
printf("ici tout va bien !!!!\n"); |
590 |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
591 |
_add_a_file((gchar *) Lcur->data, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash); |
_add_a_file((gchar *) Lcur->data, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash, Ldatasize); |
592 |
|
|
593 |
} |
} |
594 |
|
printf("ici fin de tout va bien !!!!\n"); |
595 |
g_slist_free(Lfiles); |
g_slist_free(Lfiles); |
596 |
|
|
597 |
if ((Lpath = gtk_tree_model_get_path(Ltreemodel, &Liter))) { |
if ((Lpath = gtk_tree_model_get_path(Ltreemodel, &Liter))) { |
601 |
} |
} |
602 |
gtk_widget_destroy(Lfilesel); |
gtk_widget_destroy(Lfilesel); |
603 |
|
|
604 |
|
printf("switch !!!!\n"); |
605 |
|
if (GTK_IS_WIDGET(Lcontenance)) { |
606 |
|
printf("pre switch ok\n"); |
607 |
|
} |
608 |
switch_pbar_status(Lcontenance, *Ldatamaxsize, *Ldatasize, PB_UPDATE_DATA); |
switch_pbar_status(Lcontenance, *Ldatamaxsize, *Ldatasize, PB_UPDATE_DATA); |
609 |
} |
} |
610 |
|
|
996 |
GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
997 |
GtkWidget *Ldevice; |
GtkWidget *Ldevice; |
998 |
gboolean Lwritercdrw; |
gboolean Lwritercdrw; |
999 |
|
Ttypeoperation Loperation = WRITE_CD; |
1000 |
|
|
1001 |
Lname = gtk_widget_get_name(Abtn); |
Lname = gtk_widget_get_name(Abtn); |
1002 |
|
|
1020 |
Ltxt = _("Do you really want to create an audio cd ?"); |
Ltxt = _("Do you really want to create an audio cd ?"); |
1021 |
Ltitle = _("Writing audio cd in progress..."); |
Ltitle = _("Writing audio cd in progress..."); |
1022 |
Ldevice = g_hash_table_lookup(Lhash, "dstaudiocombo"); |
Ldevice = g_hash_table_lookup(Lhash, "dstaudiocombo"); |
1023 |
} else if (g_str_has_prefix(Lname, "btnburndata")) { |
} else if (g_str_has_prefix(Lname, "btnburndata") || g_str_has_prefix(Lname, "btnburndvddata")) { |
1024 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
1025 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"))); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list"))); |
1026 |
/* gravure cd de donnee, on verifie qu'il y ai au |
/* gravure cd de donnee, on verifie qu'il y ai au |
1027 |
* moins un fichier/repertoire dans la liste */ |
* moins un fichier/repertoire dans la liste */ |
1028 |
|
|
1029 |
|
if (g_str_has_prefix(Lname, "btnburndvddata")) { |
1030 |
|
Loperation = WRITE_DVD; |
1031 |
|
} |
1032 |
|
|
1033 |
if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter) || |
if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter) || |
1034 |
!gtk_tree_model_iter_has_child(Ltreemodel, &Liter)) { |
!gtk_tree_model_iter_has_child(Ltreemodel, &Liter)) { |
1035 |
|
|
1041 |
gtk_widget_destroy(Lconfirm); |
gtk_widget_destroy(Lconfirm); |
1042 |
return; |
return; |
1043 |
} |
} |
1044 |
Ltxt = _("Do you really want to create a data cd ?"); |
|
1045 |
Ltitle = _("Writing data cd in progress..."); |
if (Loperation == WRITE_CD) { |
1046 |
Ldevice = g_hash_table_lookup(Lhash, "dstdatacombo"); |
Ltxt = _("Do you really want to create a data cd ?"); |
1047 |
|
Ltitle = _("Writing data cd in progress..."); |
1048 |
|
Ldevice = g_hash_table_lookup(Lhash, "dstdatacombo"); |
1049 |
|
} else { |
1050 |
|
Ltxt = _("Do you really want to create a data dvd ?"); |
1051 |
|
Ltitle = _("Writing data dvd in progress..."); |
1052 |
|
} |
1053 |
} else { |
} else { |
1054 |
/* copie de cd */ |
/* copie de cd */ |
1055 |
Ltxt = _("Do you really want to start the copy ?"); |
Ltxt = _("Do you really want to start the copy ?"); |
1058 |
} |
} |
1059 |
|
|
1060 |
/* confirmation debut de l'operation */ |
/* confirmation debut de l'operation */ |
1061 |
/* on affiche l'option "effacer le CDRW que lorsque c'est un graveur qui le permet .. */ |
|
1062 |
Lwritercdrw = DRIVE_CDRW_WRITER(get_drive_cmb(GTK_COMBO_BOX(Ldevice))) ? TRUE : FALSE; |
if (Loperation == WRITE_CD) { |
1063 |
Ldialoghash = create_dialog_confirm_operation(Lwindow1, Ltxt, |
/* on affiche l'option "effacer le CDRW que lorsque c'est un graveur qui le permet .. */ |
1064 |
|
Lwritercdrw = DRIVE_CDRW_WRITER(get_drive_cmb(GTK_COMBO_BOX(Ldevice))) ? TRUE : FALSE; |
1065 |
|
Ldialoghash = create_dialog_confirm_operation(Lwindow1, Ltxt, |
1066 |
Lwritercdrw == TRUE ? _("Blank CD-RW before writing") : NULL, conf_get_boolean("autoblank")); |
Lwritercdrw == TRUE ? _("Blank CD-RW before writing") : NULL, conf_get_boolean("autoblank")); |
1067 |
|
} else { |
1068 |
|
/* confirmation gravure dvd */ |
1069 |
|
Ldialoghash = create_dialog_select_dvdoperation(Lwindow1); |
1070 |
|
} |
1071 |
Lconfirm = g_hash_table_lookup(Ldialoghash, "window"); |
Lconfirm = g_hash_table_lookup(Ldialoghash, "window"); |
1072 |
|
|
1073 |
Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
1074 |
|
|
1075 |
if (Lrep == GTK_RESPONSE_YES) { |
if (Lrep == GTK_RESPONSE_YES) { |
1076 |
/* ok go ! */ |
/* ok go ! */ |
1077 |
GtkCheckButton *Labcheck = GTK_CHECK_BUTTON(g_hash_table_lookup(Ldialoghash, "checkbox")); |
if (Loperation == WRITE_CD) { |
1078 |
|
GtkCheckButton *Labcheck = GTK_CHECK_BUTTON(g_hash_table_lookup(Ldialoghash, "checkbox")); |
1079 |
|
|
1080 |
|
g_assert(GTK_IS_WIDGET(Labcheck)); |
1081 |
|
if (Lwritercdrw == TRUE) { |
1082 |
|
Luseautoblank = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labcheck)); |
1083 |
|
} |
1084 |
|
} else { |
1085 |
|
|
|
g_assert(GTK_IS_WIDGET(Labcheck)); |
|
|
if (Lwritercdrw == TRUE) { |
|
|
Luseautoblank = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labcheck)); |
|
1086 |
} |
} |
1087 |
|
|
1088 |
gtk_widget_destroy(Lconfirm); |
gtk_widget_destroy(Lconfirm); |
1148 |
const gchar *Lname = glade_get_widget_name(Aliste); |
const gchar *Lname = glade_get_widget_name(Aliste); |
1149 |
if (!strcmp(Lname, "LISTEDATA")) { |
if (!strcmp(Lname, "LISTEDATA")) { |
1150 |
view_popupmenu_addfile(Aliste, Aevent, Adata); |
view_popupmenu_addfile(Aliste, Aevent, Adata); |
1151 |
|
} else if (!strcmp(Lname, "LISTEDVDDATA")) { |
1152 |
|
view_popupmenu_addfile(Aliste, Aevent, Adata); |
1153 |
} else if (!strcmp(Lname, "LISTEAUDIO")) { |
} else if (!strcmp(Lname, "LISTEAUDIO")) { |
1154 |
view_popupmenu_addaudio(Aliste, Aevent, Adata); |
view_popupmenu_addaudio(Aliste, Aevent, Adata); |
1155 |
} else if (!strcmp(Lname, "periphdata")) { |
} else if (!strcmp(Lname, "periphdata")) { |
1255 |
void switchpage(GtkNotebook *Anotebook, GtkNotebookPage *Anotebookpage, guint Apagenum, gpointer Adata) |
void switchpage(GtkNotebook *Anotebook, GtkNotebookPage *Anotebookpage, guint Apagenum, gpointer Adata) |
1256 |
{ |
{ |
1257 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
1258 |
GtkWidget *Ldatavoli = g_hash_table_lookup(Lhash, "datavoli"); |
GtkWidget *Ldatavoli; |
1259 |
GtkTreeModel *LTreeModel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"))); |
GtkTreeModel *Ltreemodel; |
1260 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
1261 |
gchar *Lnom; |
gchar *Lnom; |
1262 |
|
|
1263 |
if (Apagenum != 0 && Apagenum != 2) return; |
if (Apagenum != 0 && Apagenum != 2) return; |
1264 |
|
|
1265 |
|
if (!strcmp(glade_get_widget_name(GTK_WIDGET(Anotebook)), "bodydata")) { |
1266 |
|
Ldatavoli = g_hash_table_lookup(Lhash, "datavoli"); |
1267 |
|
Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"))); |
1268 |
|
} else { |
1269 |
|
Ldatavoli = g_hash_table_lookup(Lhash, "dvddatavoli"); |
1270 |
|
Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDVDDATA"))); |
1271 |
|
} |
1272 |
|
|
1273 |
|
|
1274 |
|
|
1275 |
/* il devrait normalement toujours y avoir une entree dans la liste, au moins le nom du cd ! */ |
/* il devrait normalement toujours y avoir une entree dans la liste, au moins le nom du cd ! */ |
1276 |
if (!gtk_tree_model_get_iter_first(LTreeModel, &Liter)) return; |
if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return; |
1277 |
|
|
1278 |
gtk_tree_model_get(LTreeModel, &Liter, 2, &Lnom, -1); |
gtk_tree_model_get(Ltreemodel, &Liter, 2, &Lnom, -1); |
1279 |
if (Apagenum == 2) { |
if (Apagenum == 2) { |
1280 |
/* mise a jour du champ "Nom du volume" */ |
/* mise a jour du champ "Nom du volume" */ |
1281 |
gtk_entry_set_text(GTK_ENTRY(Ldatavoli), Lnom); |
gtk_entry_set_text(GTK_ENTRY(Ldatavoli), Lnom); |
1282 |
} else if (Apagenum == 0) { |
} else if (Apagenum == 0) { |
1283 |
/* mise a jour de l'entre contenant le nom du volume */ |
/* mise a jour de l'entre contenant le nom du volume */ |
1284 |
gtk_tree_store_set(GTK_TREE_STORE(LTreeModel), &Liter, 2, gtk_entry_get_text(GTK_ENTRY(Ldatavoli)), -1); |
gtk_tree_store_set(GTK_TREE_STORE(Ltreemodel), &Liter, 2, gtk_entry_get_text(GTK_ENTRY(Ldatavoli)), -1); |
1285 |
} |
} |
1286 |
|
|
1287 |
g_free(Lnom); |
g_free(Lnom); |
1511 |
const gchar *Lname = glade_get_widget_name(Acombo); |
const gchar *Lname = glade_get_widget_name(Acombo); |
1512 |
gchar *Lvalue = get_combo_value(Acombo); |
gchar *Lvalue = get_combo_value(Acombo); |
1513 |
GtkProgressBar *Lcontenance; |
GtkProgressBar *Lcontenance; |
1514 |
guint32 *Lmaxlen; |
guint64 *Lmaxlen; |
1515 |
guint32 *Llen; |
guint64 *Llen; |
1516 |
|
|
1517 |
if (!strcmp(Lname, "listeremplidata")) { |
if (!strcmp(Lname, "listeremplidata")) { /* cd data */ |
1518 |
Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
1519 |
Lmaxlen = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
Lmaxlen = (guint64 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
1520 |
Llen = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
Llen = (guint64 *)g_hash_table_lookup(Lhash, "datasize"); |
1521 |
(*Lmaxlen) = strtoul(Lvalue, NULL, 10) * 1024 * 1024; |
(*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10) * 1024 * 1024; |
1522 |
} else { |
} else if (!strcmp(Lname, "listeremplidvddata")) { /* dvd data */ |
1523 |
|
Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "dvddatasizebar")); |
1524 |
|
Lmaxlen = (guint64 *)g_hash_table_lookup(Lhash, "dvddatamaxsize"); |
1525 |
|
Llen = (guint64 *)g_hash_table_lookup(Lhash, "dvddatasize"); |
1526 |
|
(*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10) * 1024 * 1024; |
1527 |
|
|
1528 |
|
} else { /* cd audio */ |
1529 |
Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar")); |
Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar")); |
1530 |
Lmaxlen = (guint32 *)g_hash_table_lookup(Lhash, "audiomaxlen"); |
Lmaxlen = (guint64 *)g_hash_table_lookup(Lhash, "audiomaxlen"); |
1531 |
Llen = (guint32 *)g_hash_table_lookup(Lhash, "audiolen"); |
Llen = (guint64 *)g_hash_table_lookup(Lhash, "audiolen"); |
1532 |
(*Lmaxlen) = strtoul(Lvalue, NULL, 10); |
(*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10); |
1533 |
} |
} |
1534 |
|
|
1535 |
switch_pbar_status(Lcontenance, *Lmaxlen, *Llen, PB_NONE); |
switch_pbar_status(Lcontenance, *Lmaxlen, *Llen, PB_NONE); |
1540 |
{ |
{ |
1541 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
1542 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste)); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste)); |
1543 |
guint32 *Laudiolen = (guint32 *)g_hash_table_lookup(Lhash, "audiolen"); |
guint64 *Laudiolen = (guint64 *)g_hash_table_lookup(Lhash, "audiolen"); |
1544 |
guint32 *Laudiomaxlen = (guint32 *)g_hash_table_lookup(Lhash, "audiomaxlen"); |
guint64 *Laudiomaxlen = (guint64 *)g_hash_table_lookup(Lhash, "audiomaxlen"); |
1545 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar")); |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar")); |
1546 |
|
|
1547 |
if ((Aseldata->length >= 0) && (Aseldata->format == 8)) |
if ((Aseldata->length >= 0) && (Aseldata->format == 8)) |
1600 |
void data_dnd_data_received (GtkWidget *Aliste, GdkDragContext *Acontext, gint Ax, gint Ay, GtkSelectionData *Aseldata, guint Ainfo, guint Atime, gpointer Adata) |
void data_dnd_data_received (GtkWidget *Aliste, GdkDragContext *Acontext, gint Ax, gint Ay, GtkSelectionData *Aseldata, guint Ainfo, guint Atime, gpointer Adata) |
1601 |
{ |
{ |
1602 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
1603 |
guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
guint64 *Ldatasize; // = (guint64 *)g_hash_table_lookup(Lhash, "datasize"); |
1604 |
guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
guint64 *Ldatamaxsize; // = (guint64 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
1605 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
1606 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste)); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste)); |
1607 |
|
|
1608 |
|
_REMPLISSAGE_VALUE(Lhash, Aliste, Ldatasize, Ldatamaxsize, Lcontenance); |
1609 |
|
|
1610 |
if ((Aseldata->length >= 0) && (Aseldata->format == 8)) |
if ((Aseldata->length >= 0) && (Aseldata->format == 8)) |
1611 |
{ |
{ |
1612 |
gchar *Lunfic; |
gchar *Lunfic; |
1633 |
|
|
1634 |
Lfilename = g_filename_from_uri(Lunfic, NULL, NULL); |
Lfilename = g_filename_from_uri(Lunfic, NULL, NULL); |
1635 |
|
|
1636 |
_add_a_file(Lfilename, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash); |
_add_a_file(Lfilename, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash, Ldatasize); |
1637 |
|
|
1638 |
g_free(Lfilename); |
g_free(Lfilename); |
1639 |
} |
} |
1771 |
gtk_list_store_clear(GTK_LIST_STORE(Ltreemodel)); |
gtk_list_store_clear(GTK_LIST_STORE(Ltreemodel)); |
1772 |
switch_pbar_status(Lcontenance, *Laudiomaxlen, *Laudiolen, PB_UPDATE_AUDIO); |
switch_pbar_status(Lcontenance, *Laudiomaxlen, *Laudiolen, PB_UPDATE_AUDIO); |
1773 |
|
|
1774 |
} else if (!strcmp(Lname, "bodycddata")) { |
} else if (!strcmp(Lname, "bodycddata") || !strcmp(Lname, "bodydvddata")) { |
1775 |
/* on est sur l'onglet cd data, on vide la liste */ |
/* on est sur l'onglet cd data, on vide la liste */ |
1776 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
1777 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
1778 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
1779 |
guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
guint64 *Ldatasize; // = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
1780 |
guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
guint64 *Ldatamaxsize; // = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
1781 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
1782 |
#if 0 |
|
1783 |
= g_hash_table_lookup(Lhash, "file_imageboot"); |
_REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
1784 |
#endif |
|
1785 |
(*Ldatasize) = 0; |
(*Ldatasize) = 0; |
1786 |
|
|
1787 |
gtk_tree_store_clear(GTK_TREE_STORE(Ltreemodel)); |
gtk_tree_store_clear(GTK_TREE_STORE(Ltreemodel)); |
1788 |
/* icone de base dans la liste des fichiers */ |
/* icone de base dans la liste des fichiers */ |
1789 |
gtk_tree_store_append(GTK_TREE_STORE(Ltreemodel), &Liter, NULL); |
gtk_tree_store_append(GTK_TREE_STORE(Ltreemodel), &Liter, NULL); |
1790 |
gtk_tree_store_set(GTK_TREE_STORE(Ltreemodel), &Liter, 0, TYPE_CD, 1, GCDpetiteIcone, 2, _("New CD"), 3, "", 4, "", 5, 0, -1); |
gtk_tree_store_set(GTK_TREE_STORE(Ltreemodel), &Liter, 0, TYPE_CD, 1, GCDpetiteIcone, 2, |
1791 |
|
!strcmp(Lname, "bodycddata") ? _("New CD") : _("New DVD"), 3, "", 4, "", 5, 0, -1); |
1792 |
|
switch_pbar_status(Lcontenance, *Ldatamaxsize, *Ldatasize, PB_UPDATE_DATA); |
|
switch_pbar_status(Lcontenance, *Ldatamaxsize, *Ldatasize, PB_UPDATE_AUDIO); |
|
|
#if 0 |
|
|
if (Liter) { |
|
|
gtk_tree_iter_free(Liter); |
|
|
g_hash_table_steal(Lhash, "file_imageboot"); |
|
|
} |
|
|
#endif |
|
1793 |
} |
} |
1794 |
|
|
1795 |
g_free(Lname); |
g_free(Lname); |
1796 |
} |
} |
1797 |
|
|
1798 |
/* definir/enlever l'image de boot */ |
/* definir/enlever l'image de boot */ |
1799 |
|
#if 0 |
1800 |
void gtk_def_imageboot(GtkWidget *Abtn, gpointer Adata) |
void gtk_def_imageboot(GtkWidget *Abtn, gpointer Adata) |
1801 |
{ |
{ |
1802 |
GHashTable *Lhash = (GHashTable *)Adata; |
GHashTable *Lhash = (GHashTable *)Adata; |
1817 |
|
|
1818 |
g_hash_table_replace(Lhash, "file_imageboot", gtk_tree_iter_copy(&Lnewiter)); |
g_hash_table_replace(Lhash, "file_imageboot", gtk_tree_iter_copy(&Lnewiter)); |
1819 |
} |
} |
1820 |
|
#endif |
1821 |
|
|
1822 |
/* |
/* |
1823 |
* vim:et:ts=8:sts=2:sw=2 |
* vim:et:ts=8:sts=2:sw=2 |