37 |
} |
} |
38 |
|
|
39 |
/* callback appele pour l'ajout d'une piste audio */ |
/* callback appele pour l'ajout d'une piste audio */ |
40 |
void _add_a_piste(gchar *Anom, GtkListStore *Aliststore, GHashTable *Ahash) |
void _add_a_piste(gchar *Anom, GtkListStore *Aliststore, Tgrave *Ag) |
41 |
{ |
{ |
42 |
guint32 *Laudiolen = (guint32 *)g_hash_table_lookup(Ahash, "audiolen"); |
guint32 *Laudiolen = (guint32 *)sc_grave_get_data(Ag, "audiolen"); |
43 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
44 |
gchar *LTitle = NULL, *LAlbum = NULL, *LArtist = NULL; |
gchar *LTitle = NULL, *LAlbum = NULL, *LArtist = NULL; |
45 |
guint32 Llennbr = 0; |
guint32 Llennbr = 0; |
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, guint64 *Adatasize) |
void _add_a_file(gchar *Anom, GtkTreeStore *ATreeStore, GtkTreeIter *Aparent, Tgrave *Ag, guint64 *Adatasize) |
110 |
{ |
{ |
111 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
112 |
gchar *LOnlyName; |
gchar *LOnlyName; |
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, Adatasize); |
_add_a_file(Lfullname, ATreeStore, &Liter, Ag, Adatasize); |
154 |
g_free(Lfullname); |
g_free(Lfullname); |
155 |
} |
} |
156 |
closedir(Ldir); |
closedir(Ldir); |
172 |
/* creer un repertoire */ |
/* creer un repertoire */ |
173 |
void gtk_data_creerrepertoire(GtkWidget *btn, gpointer Adata) |
void gtk_data_creerrepertoire(GtkWidget *btn, gpointer Adata) |
174 |
{ |
{ |
175 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
176 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_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; |
214 |
/* developper tout le contenu de l'arbre */ |
/* developper tout le contenu de l'arbre */ |
215 |
void gtk_data_expandelement(GtkWidget *btn, gpointer Adata) |
void gtk_data_expandelement(GtkWidget *btn, gpointer Adata) |
216 |
{ |
{ |
217 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
218 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_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); |
228 |
/* renommer un element (fichier ou repertoire) */ |
/* renommer un element (fichier ou repertoire) */ |
229 |
void gtk_data_renommerelement(GtkWidget *Abtn, gpointer Adata) |
void gtk_data_renommerelement(GtkWidget *Abtn, gpointer Adata) |
230 |
{ |
{ |
231 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
232 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_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; |
301 |
/* enlever des pistes a graver */ |
/* enlever des pistes a graver */ |
302 |
void gtk_audio_removetrack(GtkWidget *Abtn, gpointer Adata) |
void gtk_audio_removetrack(GtkWidget *Abtn, gpointer Adata) |
303 |
{ |
{ |
304 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
305 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEAUDIO")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "LISTEAUDIO")); |
306 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
307 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar")); |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(sc_grave_get_data(Lg, "audiolenbar")); |
308 |
guint32 *Laudiolen = (guint32 *)g_hash_table_lookup(Lhash, "audiolen"); |
guint32 *Laudiolen = (guint32 *)sc_grave_get_data(Lg, "audiolen"); |
309 |
guint32 *Laudiomaxlen = (guint32 *)g_hash_table_lookup(Lhash, "audiomaxlen"); |
guint32 *Laudiomaxlen = (guint32 *)sc_grave_get_data(Lg, "audiomaxlen"); |
310 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
311 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
312 |
guint32 Llennbr = 0; |
guint32 Llennbr = 0; |
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, guint64 *Acursize, GHashTable *Ahash); |
void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint64 *Acursize, Tgrave *Ag); |
346 |
void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint64 *Acursize, GHashTable *Ahash) |
void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint64 *Acursize, Tgrave *Ag) |
347 |
{ |
{ |
348 |
GtkTreeIter Lcuriter; |
GtkTreeIter Lcuriter; |
349 |
guint64 Lsizenbr = 0; |
guint64 Lsizenbr = 0; |
355 |
*Acursize-=Lsizenbr; |
*Acursize-=Lsizenbr; |
356 |
#if 0 |
#if 0 |
357 |
if (Ltype == TYPE_IMAGEBOOT) { |
if (Ltype == TYPE_IMAGEBOOT) { |
358 |
g_hash_table_replace(Lhash, "file_imageboot", gtk_tree_iter_copy(&Lnewiter)); |
g_hash_table_replace(Lg, "file_imageboot", gtk_tree_iter_copy(&Lnewiter)); |
359 |
} |
} |
360 |
#endif |
#endif |
361 |
|
|
362 |
remove_children_size(Atreedata, &Lcuriter, Acursize, Ahash); |
remove_children_size(Atreedata, &Lcuriter, Acursize, Ag); |
363 |
} while (gtk_tree_model_iter_next(Atreedata, &Lcuriter)); |
} while (gtk_tree_model_iter_next(Atreedata, &Lcuriter)); |
364 |
} |
} |
365 |
} |
} |
368 |
void gtk_display_updatesize(GtkWidget *Abtn, gpointer Adata) |
void gtk_display_updatesize(GtkWidget *Abtn, gpointer Adata) |
369 |
{ |
{ |
370 |
const gchar *Lname = glade_get_widget_name(Abtn); |
const gchar *Lname = glade_get_widget_name(Abtn); |
371 |
GHashTable *Lhash = (GHashTable *) Adata; |
Tgrave *Lg = (Tgrave *) Adata; |
372 |
gchar *Lsize = strrchr(Lname, '_'); |
gchar *Lsize = strrchr(Lname, '_'); |
373 |
|
|
374 |
g_assert(Lsize); |
g_assert(Lsize); |
375 |
|
|
376 |
conf_store_value("iconsize", ++Lsize); |
conf_store_value("iconsize", ++Lsize); |
377 |
|
|
378 |
manage_interface(Lhash, MENU_UPDATE); |
manage_interface(Lg, MENU_UPDATE); |
379 |
} |
} |
380 |
|
|
381 |
/* clique sur le popup pour l'affichage ou non de la status bar */ |
/* clique sur le popup pour l'affichage ou non de la status bar */ |
382 |
void gtk_display_switchstatusbar(GtkWidget *Abtn, gpointer Adata) |
void gtk_display_switchstatusbar(GtkWidget *Abtn, gpointer Adata) |
383 |
{ |
{ |
384 |
GHashTable *Lhash = (GHashTable *) Adata; |
Tgrave *Lg = (Tgrave *) Adata; |
385 |
gboolean Ldispsb = conf_get_boolean("statusbar"); |
gboolean Ldispsb = conf_get_boolean("statusbar"); |
386 |
|
|
387 |
conf_store_value("statusbar", Ldispsb ? "0" : "1"); |
conf_store_value("statusbar", Ldispsb ? "0" : "1"); |
388 |
|
|
389 |
update_status_bar_display(Lhash); |
update_status_bar_display(Lg); |
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; |
Tgrave *Lg = (Tgrave *)Adata; |
396 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_current_list")); |
397 |
// gchar *Lprefix = (!strcmp(glade_get_widget_name(Lliste), "LISTEDATA") ? "data" : "dvddata"); |
GtkProgressBar *Lcontenance; |
398 |
GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(sc_hash_table_lookupv(Lhash, "%ssizebar", Lprefix)); |
guint64 *Ldatasize; |
399 |
guint64 *Ldatasize; // = (guint64 *)g_hash_table_lookup(Lhash, "%ssize", Lprefix); |
guint64 *Ldatamaxsize; |
|
guint64 *Ldatamaxsize; // = (guint64 *)g_hash_table_lookup(Lhash, "%smaxsize", Lprefix); |
|
400 |
|
|
401 |
_REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
_REMPLISSAGE_VALUE(Lg, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
402 |
|
|
403 |
/* image de boot */ |
/* image de boot */ |
404 |
#if 0 |
#if 0 |
405 |
GtkTreeIter *Literboot = g_hash_table_lookup(Lhash, "file_imageboot"); |
GtkTreeIter *Literboot = sc_grave_get_data(Lg, "file_imageboot"); |
406 |
#endif |
#endif |
407 |
GtkTreeModel *Ltreedata = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
GtkTreeModel *Ltreedata = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
408 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
434 |
g_assert((*Ldatasize) >= 0); |
g_assert((*Ldatasize) >= 0); |
435 |
|
|
436 |
/* on enleve la taille des eventuels enfants */ |
/* on enleve la taille des eventuels enfants */ |
437 |
remove_children_size(Ltreedata, &Liter, Ldatasize, Lhash); |
remove_children_size(Ltreedata, &Liter, Ldatasize, Lg); |
438 |
|
|
439 |
gtk_tree_store_remove(GTK_TREE_STORE(Ltreedata), &Liter); |
gtk_tree_store_remove(GTK_TREE_STORE(Ltreedata), &Liter); |
440 |
gtk_tree_row_reference_deleted(Lproxy, Lpath); |
gtk_tree_row_reference_deleted(Lproxy, Lpath); |
459 |
/* ajouter des pistes a graver */ |
/* ajouter des pistes a graver */ |
460 |
void gtk_audio_addtrack(GtkWidget *Abtn, gpointer Adata) |
void gtk_audio_addtrack(GtkWidget *Abtn, gpointer Adata) |
461 |
{ |
{ |
462 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
463 |
GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
GtkWidget *Lwindow1 = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
464 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEAUDIO")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO")); |
465 |
guint32 *Laudiolen = (guint32 *)g_hash_table_lookup(Lhash, "audiolen"); |
guint32 *Laudiolen = (guint32 *)sc_grave_get_data(Lg, "audiolen"); |
466 |
guint32 *Laudiomaxlen = (guint32 *)g_hash_table_lookup(Lhash, "audiomaxlen"); |
guint32 *Laudiomaxlen = (guint32 *)sc_grave_get_data(Lg, "audiomaxlen"); |
467 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar")); |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "audiolenbar")); |
468 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
469 |
GtkWidget *Lpistesel = create_addpisteselection(NULL); |
GtkWidget *Lpistesel = create_addpisteselection(NULL); |
470 |
GSList *Lfiles, *Lcur; |
GSList *Lfiles, *Lcur; |
477 |
|
|
478 |
set_cursor(Lwindow1, GDK_WATCH); |
set_cursor(Lwindow1, GDK_WATCH); |
479 |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
480 |
_add_a_piste((gchar *) Lcur->data, GTK_LIST_STORE(Ltreemodel), Lhash); |
_add_a_piste((gchar *) Lcur->data, GTK_LIST_STORE(Ltreemodel), Lg); |
481 |
} |
} |
482 |
unset_cursor(Lwindow1); |
unset_cursor(Lwindow1); |
483 |
|
|
492 |
/* ajouter des repertoires a graver */ |
/* ajouter des repertoires a graver */ |
493 |
void gtk_data_adddirectory(GtkWidget *btn, gpointer Adata) |
void gtk_data_adddirectory(GtkWidget *btn, gpointer Adata) |
494 |
{ |
{ |
495 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
496 |
GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
GtkWidget *Lwindow1 = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
497 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_current_list")); |
498 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
499 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
500 |
GtkWidget *Lfilesel = create_adddirselection(NULL); |
GtkWidget *Lfilesel = create_adddirselection(NULL); |
507 |
gint Ltype; |
gint Ltype; |
508 |
GtkTreePath *Lpath = NULL; |
GtkTreePath *Lpath = NULL; |
509 |
|
|
510 |
_REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
_REMPLISSAGE_VALUE(Lg, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
511 |
|
|
512 |
/* focus sur le premier element si pas de focus */ |
/* focus sur le premier element si pas de focus */ |
513 |
if (!Lnumsel) { |
if (!Lnumsel) { |
537 |
Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel)); |
Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel)); |
538 |
|
|
539 |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
540 |
_add_a_file((gchar *) Lcur->data, (GtkTreeStore *)Ltreemodel, &Liter, Lhash, Ldatasize); |
_add_a_file((gchar *) Lcur->data, (GtkTreeStore *)Ltreemodel, &Liter, Lg, Ldatasize); |
541 |
|
|
542 |
} |
} |
543 |
g_slist_free(Lfiles); |
g_slist_free(Lfiles); |
557 |
/* ajouter des fichiers a graver */ |
/* ajouter des fichiers a graver */ |
558 |
void gtk_data_addfile(GtkWidget *btn, gpointer Adata) |
void gtk_data_addfile(GtkWidget *btn, gpointer Adata) |
559 |
{ |
{ |
560 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
561 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_current_list")); |
562 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
563 |
guint64 *Ldatasize; |
guint64 *Ldatasize; |
564 |
guint64 *Ldatamaxsize; |
guint64 *Ldatamaxsize; |
571 |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
572 |
GtkTreePath *Lpath = NULL; |
GtkTreePath *Lpath = NULL; |
573 |
|
|
574 |
_REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
_REMPLISSAGE_VALUE(Lg, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
575 |
|
|
576 |
/* focus sur le premier element si pas de focus */ |
/* focus sur le premier element si pas de focus */ |
577 |
if (!Lnumsel) { |
if (!Lnumsel) { |
599 |
|
|
600 |
Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel)); |
Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel)); |
601 |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) { |
602 |
_add_a_file((gchar *) Lcur->data, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash, Ldatasize); |
_add_a_file((gchar *) Lcur->data, GTK_TREE_STORE(Ltreemodel), &Liter, Lg, Ldatasize); |
603 |
|
|
604 |
} |
} |
605 |
g_slist_free(Lfiles); |
g_slist_free(Lfiles); |
617 |
/* l'utilisateur veut editer un device */ |
/* l'utilisateur veut editer un device */ |
618 |
void gtk_devices_edit(GtkWidget *Abtn, gpointer Adata) |
void gtk_devices_edit(GtkWidget *Abtn, gpointer Adata) |
619 |
{ |
{ |
620 |
GHashTable *Lhash = (GHashTable *) Adata; |
Tgrave *Lg = (Tgrave *) Adata; |
621 |
GtkWidget *Lparent = GTK_WIDGET(g_hash_table_lookup(Lhash, "window")); |
GtkWidget *Lparent = GTK_WIDGET(sc_grave_get_widget(Lg, "window")); |
622 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "periphdata")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "periphdata")); |
623 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
624 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
625 |
GtkTreeModel *Ltreemodel; |
GtkTreeModel *Ltreemodel; |
626 |
|
|
627 |
if (gtk_tree_selection_get_selected(Lselection, &Ltreemodel, &Liter)) { |
if (gtk_tree_selection_get_selected(Lselection, &Ltreemodel, &Liter)) { |
628 |
GHashTable *Ldialoghash; |
Tgrave *Ldialoghash; |
629 |
GtkWidget *Lwineditdevice; |
GtkWidget *Lwineditdevice; |
630 |
Tdriveinfo *Ldrive; |
Tdriveinfo *Ldrive; |
631 |
gint Lnum; |
gint Lnum; |
634 |
gtk_tree_model_get(Ltreemodel, &Liter, 0, &Lnum, -1); |
gtk_tree_model_get(Ltreemodel, &Liter, 0, &Lnum, -1); |
635 |
Ldrive = (Tdriveinfo *)g_slist_nth_data(Glistdrives, Lnum); |
Ldrive = (Tdriveinfo *)g_slist_nth_data(Glistdrives, Lnum); |
636 |
Ldialoghash = create_dialog_edit_device(Lparent, Ldrive); |
Ldialoghash = create_dialog_edit_device(Lparent, Ldrive); |
637 |
Lwineditdevice = g_hash_table_lookup(Ldialoghash, "window"); |
Lwineditdevice = sc_grave_get_widget(Ldialoghash, "window"); |
638 |
|
|
639 |
if (gtk_dialog_run(GTK_DIALOG(Lwineditdevice)) != GTK_RESPONSE_CANCEL) { |
if (gtk_dialog_run(GTK_DIALOG(Lwineditdevice)) != GTK_RESPONSE_CANCEL) { |
640 |
GtkEntry *Ldevicename = g_hash_table_lookup(Ldialoghash, "devicename"); |
GtkEntry *Ldevicename = GTK_ENTRY(sc_grave_get_widget(Ldialoghash, "devicename")); |
641 |
|
|
642 |
Lbus = get_combo_intvalue(g_hash_table_lookup(Ldialoghash, "devicebus")); |
Lbus = get_combo_intvalue(sc_grave_get_widget(Ldialoghash, "devicebus")); |
643 |
Ldrive->actuperiph = Lbus; |
Ldrive->actuperiph = Lbus; |
644 |
|
|
645 |
/* on remplace le nom dans la liste des lecteurs */ |
/* on remplace le nom dans la liste des lecteurs */ |
650 |
4, Ldrive->name, -1); |
4, Ldrive->name, -1); |
651 |
} |
} |
652 |
gtk_widget_destroy(Lwineditdevice); |
gtk_widget_destroy(Lwineditdevice); |
653 |
g_hash_table_destroy(Ldialoghash); |
sc_grave_destroy(Ldialoghash); |
654 |
} |
} |
655 |
|
|
656 |
} |
} |
658 |
/* l'utilisateur a cliquer sur supprimer un device */ |
/* l'utilisateur a cliquer sur supprimer un device */ |
659 |
void gtk_devices_remove(GtkWidget *Abtn, gpointer Adata) |
void gtk_devices_remove(GtkWidget *Abtn, gpointer Adata) |
660 |
{ |
{ |
661 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
662 |
GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
GtkWidget *Lwindow1 = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
663 |
GtkWidget *Lconfirm; |
GtkWidget *Lconfirm; |
664 |
gint Lrep; |
gint Lrep; |
665 |
|
|
673 |
|
|
674 |
if (Lrep == GTK_RESPONSE_YES) { |
if (Lrep == GTK_RESPONSE_YES) { |
675 |
/* oui on supprime un device */ |
/* oui on supprime un device */ |
676 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "periphdata")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "periphdata")); |
677 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
678 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
679 |
GtkTreeModel *Ltreemodel; |
GtkTreeModel *Ltreemodel; |
693 |
/* ajouter manuelement un device */ |
/* ajouter manuelement un device */ |
694 |
void gtk_devices_add(GtkWidget *Abtn, gpointer Adata) |
void gtk_devices_add(GtkWidget *Abtn, gpointer Adata) |
695 |
{ |
{ |
696 |
GHashTable *Lhash = (GHashTable *) Adata; |
Tgrave *Lg = (Tgrave *) Adata; |
697 |
GtkWidget *Lparent = GTK_WIDGET(g_hash_table_lookup(Lhash, "window")); |
GtkWidget *Lparent = GTK_WIDGET(sc_grave_get_widget(Lg, "window")); |
698 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "periphdata")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "periphdata")); |
699 |
GHashTable *Ldialoghash = create_dialog_add_device(Lparent); |
Tgrave *Ldialoghash = create_dialog_add_device(Lparent); |
700 |
GtkWidget *Lwinadddevice = g_hash_table_lookup(Ldialoghash, "window"); |
GtkWidget *Lwinadddevice = sc_grave_get_widget(Ldialoghash, "window"); |
701 |
GtkWidget *Lmessage; |
GtkWidget *Lmessage; |
702 |
|
|
703 |
while (1) { |
while (1) { |
704 |
if (gtk_dialog_run(GTK_DIALOG(Lwinadddevice)) != GTK_RESPONSE_CANCEL) { |
if (gtk_dialog_run(GTK_DIALOG(Lwinadddevice)) != GTK_RESPONSE_CANCEL) { |
705 |
GtkEntry *Ldevicebus = GTK_ENTRY(g_hash_table_lookup(Ldialoghash, "devicebus")); |
GtkEntry *Ldevicebus = GTK_ENTRY(sc_grave_get_widget(Ldialoghash, "devicebus")); |
706 |
GtkEntry *Ldevicename = GTK_ENTRY(g_hash_table_lookup(Ldialoghash, "devicename")); |
GtkEntry *Ldevicename = GTK_ENTRY(sc_grave_get_widget(Ldialoghash, "devicename")); |
707 |
gchar *Lbus = (gchar *)gtk_entry_get_text(Ldevicebus); |
gchar *Lbus = (gchar *)gtk_entry_get_text(Ldevicebus); |
708 |
Tdriveinfo *Ldrive = g_malloc0(sizeof(Tdriveinfo)); |
Tdriveinfo *Ldrive = g_malloc0(sizeof(Tdriveinfo)); |
709 |
|
|
742 |
} |
} |
743 |
} |
} |
744 |
gtk_widget_destroy(Lwinadddevice); |
gtk_widget_destroy(Lwinadddevice); |
745 |
g_hash_table_destroy(Ldialoghash); |
sc_grave_destroy(Ldialoghash); |
746 |
} |
} |
747 |
|
|
748 |
|
|
749 |
/* selection d'une image iso */ |
/* selection d'une image iso */ |
750 |
void gtk_file_sel(GtkWidget *Abtn, gpointer Adata) |
void gtk_file_sel(GtkWidget *Abtn, gpointer Adata) |
751 |
{ |
{ |
752 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
753 |
const gchar *Lname = glade_get_widget_name(Abtn); |
const gchar *Lname = glade_get_widget_name(Abtn); |
754 |
GtkWidget *Ltextdest = (GtkWidget *) sc_hash_table_lookupv(Lhash, "%svalue", Lname); |
GtkWidget *Ltextdest = (GtkWidget *) sc_grave_get_widgetv(Lg, "%svalue", Lname); |
755 |
gint resp; |
gint resp; |
756 |
GtkWidget *Lfilesel; |
GtkWidget *Lfilesel; |
757 |
GtkFileChooserAction Ldialogtype = !strncmp(Lname, "src", 3) ? |
GtkFileChooserAction Ldialogtype = !strncmp(Lname, "src", 3) ? |
782 |
/* lors de la selection d'un lecteur / graveur */ |
/* lors de la selection d'un lecteur / graveur */ |
783 |
void on_selectgraveur(GtkWidget *Acombo, gpointer Adata) |
void on_selectgraveur(GtkWidget *Acombo, gpointer Adata) |
784 |
{ |
{ |
785 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
786 |
GtkWidget *Lpanel; |
GtkWidget *Lpanel; |
787 |
GtkWidget *Lvitesse, *Lobj; |
GtkWidget *Lvitesse, *Lobj; |
788 |
GtkTreeModel *Lmodel = gtk_combo_box_get_model(GTK_COMBO_BOX(Acombo)); |
GtkTreeModel *Lmodel = gtk_combo_box_get_model(GTK_COMBO_BOX(Acombo)); |
806 |
|
|
807 |
Lspeedname = g_strdup(Lname); |
Lspeedname = g_strdup(Lname); |
808 |
_SWAP_COMBO(Lspeedname, "speed"); |
_SWAP_COMBO(Lspeedname, "speed"); |
809 |
Lvitesse = (GtkWidget *)g_hash_table_lookup(Lhash, Lspeedname); |
Lvitesse = (GtkWidget *)sc_grave_get_widget(Lg, Lspeedname); |
810 |
|
|
811 |
Laskname = g_strdup(Lname); |
Laskname = g_strdup(Lname); |
812 |
_SWAP_COMBO(Laskname, "table"); |
_SWAP_COMBO(Laskname, "table"); |
813 |
Lpanel = (GtkWidget *)g_hash_table_lookup(Lhash, Laskname); |
Lpanel = (GtkWidget *)sc_grave_get_widget(Lg, Laskname); |
814 |
g_free(Laskname); |
g_free(Laskname); |
815 |
|
|
816 |
|
|
834 |
remplire_combo_vitesse(GTK_COMBO_BOX(Lvitesse), Llecteur, conf_get_string(Lspeedname)); |
remplire_combo_vitesse(GTK_COMBO_BOX(Lvitesse), Llecteur, conf_get_string(Lspeedname)); |
835 |
} |
} |
836 |
|
|
837 |
for (i=0; ((Lobj = sc_hash_table_lookupv(Lhash, "%s_isotodisabled%d", Lname, i)) && GTK_IS_WIDGET(Lobj)); i++) { |
for (i=0; ((Lobj = sc_grave_get_datav(Lg, "%s_isotodisabled%d", Lname, i)) && GTK_IS_WIDGET(Lobj)); i++) { |
838 |
/* disable si image iso, enable sinon */ |
/* disable si image iso, enable sinon */ |
839 |
gtk_widget_set_sensitive (Lobj, !Lisimgiso); |
gtk_widget_set_sensitive (Lobj, !Lisimgiso); |
840 |
} |
} |
841 |
|
|
842 |
for (i=0; ((Lobj = sc_hash_table_lookupv(Lhash, "%s_notcdrwtodisabled%d", Lname, i)) && GTK_IS_WIDGET(Lobj)); i++) { |
for (i=0; ((Lobj = sc_grave_get_datav(Lg, "%s_notcdrwtodisabled%d", Lname, i)) && GTK_IS_WIDGET(Lobj)); i++) { |
843 |
/* disable si lecteur non cdrw */ |
/* disable si lecteur non cdrw */ |
844 |
gtk_widget_set_sensitive (Lobj, DRIVE_WRITER(Ldrive)); |
gtk_widget_set_sensitive (Lobj, DRIVE_WRITER(Ldrive)); |
845 |
} |
} |
846 |
|
|
847 |
for (i=0; ((Lobj = sc_hash_table_lookupv(Lhash, "%s_notdvdrwtodisabled%d", Lname, i)) && GTK_IS_WIDGET(Lobj)); i++) { |
for (i=0; ((Lobj = sc_grave_get_datav(Lg, "%s_notdvdrwtodisabled%d", Lname, i)) && GTK_IS_WIDGET(Lobj)); i++) { |
848 |
/* disable si lecteur non dvdrw */ |
/* disable si lecteur non dvdrw */ |
849 |
gtk_widget_set_sensitive (Lobj, DRIVE_DVDWRITER(Ldrive)); |
gtk_widget_set_sensitive (Lobj, DRIVE_DVDWRITER(Ldrive)); |
850 |
} |
} |
856 |
/* confirmer l'annulation de la gravure */ |
/* confirmer l'annulation de la gravure */ |
857 |
gboolean abort_gravure(GtkWidget *Abtn, gpointer Adata) |
gboolean abort_gravure(GtkWidget *Abtn, gpointer Adata) |
858 |
{ |
{ |
859 |
GHashTable *Lhash = (GHashTable *) Adata; |
Tgrave *Lg = (Tgrave *) Adata; |
860 |
gboolean *Labort = (gboolean *)g_hash_table_lookup(Lhash, "gabort"); |
gboolean *Labort = (gboolean *)sc_grave_get_data(Lg, "gabort"); |
861 |
GtkWidget *Lwindow = GTK_WIDGET(g_hash_table_lookup(Lhash, "window_burn")); |
GtkWidget *Lwindow = GTK_WIDGET(sc_grave_get_widget(Lg, "window_burn")); |
862 |
gint Lret; |
gint Lret; |
863 |
|
|
864 |
g_assert(Labort); |
g_assert(Labort); |
870 |
Lret = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
Lret = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
871 |
|
|
872 |
if (Lret == GTK_RESPONSE_YES) { |
if (Lret == GTK_RESPONSE_YES) { |
873 |
gint *Lpid = (gint *)g_hash_table_lookup(Lhash, "pid"); |
gint *Lpid = (gint *)sc_grave_get_data(Lg, "pid"); |
874 |
if (*Lpid) { |
if (*Lpid) { |
875 |
/* on envoi un TERM au process (cdrecord...) pour qu'il s'arrete ! */ |
/* on envoi un TERM au process (cdrecord...) pour qu'il s'arrete ! */ |
876 |
_DEB("kill de %d\n", *Lpid); |
_DEB("kill de %d\n", *Lpid); |
895 |
/* confirmer la cloture d'un cd */ |
/* confirmer la cloture d'un cd */ |
896 |
void confirm_fixcd(GtkWidget *Abtn, gpointer Adata) |
void confirm_fixcd(GtkWidget *Abtn, gpointer Adata) |
897 |
{ |
{ |
898 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
899 |
GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
GtkWidget *Lwindow1 = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
900 |
GtkWidget *Lconfirm; |
GtkWidget *Lconfirm; |
901 |
gint Lrep; |
gint Lrep; |
902 |
|
|
911 |
|
|
912 |
if (Lrep == GTK_RESPONSE_YES) { |
if (Lrep == GTK_RESPONSE_YES) { |
913 |
/* ok go ! */ |
/* ok go ! */ |
914 |
show_fixcdwindow(Lhash); |
show_fixcdwindow(Lg); |
915 |
} |
} |
916 |
} |
} |
917 |
|
|
929 |
const gchar *Lname = glade_get_widget_name(Abtn); |
const gchar *Lname = glade_get_widget_name(Abtn); |
930 |
gchar *s, *Ltitle, *Lmessage; |
gchar *s, *Ltitle, *Lmessage; |
931 |
GtkWidget *Lconfirm; |
GtkWidget *Lconfirm; |
932 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
933 |
GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
GtkWidget *Lwindow1 = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
934 |
gint Lrep; |
gint Lrep; |
935 |
Ttypeformatdvd Lcode; |
Ttypeformatdvd Lcode; |
936 |
|
|
960 |
Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
961 |
gtk_widget_destroy(Lconfirm); |
gtk_widget_destroy(Lconfirm); |
962 |
if (Lrep == GTK_RESPONSE_YES) { |
if (Lrep == GTK_RESPONSE_YES) { |
963 |
show_dvdformatwindow(Lhash, Ltitle, Lcode); |
show_dvdformatwindow(Lg, Ltitle, Lcode); |
964 |
} |
} |
965 |
} |
} |
966 |
|
|
967 |
/* confirmer l'effacement d'un cdrw */ |
/* confirmer l'effacement d'un cdrw */ |
968 |
void confirm_erasecdrw(GtkWidget *Abtn, gpointer Adata) |
void confirm_erasecdrw(GtkWidget *Abtn, gpointer Adata) |
969 |
{ |
{ |
970 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
971 |
GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
GtkWidget *Lwindow1 = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
972 |
GHashTable *Ldialoghash = create_dialog_confirm_operation(Lwindow1, _("Do you really want to erase the CD-RW ?"), |
Tgrave *Ldialoghash = create_dialog_confirm_operation(Lwindow1, _("Do you really want to erase the CD-RW ?"), |
973 |
_("_Fast blank disk when erasing CD-RW"), conf_get_boolean("fastblank")); |
_("_Fast blank disk when erasing CD-RW"), conf_get_boolean("fastblank")); |
974 |
GtkWidget *Lconfirm = g_hash_table_lookup(Ldialoghash, "window"); |
GtkWidget *Lconfirm = sc_grave_get_widget(Ldialoghash, "window"); |
975 |
|
|
976 |
/* confirmation debut de l'operation */ |
/* confirmation debut de l'operation */ |
977 |
if (gtk_dialog_run(GTK_DIALOG(Lconfirm)) == GTK_RESPONSE_YES) { |
if (gtk_dialog_run(GTK_DIALOG(Lconfirm)) == GTK_RESPONSE_YES) { |
978 |
gboolean Lusefastblank = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_hash_table_lookup(Ldialoghash, "checkbox"))); |
gboolean Lusefastblank = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Ldialoghash, "checkbox"))); |
979 |
gtk_widget_destroy(Lconfirm); |
gtk_widget_destroy(Lconfirm); |
980 |
|
|
981 |
g_hash_table_insert(Lhash, "usefastblank", &Lusefastblank); |
sc_grave_set_data(Lg, &Lusefastblank, "usefastblank"); |
982 |
show_erasecdrwwindow(Lhash); |
show_erasecdrwwindow(Lg); |
983 |
g_hash_table_remove(Lhash, "usefastblank"); |
sc_grave_del_data(Lg, "usefastblank"); |
984 |
} else { |
} else { |
985 |
gtk_widget_destroy(Lconfirm); |
gtk_widget_destroy(Lconfirm); |
986 |
} |
} |
987 |
g_hash_table_destroy(Ldialoghash); |
sc_grave_destroy(Ldialoghash); |
988 |
|
|
989 |
} |
} |
990 |
|
|
991 |
/* confirmer la debut de la gravure */ |
/* confirmer la debut de la gravure */ |
992 |
void confirm_burn (GtkWidget *Abtn, gpointer Adata) |
void confirm_burn (GtkWidget *Abtn, gpointer Adata) |
993 |
{ |
{ |
994 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
995 |
GHashTable *Ldialoghash; |
Tgrave *Ldialoghash; |
996 |
GtkWidget *Lconfirm; |
GtkWidget *Lconfirm; |
997 |
gint Lrep; |
gint Lrep; |
998 |
gboolean Luseautoblank = FALSE; |
gboolean Luseautoblank = FALSE; |
1000 |
const gchar *Lname; |
const gchar *Lname; |
1001 |
gchar *Ltxt = NULL; |
gchar *Ltxt = NULL; |
1002 |
gchar *Ltitle = NULL; |
gchar *Ltitle = NULL; |
1003 |
GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
GtkWidget *Lwindow1 = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
1004 |
GtkWidget *Ldevice; |
GtkWidget *Ldevice; |
1005 |
gboolean Lwritercdrw; |
gboolean Lwritercdrw; |
1006 |
Ttypeoperation Loperation = WRITE_CD; |
Ttypeoperation Loperation = WRITE_CD; |
1011 |
if (g_str_has_prefix(Lname, "btnburnaudio")) { |
if (g_str_has_prefix(Lname, "btnburnaudio")) { |
1012 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
1013 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model( |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model( |
1014 |
GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEAUDIO"))); |
GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO"))); |
1015 |
|
|
1016 |
/* gravure cd audio, on verifie d'abord qu'il y ai au |
/* gravure cd audio, on verifie d'abord qu'il y ai au |
1017 |
* moins une piste dans la liste .. */ |
* moins une piste dans la liste .. */ |
1026 |
} |
} |
1027 |
Ltxt = _("Do you really want to create an audio cd ?"); |
Ltxt = _("Do you really want to create an audio cd ?"); |
1028 |
Ltitle = _("Writing audio cd in progress..."); |
Ltitle = _("Writing audio cd in progress..."); |
1029 |
Ldevice = g_hash_table_lookup(Lhash, "dstaudiocombo"); |
Ldevice = sc_grave_get_widget(Lg, "dstaudiocombo"); |
1030 |
} else if (g_str_has_prefix(Lname, "btnburndata") || g_str_has_prefix(Lname, "btnburndvddata")) { |
} else if (g_str_has_prefix(Lname, "btnburndata") || g_str_has_prefix(Lname, "btnburndvddata")) { |
1031 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
1032 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list"))); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(sc_grave_get_data(Lg, "_current_list"))); |
1033 |
/* gravure cd de donnee, on verifie qu'il y ai au |
/* gravure cd de donnee, on verifie qu'il y ai au |
1034 |
* moins un fichier/repertoire dans la liste */ |
* moins un fichier/repertoire dans la liste */ |
1035 |
|
|
1052 |
if (Loperation == WRITE_CD) { |
if (Loperation == WRITE_CD) { |
1053 |
Ltxt = _("Do you really want to create a data cd ?"); |
Ltxt = _("Do you really want to create a data cd ?"); |
1054 |
Ltitle = _("Writing data cd in progress..."); |
Ltitle = _("Writing data cd in progress..."); |
1055 |
Ldevice = g_hash_table_lookup(Lhash, "dstdatacombo"); |
Ldevice = sc_grave_get_widget(Lg, "dstdatacombo"); |
1056 |
} else { |
} else { |
1057 |
Ltxt = _("Do you really want to create a data dvd ?"); |
Ltxt = _("Do you really want to create a data dvd ?"); |
1058 |
Ltitle = _("Writing data dvd in progress..."); |
Ltitle = _("Writing data dvd in progress..."); |
1061 |
/* copie de cd */ |
/* copie de cd */ |
1062 |
Ltxt = _("Do you really want to start the copy ?"); |
Ltxt = _("Do you really want to start the copy ?"); |
1063 |
Ltitle = _("Copying in progress..."); |
Ltitle = _("Copying in progress..."); |
1064 |
Ldevice = g_hash_table_lookup(Lhash, "dstcopycombo"); |
Ldevice = sc_grave_get_widget(Lg, "dstcopycombo"); |
1065 |
} |
} |
1066 |
|
|
1067 |
/* confirmation debut de l'operation */ |
/* confirmation debut de l'operation */ |
1075 |
/* confirmation gravure dvd */ |
/* confirmation gravure dvd */ |
1076 |
Ldialoghash = create_dialog_select_dvdoperation(Lwindow1); |
Ldialoghash = create_dialog_select_dvdoperation(Lwindow1); |
1077 |
} |
} |
1078 |
Lconfirm = g_hash_table_lookup(Ldialoghash, "window"); |
Lconfirm = sc_grave_get_widget(Ldialoghash, "window"); |
1079 |
|
|
1080 |
Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm)); |
1081 |
|
|
1082 |
if (Lrep == GTK_RESPONSE_YES) { |
if (Lrep == GTK_RESPONSE_YES) { |
1083 |
/* ok go ! */ |
/* ok go ! */ |
1084 |
if (Loperation == WRITE_CD) { |
if (Loperation == WRITE_CD) { |
1085 |
GtkCheckButton *Labcheck = GTK_CHECK_BUTTON(g_hash_table_lookup(Ldialoghash, "checkbox")); |
GtkCheckButton *Labcheck = GTK_CHECK_BUTTON(sc_grave_get_widget(Ldialoghash, "checkbox")); |
1086 |
|
|
1087 |
g_assert(GTK_IS_WIDGET(Labcheck)); |
g_assert(GTK_IS_WIDGET(Labcheck)); |
1088 |
if (Lwritercdrw == TRUE) { |
if (Lwritercdrw == TRUE) { |
1089 |
Luseautoblank = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labcheck)); |
Luseautoblank = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labcheck)); |
1090 |
} |
} |
1091 |
g_hash_table_insert(Lhash, "useautoblank", &Luseautoblank); |
sc_grave_set_data(Lg, &Luseautoblank, "useautoblank"); |
1092 |
} else { |
} else { |
1093 |
GtkRadioButton *Labradio = GTK_RADIO_BUTTON(g_hash_table_lookup(Ldialoghash, "burninitial")); |
GtkRadioButton *Labradio = GTK_RADIO_BUTTON(sc_grave_get_widget(Ldialoghash, "burninitial")); |
1094 |
Ltypeburn = g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labradio)) ? "-Z" : "-M"); |
Ltypeburn = g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labradio)) ? "-Z" : "-M"); |
1095 |
g_hash_table_insert(Lhash, "typeburn", Ltypeburn); |
sc_grave_set_data(Lg, Ltypeburn, "typeburn"); |
1096 |
} |
} |
1097 |
|
|
1098 |
gtk_widget_destroy(Lconfirm); |
gtk_widget_destroy(Lconfirm); |
1099 |
|
|
1100 |
show_graverwindow(Lhash, (gchar *)Lname, Ltitle); |
show_graverwindow(Lg, (gchar *)Lname, Ltitle); |
1101 |
|
|
1102 |
if (Loperation == WRITE_CD) { |
if (Loperation == WRITE_CD) { |
1103 |
g_hash_table_remove(Lhash, "useautoblank"); |
sc_grave_del_data(Lg, "useautoblank"); |
1104 |
} else { |
} else { |
1105 |
g_hash_table_remove(Lhash, "typeburn"); |
sc_grave_del_data(Lg, "typeburn"); |
1106 |
g_free(Ltypeburn); |
g_free(Ltypeburn); |
1107 |
} |
} |
1108 |
} else { |
} else { |
1109 |
gtk_widget_destroy(Lconfirm); |
gtk_widget_destroy(Lconfirm); |
1110 |
} |
} |
1111 |
|
|
1112 |
g_hash_table_destroy(Ldialoghash); |
sc_grave_destroy(Ldialoghash); |
1113 |
} |
} |
1114 |
|
|
1115 |
/* popup ajouter des fichiers */ |
/* popup ajouter des fichiers */ |
1240 |
/* clique sur le menu, on active un onglet */ |
/* clique sur le menu, on active un onglet */ |
1241 |
void menu_active_panel(GtkWidget *Amenuitem, gpointer Adata) |
void menu_active_panel(GtkWidget *Amenuitem, gpointer Adata) |
1242 |
{ |
{ |
1243 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1244 |
GtkTreeView *Ltopmenu = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "topmenu")); |
GtkTreeView *Ltopmenu = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "topmenu")); |
1245 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(Ltopmenu); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(Ltopmenu); |
1246 |
GtkTreeModel *Lmodel = gtk_tree_view_get_model(Ltopmenu); |
GtkTreeModel *Lmodel = gtk_tree_view_get_model(Ltopmenu); |
1247 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
1249 |
gchar *Lrequest = g_strdup_printf("body%s", Lname+strlen("menu")); |
gchar *Lrequest = g_strdup_printf("body%s", Lname+strlen("menu")); |
1250 |
gchar *Lcuritem; |
gchar *Lcuritem; |
1251 |
gchar Lcont = gtk_tree_model_get_iter_first(Lmodel, &Liter); |
gchar Lcont = gtk_tree_model_get_iter_first(Lmodel, &Liter); |
|
|
|
1252 |
while (Lcont == TRUE) { |
while (Lcont == TRUE) { |
1253 |
gtk_tree_model_get(Lmodel, &Liter, 0, &Lcuritem, -1); |
gtk_tree_model_get(Lmodel, &Liter, 0, &Lcuritem, -1); |
1254 |
|
|
1255 |
if (!strcmp(Lcuritem, Lrequest)) { |
if (!strcmp(Lcuritem, Lrequest)) { |
1256 |
gtk_tree_selection_select_iter(Lselection, &Liter); |
gtk_tree_selection_select_iter(Lselection, &Liter); |
1257 |
gtk_toggle_top_menu(Ltopmenu, Lhash); |
gtk_toggle_top_menu(Ltopmenu, Lg); |
1258 |
|
|
1259 |
g_free(Lcuritem); |
g_free(Lcuritem); |
1260 |
break; |
break; |
1268 |
/* changement d'onglet */ |
/* changement d'onglet */ |
1269 |
void switchpage(GtkNotebook *Anotebook, GtkNotebookPage *Anotebookpage, guint Apagenum, gpointer Adata) |
void switchpage(GtkNotebook *Anotebook, GtkNotebookPage *Anotebookpage, guint Apagenum, gpointer Adata) |
1270 |
{ |
{ |
1271 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1272 |
GtkWidget *Ldatavoli; |
GtkWidget *Ldatavoli; |
1273 |
GtkTreeModel *Ltreemodel; |
GtkTreeModel *Ltreemodel; |
1274 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
1277 |
if (Apagenum != 0 && Apagenum != 2) return; |
if (Apagenum != 0 && Apagenum != 2) return; |
1278 |
|
|
1279 |
if (!strcmp(glade_get_widget_name(GTK_WIDGET(Anotebook)), "bodydata")) { |
if (!strcmp(glade_get_widget_name(GTK_WIDGET(Anotebook)), "bodydata")) { |
1280 |
Ldatavoli = g_hash_table_lookup(Lhash, "datavoli"); |
Ldatavoli = sc_grave_get_widget(Lg, "datavoli"); |
1281 |
Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"))); |
Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEDATA"))); |
1282 |
} else { |
} else { |
1283 |
Ldatavoli = g_hash_table_lookup(Lhash, "dvddatavoli"); |
Ldatavoli = sc_grave_get_widget(Lg, "dvddatavoli"); |
1284 |
Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDVDDATA"))); |
Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEDVDDATA"))); |
1285 |
} |
} |
1286 |
|
|
1287 |
|
|
1304 |
/* activer la boite de dialogue proprietes */ |
/* activer la boite de dialogue proprietes */ |
1305 |
void menu_active_proprietes(GtkWidget *Amenuitem, gpointer Adata) |
void menu_active_proprietes(GtkWidget *Amenuitem, gpointer Adata) |
1306 |
{ |
{ |
1307 |
GHashTable *Lhash = (GHashTable *) Adata; |
Tgrave *Lg = (Tgrave *) Adata; |
1308 |
GtkWidget *Lparent = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow")); |
GtkWidget *Lparent = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
1309 |
GHashTable *Ldialoghash = create_dialog_proprietes(Lparent); |
Tgrave *Ldialoghash = create_dialog_proprietes(Lparent); |
1310 |
GtkWidget *Lwinproprietes = g_hash_table_lookup(Ldialoghash, "window"); |
GtkWidget *Lwinproprietes = sc_grave_get_widget(Ldialoghash, "window"); |
1311 |
GError *Aerror = NULL; |
GError *Aerror = NULL; |
1312 |
GtkWidget *Lptr; |
GtkWidget *Lptr; |
1313 |
TProgRequis *Lcurentry; |
TProgRequis *Lcurentry; |
1316 |
gtk_dialog_run(GTK_DIALOG(Lwinproprietes)); |
gtk_dialog_run(GTK_DIALOG(Lwinproprietes)); |
1317 |
|
|
1318 |
/* recuperation des valeurs a sauver */ |
/* recuperation des valeurs a sauver */ |
1319 |
Lptr = g_hash_table_lookup(Ldialoghash, "dirtmpvalue"); |
Lptr = sc_grave_get_widget(Ldialoghash, "dirtmpvalue"); |
1320 |
conf_store_value("tmpdir", (gchar *)gtk_entry_get_text(GTK_ENTRY(Lptr))); |
conf_store_value("tmpdir", (gchar *)gtk_entry_get_text(GTK_ENTRY(Lptr))); |
1321 |
Lptr = g_hash_table_lookup(Ldialoghash, "overburn"); |
Lptr = sc_grave_get_widget(Ldialoghash, "overburn"); |
1322 |
conf_store_value("overburn", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
conf_store_value("overburn", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
1323 |
Lptr = g_hash_table_lookup(Ldialoghash, "fastblank"); |
Lptr = sc_grave_get_widget(Ldialoghash, "fastblank"); |
1324 |
conf_store_value("fastblank", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
conf_store_value("fastblank", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
1325 |
Lptr = g_hash_table_lookup(Ldialoghash, "autoblank"); |
Lptr = sc_grave_get_widget(Ldialoghash, "autoblank"); |
1326 |
conf_store_value("autoblank", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
conf_store_value("autoblank", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
1327 |
Lptr = g_hash_table_lookup(Ldialoghash, "eject"); |
Lptr = sc_grave_get_widget(Ldialoghash, "eject"); |
1328 |
conf_store_value("eject", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
conf_store_value("eject", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
1329 |
Lptr = g_hash_table_lookup(Ldialoghash, "statusbar"); |
Lptr = sc_grave_get_widget(Ldialoghash, "statusbar"); |
1330 |
conf_store_value("statusbar", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
conf_store_value("statusbar", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
1331 |
Lptr = g_hash_table_lookup(Ldialoghash, "iconsizelist"); |
Lptr = sc_grave_get_widget(Ldialoghash, "iconsizelist"); |
1332 |
conf_store_value("iconsize", get_combo_value((Lptr))); |
conf_store_value("iconsize", get_combo_value((Lptr))); |
1333 |
Lptr = g_hash_table_lookup(Ldialoghash, "saveconfig"); |
Lptr = sc_grave_get_widget(Ldialoghash, "saveconfig"); |
1334 |
conf_store_value("saveconfig", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
conf_store_value("saveconfig", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
1335 |
|
|
1336 |
#if 0 |
#if 0 |
1337 |
Lptr = g_hash_table_lookup(Ldialoghash, "extended"); |
Lptr = sc_grave_get_widget(Ldialoghash, "extended"); |
1338 |
conf_store_value("extended", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
conf_store_value("extended", _BOOLEAN_CONF(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Lptr)))); |
1339 |
#endif |
#endif |
1340 |
|
|
1344 |
if (Lcurentry->type != CONF_PROG) continue; |
if (Lcurentry->type != CONF_PROG) continue; |
1345 |
g_snprintf(Ltmp, sizeof(Ltmp)-1, "%spara", Lcurentry->entry); |
g_snprintf(Ltmp, sizeof(Ltmp)-1, "%spara", Lcurentry->entry); |
1346 |
|
|
1347 |
Lptr = g_hash_table_lookup(Ldialoghash, Ltmp); |
Lptr = sc_grave_get_widget(Ldialoghash, Ltmp); |
1348 |
if (!GTK_IS_WIDGET(Lptr)) continue; |
if (!GTK_IS_WIDGET(Lptr)) continue; |
1349 |
|
|
1350 |
conf_store_value(Ltmp, (gchar *)gtk_entry_get_text(GTK_ENTRY(Lptr))); |
conf_store_value(Ltmp, (gchar *)gtk_entry_get_text(GTK_ENTRY(Lptr))); |
1354 |
write_conf(&Aerror); |
write_conf(&Aerror); |
1355 |
|
|
1356 |
/* mise a jour des listes contenant les lecteurs */ |
/* mise a jour des listes contenant les lecteurs */ |
1357 |
update_combo_graveur(Lhash); |
update_combo_graveur(Lg); |
1358 |
update_status_bar_display(Lhash); |
update_status_bar_display(Lg); |
1359 |
manage_interface(Lhash, MENU_UPDATE + COMBO_UPDATE ); |
manage_interface(Lg, MENU_UPDATE + COMBO_UPDATE ); |
1360 |
|
|
1361 |
gtk_widget_destroy(Lwinproprietes); |
gtk_widget_destroy(Lwinproprietes); |
1362 |
|
|
1363 |
g_hash_table_destroy(Ldialoghash); |
sc_grave_destroy(Ldialoghash); |
1364 |
} |
} |
1365 |
|
|
1366 |
gboolean encours_callback(gpointer Adata) |
gboolean encours_callback(gpointer Adata) |
1367 |
{ |
{ |
1368 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1369 |
GtkProgressBar *Lprog = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "progress")); |
GtkProgressBar *Lprog = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "progress")); |
1370 |
gint *Lcont = (gint *)g_hash_table_lookup(Lhash, "cont"); |
gint *Lcont = (gint *)sc_grave_get_data(Lg, "cont"); |
1371 |
|
|
1372 |
gtk_progress_bar_pulse( |
gtk_progress_bar_pulse( |
1373 |
Lprog); |
Lprog); |
1380 |
/* chercher (a nouveau) les programmes */ |
/* chercher (a nouveau) les programmes */ |
1381 |
void chercheprog(GtkWidget *Aobj, gpointer Adata) |
void chercheprog(GtkWidget *Aobj, gpointer Adata) |
1382 |
{ |
{ |
1383 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1384 |
GtkWidget *Lstatusbox; |
GtkWidget *Lstatusbox; |
1385 |
GtkWidget *Lwindow1 = g_hash_table_lookup(Lhash, "window"); |
GtkWidget *Lwindow1 = sc_grave_get_widget(Lg, "window"); |
1386 |
|
|
1387 |
/* mise a jour de la configuration */ |
/* mise a jour de la configuration */ |
1388 |
manage_config(Lhash, SEARCH_PROG, NULL); |
manage_config(Lg, SEARCH_PROG, NULL); |
1389 |
clean_config(); |
clean_config(); |
1390 |
|
|
1391 |
maj_proprietes_prog(Lhash); |
maj_proprietes_prog(Lg); |
1392 |
|
|
1393 |
/* boite de dialoge operation terminee */ |
/* boite de dialoge operation terminee */ |
1394 |
Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lwindow1), GTK_DIALOG_MODAL, |
Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lwindow1), GTK_DIALOG_MODAL, |
1400 |
/* chercher (a nouveau) les lecteurs */ |
/* chercher (a nouveau) les lecteurs */ |
1401 |
void cherchelecteur(GtkWidget *Aobj, gpointer Adata) |
void cherchelecteur(GtkWidget *Aobj, gpointer Adata) |
1402 |
{ |
{ |
1403 |
GHashTable *Lparenthash = (GHashTable *)Adata; |
Tgrave *Lparenthash = (Tgrave *)Adata; |
1404 |
GtkWidget *Lwindow1 = g_hash_table_lookup(Lparenthash, "window"); |
GtkWidget *Lwindow1 = sc_grave_get_widget(Lparenthash, "window"); |
1405 |
GladeXML *Lxmlencours = create_window_encours(Lwindow1); |
Tgrave *Lg = create_window_encours(Lwindow1); |
1406 |
GtkWidget *Lstatusbox; |
GtkWidget *Lstatusbox; |
1407 |
GtkWidget *Lwin; |
GtkWidget *Lwin; |
1408 |
GtkTreeView *Ldata; |
GtkTreeView *Ldata; |
|
GtkWidget *Lprogressbar; |
|
|
GtkWidget *Llabel; |
|
|
GtkWidget *Lcancel; |
|
1409 |
gboolean Labort = FALSE; |
gboolean Labort = FALSE; |
1410 |
gint Lcont = 2; |
gint Lcont = 2; |
1411 |
gchar *Ltxt; |
gchar *Ltxt; |
|
GHashTable *Lhash = _hash(); |
|
1412 |
GSList *Lcur; |
GSList *Lcur; |
1413 |
Tdriveinfo *Ldrive; |
Tdriveinfo *Ldrive; |
1414 |
|
|
1415 |
Lwin = glade_xml_get_widget(Lxmlencours, "window_inprogress"); |
Lwin = sc_grave_get_widget(Lg, "window_inprogress"); |
1416 |
|
|
1417 |
Llabel = glade_xml_get_widget(Lxmlencours, "labelava"); |
sc_grave_set_data(Lg, &Lcont, "cont"); |
1418 |
Lprogressbar = glade_xml_get_widget(Lxmlencours, "progress"); |
sc_grave_set_data(Lg, &Labort, "gabort"); |
|
g_hash_table_insert(Lhash, "cont", &Lcont); |
|
|
g_hash_table_insert(Lhash, "gabort", &Labort); |
|
|
g_hash_table_insert(Lhash, "labelava", Llabel); |
|
|
g_hash_table_insert(Lhash, "progress", Lprogressbar); |
|
1419 |
|
|
1420 |
/* bouton annuler */ |
/* bouton annuler */ |
1421 |
Lcancel = glade_xml_get_widget(Lxmlencours, "cancelbtn"); |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "cancelbt")), "clicked", G_CALLBACK(abort_encours), (GtkWidget *)Lg); |
|
g_signal_connect(G_OBJECT(Lcancel), "clicked", G_CALLBACK(abort_encours), (GtkWidget *)Lhash); |
|
1422 |
|
|
1423 |
gtk_widget_show(Lwin); |
gtk_widget_show(Lwin); |
1424 |
g_timeout_add(500, encours_callback, Lhash); |
g_timeout_add(500, encours_callback, Lg); |
1425 |
|
|
1426 |
scan_for_drives(Lhash, NULL); |
scan_for_drives(Lg, NULL); |
1427 |
|
|
1428 |
if (Labort == FALSE) { |
if (Labort == FALSE) { |
1429 |
for (Lcur = Glistdrives; Lcur; Lcur = g_slist_next(Lcur)) { |
for (Lcur = Glistdrives; Lcur; Lcur = g_slist_next(Lcur)) { |
1430 |
Ldrive = (Tdriveinfo *)Lcur->data; |
Ldrive = (Tdriveinfo *)Lcur->data; |
1431 |
if (g_slist_length(Ldrive->dev)>0) { |
if (g_slist_length(Ldrive->dev)>0) { |
1432 |
Ltxt = g_strdup_printf(_("Scanning drive \"%s\"..."), Ldrive->name); |
Ltxt = g_strdup_printf(_("Scanning drive \"%s\"..."), Ldrive->name); |
1433 |
gtk_label_set_text(GTK_LABEL(Llabel), Ltxt); g_free(Ltxt); |
gtk_label_set_text(GTK_LABEL(sc_grave_get_widget(Lg, "labelava")), Ltxt); g_free(Ltxt); |
1434 |
while(gtk_events_pending()) gtk_main_iteration(); |
while(gtk_events_pending()) gtk_main_iteration(); |
1435 |
|
|
1436 |
maj_drive_info(Ldrive, (gchar *)g_slist_nth_data(Ldrive->dev, 0), NULL); |
maj_drive_info(Ldrive, (gchar *)g_slist_nth_data(Ldrive->dev, 0), NULL); |
1443 |
while (Lcont > 0) { while(gtk_events_pending()) gtk_main_iteration(); } |
while (Lcont > 0) { while(gtk_events_pending()) gtk_main_iteration(); } |
1444 |
|
|
1445 |
gtk_widget_destroy(Lwin); |
gtk_widget_destroy(Lwin); |
|
g_hash_table_destroy(Lhash); |
|
1446 |
if (GTK_IS_WIDGET(Aobj) && Labort == FALSE) { |
if (GTK_IS_WIDGET(Aobj) && Labort == FALSE) { |
1447 |
Ldata = GTK_TREE_VIEW(g_hash_table_lookup(Lparenthash, "periphdata")); |
Ldata = GTK_TREE_VIEW(sc_grave_get_widget(Lparenthash, "periphdata")); |
1448 |
remplirelistegraveur(Ldata); |
remplirelistegraveur(Ldata); |
1449 |
|
|
1450 |
/* boite de dialoge operation terminee */ |
/* boite de dialoge operation terminee */ |
1454 |
gtk_widget_destroy(Lstatusbox); |
gtk_widget_destroy(Lstatusbox); |
1455 |
} |
} |
1456 |
|
|
1457 |
g_free(Lxmlencours); |
sc_grave_destroy(Lg); |
1458 |
} |
} |
1459 |
|
|
1460 |
void abort_encours(GtkWidget *Abtn, gpointer Adata) |
void abort_encours(GtkWidget *Abtn, gpointer Adata) |
1461 |
{ |
{ |
1462 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1463 |
gint *Lcont = (gint *)g_hash_table_lookup(Lhash, "cont"); |
gint *Lcont = (gint *)sc_grave_get_data(Lg, "cont"); |
1464 |
gboolean *Labort = (gboolean *)g_hash_table_lookup(Lhash, "gabort"); |
gboolean *Labort = (gboolean *)sc_grave_get_data(Lg, "gabort"); |
1465 |
|
|
1466 |
(*Labort) = TRUE; |
(*Labort) = TRUE; |
1467 |
(*Lcont) = 1; /* on passe Lcont de 2 a 1 */ |
(*Lcont) = 1; /* on passe Lcont de 2 a 1 */ |
1474 |
/* on quitte l'application .. */ |
/* on quitte l'application .. */ |
1475 |
void menu_quit(GtkWidget *Aobj1, gpointer Adata) |
void menu_quit(GtkWidget *Aobj1, gpointer Adata) |
1476 |
{ |
{ |
1477 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1478 |
gint Loperation = UPDATE_SIZE + WRITE_CONFIG; |
gint Loperation = UPDATE_SIZE + WRITE_CONFIG; |
1479 |
|
|
1480 |
if (conf_get_boolean("saveconfig")==TRUE) { |
if (conf_get_boolean("saveconfig")==TRUE) { |
1482 |
} |
} |
1483 |
|
|
1484 |
/* on sauve la position et taille de la fenetre */ |
/* on sauve la position et taille de la fenetre */ |
1485 |
manage_config(Lhash, Loperation, NULL); |
manage_config(Lg, Loperation, NULL); |
1486 |
|
|
1487 |
gtk_main_quit(); |
gtk_main_quit(); |
1488 |
} |
} |
1495 |
#if 0 |
#if 0 |
1496 |
void on_addmediaformat(GtkWidget *Abtn, gpointer Adata) |
void on_addmediaformat(GtkWidget *Abtn, gpointer Adata) |
1497 |
{ |
{ |
1498 |
GHashTable *Lmediahash = addmediaformat(Adata); |
Tgrave *Lmediahash = addmediaformat(Adata); |
1499 |
GtkDialog *Ldialog = GTK_DIALOG(g_hash_table_lookup(Lmediahash, "dialog_media")); |
GtkDialog *Ldialog = GTK_DIALOG(sc_grave_get_widget(Lmediahash, "dialog_media")); |
1500 |
|
|
1501 |
gtk_dialog_run(Ldialog); |
gtk_dialog_run(Ldialog); |
1502 |
gtk_widget_destroy(GTK_WIDGET(Ldialog)); |
gtk_widget_destroy(GTK_WIDGET(Ldialog)); |
1503 |
|
|
1504 |
g_hash_table_destroy(Lmediahash); |
sc_grave_destroy(Lmediahash); |
1505 |
} |
} |
1506 |
#endif |
#endif |
1507 |
|
|
1508 |
/* mise a jour type cdr destination, on mets donc a jour la barre de remplissage */ |
/* mise a jour type cdr destination, on mets donc a jour la barre de remplissage */ |
1509 |
void change_remplissage(GtkWidget *Acombo, gpointer Adata) |
void change_remplissage(GtkWidget *Acombo, gpointer Adata) |
1510 |
{ |
{ |
1511 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1512 |
const gchar *Lname = glade_get_widget_name(Acombo); |
const gchar *Lname = glade_get_widget_name(Acombo); |
1513 |
gchar *Lvalue = get_combo_value(Acombo); |
gchar *Lvalue = get_combo_value(Acombo); |
1514 |
GtkProgressBar *Lcontenance; |
GtkProgressBar *Lcontenance; |
1516 |
guint64 *Llen; |
guint64 *Llen; |
1517 |
|
|
1518 |
if (!strcmp(Lname, "listeremplidata")) { /* cd data */ |
if (!strcmp(Lname, "listeremplidata")) { /* cd data */ |
1519 |
Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
Lcontenance = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "datasizebar")); |
1520 |
Lmaxlen = (guint64 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
Lmaxlen = (guint64 *)sc_grave_get_data(Lg, "datamaxsize"); |
1521 |
Llen = (guint64 *)g_hash_table_lookup(Lhash, "datasize"); |
Llen = (guint64 *)sc_grave_get_data(Lg, "datasize"); |
1522 |
(*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10) * 1024 * 1024; |
(*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10) * 1024 * 1024; |
1523 |
} else if (!strcmp(Lname, "listeremplidvddata")) { /* dvd data */ |
} else if (!strcmp(Lname, "listeremplidvddata")) { /* dvd data */ |
1524 |
Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "dvddatasizebar")); |
Lcontenance = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "dvddatasizebar")); |
1525 |
Lmaxlen = (guint64 *)g_hash_table_lookup(Lhash, "dvddatamaxsize"); |
Lmaxlen = (guint64 *)sc_grave_get_data(Lg, "dvddatamaxsize"); |
1526 |
Llen = (guint64 *)g_hash_table_lookup(Lhash, "dvddatasize"); |
Llen = (guint64 *)sc_grave_get_data(Lg, "dvddatasize"); |
1527 |
(*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10) * 1024 * 1024; |
(*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10) * 1024 * 1024; |
1528 |
|
|
1529 |
} else { /* cd audio */ |
} else { /* cd audio */ |
1530 |
Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar")); |
Lcontenance = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "audiolenbar")); |
1531 |
Lmaxlen = (guint64 *)g_hash_table_lookup(Lhash, "audiomaxlen"); |
Lmaxlen = (guint64 *)sc_grave_get_data(Lg, "audiomaxlen"); |
1532 |
Llen = (guint64 *)g_hash_table_lookup(Lhash, "audiolen"); |
Llen = (guint64 *)sc_grave_get_data(Lg, "audiolen"); |
1533 |
(*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10); |
(*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10); |
1534 |
} |
} |
1535 |
|
|
1539 |
/* gestion drag and drop */ |
/* gestion drag and drop */ |
1540 |
void audio_dnd_data_received (GtkWidget *Aliste, GdkDragContext *Acontext, gint Ax, gint Ay, GtkSelectionData *Aseldata, guint Ainfo, guint Atime, gpointer Adata) |
void audio_dnd_data_received (GtkWidget *Aliste, GdkDragContext *Acontext, gint Ax, gint Ay, GtkSelectionData *Aseldata, guint Ainfo, guint Atime, gpointer Adata) |
1541 |
{ |
{ |
1542 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1543 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste)); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste)); |
1544 |
guint64 *Laudiolen = (guint64 *)g_hash_table_lookup(Lhash, "audiolen"); |
guint64 *Laudiolen = (guint64 *)sc_grave_get_data(Lg, "audiolen"); |
1545 |
guint64 *Laudiomaxlen = (guint64 *)g_hash_table_lookup(Lhash, "audiomaxlen"); |
guint64 *Laudiomaxlen = (guint64 *)sc_grave_get_data(Lg, "audiomaxlen"); |
1546 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar")); |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "audiolenbar")); |
1547 |
|
|
1548 |
if ((Aseldata->length >= 0) && (Aseldata->format == 8)) |
if ((Aseldata->length >= 0) && (Aseldata->format == 8)) |
1549 |
{ |
{ |
1567 |
sc_str_has_casesuffix(Lunfic, WAV)))) continue; |
sc_str_has_casesuffix(Lunfic, WAV)))) continue; |
1568 |
|
|
1569 |
if (!(Lfilename = g_filename_from_uri(Lunfic, NULL, NULL))) continue; |
if (!(Lfilename = g_filename_from_uri(Lunfic, NULL, NULL))) continue; |
1570 |
_add_a_piste(Lfilename, GTK_LIST_STORE(Ltreemodel), Lhash); |
_add_a_piste(Lfilename, GTK_LIST_STORE(Ltreemodel), Lg); |
1571 |
g_free(Lfilename); |
g_free(Lfilename); |
1572 |
} |
} |
1573 |
|
|
1601 |
|
|
1602 |
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) |
1603 |
{ |
{ |
1604 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1605 |
guint64 *Ldatasize; |
guint64 *Ldatasize; |
1606 |
guint64 *Ldatamaxsize; |
guint64 *Ldatamaxsize; |
1607 |
GtkProgressBar *Lcontenance; |
GtkProgressBar *Lcontenance; |
1608 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste)); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste)); |
1609 |
|
|
1610 |
_REMPLISSAGE_VALUE(Lhash, Aliste, Ldatasize, Ldatamaxsize, Lcontenance); |
_REMPLISSAGE_VALUE(Lg, Aliste, Ldatasize, Ldatamaxsize, Lcontenance); |
1611 |
|
|
1612 |
if ((Aseldata->length >= 0) && (Aseldata->format == 8)) |
if ((Aseldata->length >= 0) && (Aseldata->format == 8)) |
1613 |
{ |
{ |
1634 |
if (g_ascii_strncasecmp(Lunfic, "file://", 7)) continue; |
if (g_ascii_strncasecmp(Lunfic, "file://", 7)) continue; |
1635 |
if (!(Lfilename = g_filename_from_uri(Lunfic, NULL, NULL))) continue; |
if (!(Lfilename = g_filename_from_uri(Lunfic, NULL, NULL))) continue; |
1636 |
|
|
1637 |
_add_a_file(Lfilename, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash, Ldatasize); |
_add_a_file(Lfilename, GTK_TREE_STORE(Ltreemodel), &Liter, Lg, Ldatasize); |
1638 |
|
|
1639 |
g_free(Lfilename); |
g_free(Lfilename); |
1640 |
} |
} |
1704 |
|
|
1705 |
void update_media_unit(GtkWidget *Acombo, gpointer Adata) |
void update_media_unit(GtkWidget *Acombo, gpointer Adata) |
1706 |
{ |
{ |
1707 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1708 |
GtkWidget *Ldataentry = GTK_WIDGET(g_hash_table_lookup(Lhash, "mediadata")); |
GtkWidget *Ldataentry = GTK_WIDGET(g_hash_table_lookup(Lg, "mediadata")); |
1709 |
|
|
1710 |
gtk_widget_grab_focus(Ldataentry); |
gtk_widget_grab_focus(Ldataentry); |
1711 |
} |
} |
1713 |
/* mise a jour des champs dans la fenetre "configuration des medias" */ |
/* mise a jour des champs dans la fenetre "configuration des medias" */ |
1714 |
gboolean update_media_fields(GtkWidget *Awidget, gpointer Adata) |
gboolean update_media_fields(GtkWidget *Awidget, gpointer Adata) |
1715 |
{ |
{ |
1716 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1717 |
const gchar *Lname = glade_get_widget_name(GTK_WIDGET(Awidget)); |
const gchar *Lname = glade_get_widget_name(GTK_WIDGET(Awidget)); |
1718 |
gulong Lnewsize; |
gulong Lnewsize; |
1719 |
gulong Lasksize; |
gulong Lasksize; |
1720 |
gulong *Lsize = (gulong *)g_hash_table_lookup(Lhash, "fullsize"); |
gulong *Lsize = (gulong *)g_hash_table_lookup(Lg, "fullsize"); |
1721 |
GtkComboBox *Lmediadataunit = GTK_COMBO_BOX(g_hash_table_lookup(Lhash, "mediadataunit")); |
GtkComboBox *Lmediadataunit = GTK_COMBO_BOX(g_hash_table_lookup(Lg, "mediadataunit")); |
1722 |
gchar *Lcharunit = get_combo_value(GTK_WIDGET(Lmediadataunit)); |
gchar *Lcharunit = get_combo_value(GTK_WIDGET(Lmediadataunit)); |
1723 |
|
|
1724 |
// printf("l'unite est => %s\n", Lcharunit); |
// printf("l'unite est => %s\n", Lcharunit); |
1750 |
/* debuter un nouveau projet */ |
/* debuter un nouveau projet */ |
1751 |
void menu_start_new(GtkMenuItem *Amenuitem, gpointer Adata) |
void menu_start_new(GtkMenuItem *Amenuitem, gpointer Adata) |
1752 |
{ |
{ |
1753 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1754 |
GtkTreeView *Ltopmenu = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "topmenu")); |
GtkTreeView *Ltopmenu = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "topmenu")); |
1755 |
gchar *Lname; |
gchar *Lname; |
1756 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
1757 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(Ltopmenu); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(Ltopmenu); |
1762 |
|
|
1763 |
if (!strcmp(Lname, "bodycdaudio")) { |
if (!strcmp(Lname, "bodycdaudio")) { |
1764 |
/* on est sur l'onglet cd audio, on vide la liste */ |
/* on est sur l'onglet cd audio, on vide la liste */ |
1765 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEAUDIO")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO")); |
1766 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
1767 |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar")); |
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "audiolenbar")); |
1768 |
guint32 *Laudiolen = (guint32 *)g_hash_table_lookup(Lhash, "audiolen"); |
guint32 *Laudiolen = (guint32 *)sc_grave_get_data(Lg, "audiolen"); |
1769 |
guint32 *Laudiomaxlen = (guint32 *)g_hash_table_lookup(Lhash, "audiomaxlen"); |
guint32 *Laudiomaxlen = (guint32 *)sc_grave_get_data(Lg, "audiomaxlen"); |
1770 |
(*Laudiolen) = 0; |
(*Laudiolen) = 0; |
1771 |
|
|
1772 |
gtk_list_store_clear(GTK_LIST_STORE(Ltreemodel)); |
gtk_list_store_clear(GTK_LIST_STORE(Ltreemodel)); |
1775 |
|
|
1776 |
} else if (!strcmp(Lname, "bodycddata") || !strcmp(Lname, "bodydvddata")) { |
} else if (!strcmp(Lname, "bodycddata") || !strcmp(Lname, "bodydvddata")) { |
1777 |
/* on est sur l'onglet cd data, on vide la liste */ |
/* on est sur l'onglet cd data, on vide la liste */ |
1778 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_current_list")); |
1779 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste)); |
1780 |
GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar")); |
GtkProgressBar *Lcontenance; |
1781 |
guint64 *Ldatasize; // = (guint32 *)g_hash_table_lookup(Lhash, "datasize"); |
guint64 *Ldatasize; |
1782 |
guint64 *Ldatamaxsize; // = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize"); |
guint64 *Ldatamaxsize; |
1783 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
1784 |
|
|
1785 |
_REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
_REMPLISSAGE_VALUE(Lg, Lliste, Ldatasize, Ldatamaxsize, Lcontenance); |
1786 |
(*Ldatasize) = 0; |
(*Ldatasize) = 0; |
1787 |
|
|
1788 |
gtk_tree_store_clear(GTK_TREE_STORE(Ltreemodel)); |
gtk_tree_store_clear(GTK_TREE_STORE(Ltreemodel)); |
1801 |
#if 0 |
#if 0 |
1802 |
void gtk_def_imageboot(GtkWidget *Abtn, gpointer Adata) |
void gtk_def_imageboot(GtkWidget *Abtn, gpointer Adata) |
1803 |
{ |
{ |
1804 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
1805 |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lg, "LISTEDATA")); |
1806 |
GtkTreeModel *Ltreemodel; |
GtkTreeModel *Ltreemodel; |
1807 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste)); |
1808 |
GtkTreeIter *Liter = g_hash_table_lookup(Lhash, "file_imageboot"); |
GtkTreeIter *Liter = g_hash_table_lookup(Lg, "file_imageboot"); |
1809 |
GtkTreeIter Lnewiter; |
GtkTreeIter Lnewiter; |
1810 |
|
|
1811 |
if (!gtk_tree_selection_get_selected(Lselection, &Ltreemodel, &Lnewiter)) return; |
if (!gtk_tree_selection_get_selected(Lselection, &Ltreemodel, &Lnewiter)) return; |
1817 |
|
|
1818 |
gtk_tree_store_set(GTK_TREE_STORE(Ltreemodel), &Lnewiter, 0, TYPE_IMAGEBOOT, 1, GFileImage, -1); |
gtk_tree_store_set(GTK_TREE_STORE(Ltreemodel), &Lnewiter, 0, TYPE_IMAGEBOOT, 1, GFileImage, -1); |
1819 |
|
|
1820 |
g_hash_table_replace(Lhash, "file_imageboot", gtk_tree_iter_copy(&Lnewiter)); |
g_hash_table_replace(Lg, "file_imageboot", gtk_tree_iter_copy(&Lnewiter)); |
1821 |
} |
} |
1822 |
#endif |
#endif |
1823 |
|
|