69 |
{ NULL } |
{ NULL } |
70 |
}; |
}; |
71 |
|
|
72 |
|
static Tmyentry Gtypedvddata[] = { |
73 |
|
{ "4482", N_("4.7 gb"), TRUE }, |
74 |
|
{ "8964", N_("9.4 gb"), FALSE }, |
75 |
|
{ NULL } |
76 |
|
}; |
77 |
|
|
78 |
static Tmyentry Gtypeicosize[] = { |
static Tmyentry Gtypeicosize[] = { |
79 |
{ "16", N_("16x16 px"), FALSE }, |
{ "16", N_("16x16 px"), FALSE }, |
80 |
{ "24", N_("24x24 px"), FALSE }, |
{ "24", N_("24x24 px"), FALSE }, |
222 |
|
|
223 |
for (Lcur = Glistdrives, i=0; Lcur; Lcur = g_slist_next(Lcur), i++) { |
for (Lcur = Glistdrives, i=0; Lcur; Lcur = g_slist_next(Lcur), i++) { |
224 |
Ldrive = (Tdriveinfo *)Lcur->data; |
Ldrive = (Tdriveinfo *)Lcur->data; |
225 |
if ((Aquoi & GRAVEUR_ONLY) && (! DRIVE_WRITER(Ldrive))) continue; |
if ((Aquoi & TYPE_ALLWRITER) && (! DRIVE_WRITER(Ldrive))) continue; |
226 |
|
if ((Aquoi & TYPE_DVDWRITER) && (! DRIVE_DVDWRITER(Ldrive))) continue; |
227 |
|
|
228 |
gtk_list_store_append(Ldata, &Liter); |
gtk_list_store_append(Ldata, &Liter); |
229 |
|
|
240 |
} |
} |
241 |
} |
} |
242 |
|
|
243 |
if (Aquoi & ISO) { |
if (Aquoi & TYPE_ISO) { |
244 |
gtk_list_store_append(Ldata, &Liter); |
gtk_list_store_append(Ldata, &Liter); |
245 |
gtk_list_store_set(Ldata, &Liter, 0, "iso", 1, GISOpetiteIcone, 2, _("ISO file..."), 3, -1, -1); |
gtk_list_store_set(Ldata, &Liter, 0, "iso", 1, GISOpetiteIcone, 2, _("ISO file..."), 3, -1, -1); |
246 |
|
|
370 |
return Lmenu; |
return Lmenu; |
371 |
} |
} |
372 |
|
|
373 |
/* creation popup "data" */ |
/* creation popup "cd/dvd data" */ |
374 |
GtkMenu *create_gtkpopupmenudata(GtkWidget *Aliste, GHashTable *Ahash) |
GtkMenu *create_gtkpopupmenudata(GtkWidget *Aliste, GHashTable *Ahash) |
375 |
{ |
{ |
376 |
GtkMenu *Lmenu = GTK_MENU(g_hash_table_lookup(Ahash, "popupdata")); |
GtkMenu *Lmenu = GTK_MENU(g_hash_table_lookup(Ahash, "popupdata")); |
381 |
gint type; |
gint type; |
382 |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
383 |
gboolean Lonlyone = TRUE; |
gboolean Lonlyone = TRUE; |
384 |
|
const gchar *Llistename = glade_get_widget_name(Aliste); |
385 |
GtkTreePath *Lpath = NULL; |
GtkTreePath *Lpath = NULL; |
386 |
|
|
387 |
/* on cherche l'object selectionne, il peu y en avoir plusieur |
/* on cherche l'object selectionne, il peu y en avoir plusieur |
414 |
|
|
415 |
/* RENOMMER LE CD */ |
/* RENOMMER LE CD */ |
416 |
Litem = g_hash_table_lookup(Ahash, "popupdata_renamecd"); |
Litem = g_hash_table_lookup(Ahash, "popupdata_renamecd"); |
417 |
if (type == TYPE_CD && Lonlyone) { |
Litem2 = g_hash_table_lookup(Ahash, "popupdata_renamedvd"); |
418 |
gtk_widget_show(Litem); |
if (!strcmp(Llistename, "LISTEDVDDATA")) { |
419 |
} else { |
if (type == TYPE_CD && Lonlyone) { |
420 |
|
gtk_widget_show(Litem2); |
421 |
|
} else { |
422 |
|
gtk_widget_hide(Litem2); |
423 |
|
} |
424 |
gtk_widget_hide(Litem); |
gtk_widget_hide(Litem); |
425 |
|
} else { |
426 |
|
if (type == TYPE_CD && Lonlyone) { |
427 |
|
gtk_widget_show(Litem); |
428 |
|
} else { |
429 |
|
gtk_widget_hide(Litem); |
430 |
|
} |
431 |
|
gtk_widget_hide(Litem2); |
432 |
} |
} |
433 |
|
|
434 |
/* EXPAND */ |
/* EXPAND */ |
531 |
glade_to_hash(Axml, Ahash, "popupdata"); |
glade_to_hash(Axml, Ahash, "popupdata"); |
532 |
g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_renamecd")), |
g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_renamecd")), |
533 |
"activate", G_CALLBACK(gtk_data_renommerelement), Ahash); |
"activate", G_CALLBACK(gtk_data_renommerelement), Ahash); |
534 |
|
g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_renamedvd")), |
535 |
|
"activate", G_CALLBACK(gtk_data_renommerelement), Ahash); |
536 |
|
|
537 |
g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_expand")), |
g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_expand")), |
538 |
"activate", G_CALLBACK(gtk_data_expandelement), Ahash); |
"activate", G_CALLBACK(gtk_data_expandelement), Ahash); |
539 |
g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_renamefile")), |
g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_renamefile")), |
630 |
} |
} |
631 |
|
|
632 |
/* fenetre principal */ |
/* fenetre principal */ |
633 |
GtkWidget* manage_main_window (guint32 *Aaudiolen, guint32 *Aaudiomaxlen, |
GtkWidget* manage_main_window (guint64 *Aaudiolen, guint64 *Aaudiomaxlen, |
634 |
guint32 *Adatasize, guint32 *Adatamaxsize) |
guint64 *Adatasize, guint64 *Adatamaxsize, guint64 *Advddatasize, guint64 *Advddatamaxsize) |
635 |
{ |
{ |
636 |
gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/window_main.glade"; |
gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/window_main.glade"; |
637 |
GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL); |
GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL); |
638 |
GtkWidget *Lwindow; |
GtkWidget *Lwindow; |
639 |
GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother; |
GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother, *Lbodydvddata; |
640 |
GtkHBox *Lmainbody; |
GtkHBox *Lmainbody; |
641 |
GtkComboBox *Lcombo; |
GtkComboBox *Lcombo; |
642 |
GtkButton *Lbtnerasecdrw, *Lbtnformatdvdrw; |
GtkButton *Lbtnerasecdrw, *Lbtnformatdvdrw; |
643 |
GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu; |
GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu, *Ltreedvddata; |
644 |
GHashTable *Lhash = _hash(); |
GHashTable *Lhash = _hash(); |
645 |
|
|
646 |
if (!Lxml) { |
if (!Lxml) { |
654 |
g_hash_table_insert(Lhash, "audiomaxlen", Aaudiomaxlen); |
g_hash_table_insert(Lhash, "audiomaxlen", Aaudiomaxlen); |
655 |
g_hash_table_insert(Lhash, "datasize", Adatasize); |
g_hash_table_insert(Lhash, "datasize", Adatasize); |
656 |
g_hash_table_insert(Lhash, "datamaxsize", Adatamaxsize); |
g_hash_table_insert(Lhash, "datamaxsize", Adatamaxsize); |
657 |
|
g_hash_table_insert(Lhash, "dvddatasize", Advddatasize); |
658 |
|
g_hash_table_insert(Lhash, "dvddatamaxsize", Advddatamaxsize); |
659 |
|
|
660 |
/* onglets page de droite */ |
/* onglets page de droite */ |
661 |
Lbodycdaudio = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycdaudio")); |
Lbodycdaudio = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycdaudio")); |
662 |
gtk_widget_reparent(GTK_WIDGET(Lbodycdaudio), GTK_WIDGET(Lmainbody)); |
gtk_widget_reparent(GTK_WIDGET(Lbodycdaudio), GTK_WIDGET(Lmainbody)); |
663 |
Lbodycddata = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycddata")); |
Lbodycddata = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycddata")); |
664 |
gtk_widget_reparent(GTK_WIDGET(Lbodycddata), GTK_WIDGET(Lmainbody)); |
gtk_widget_reparent(GTK_WIDGET(Lbodycddata), GTK_WIDGET(Lmainbody)); |
665 |
|
Lbodydvddata = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodydvddata")); |
666 |
|
gtk_widget_reparent(GTK_WIDGET(Lbodydvddata), GTK_WIDGET(Lmainbody)); |
667 |
Lbodycdcopy = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycdcopy")); |
Lbodycdcopy = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycdcopy")); |
668 |
gtk_widget_reparent(GTK_WIDGET(Lbodycdcopy), GTK_WIDGET(Lmainbody)); |
gtk_widget_reparent(GTK_WIDGET(Lbodycdcopy), GTK_WIDGET(Lmainbody)); |
669 |
Lbodycdother = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycdother")); |
Lbodycdother = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycdother")); |
672 |
|
|
673 |
/* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un cd de donnee" */ |
/* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un cd de donnee" */ |
674 |
g_signal_connect(G_OBJECT(Lbodycddata), "switch-page", G_CALLBACK(switchpage), Lhash); |
g_signal_connect(G_OBJECT(Lbodycddata), "switch-page", G_CALLBACK(switchpage), Lhash); |
675 |
|
/* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un dvd de donnee" */ |
676 |
|
g_signal_connect(G_OBJECT(Lbodydvddata), "switch-page", G_CALLBACK(switchpage), Lhash); |
677 |
|
|
678 |
/* bouttons barre de gauche */ |
/* bouttons barre de gauche */ |
679 |
Ltopmenu = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "topmenu")); |
Ltopmenu = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "topmenu")); |
693 |
G_CALLBACK(menu_active_panel), Lhash); |
G_CALLBACK(menu_active_panel), Lhash); |
694 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucddata")), "activate", |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucddata")), "activate", |
695 |
G_CALLBACK(menu_active_panel), Lhash); |
G_CALLBACK(menu_active_panel), Lhash); |
696 |
|
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menudvddata")), "activate", |
697 |
|
G_CALLBACK(menu_active_panel), Lhash); |
698 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucdcopy")), "activate", |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucdcopy")), "activate", |
699 |
G_CALLBACK(menu_active_panel), Lhash); |
G_CALLBACK(menu_active_panel), Lhash); |
700 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucdother")), "activate", |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucdother")), "activate", |
713 |
glade_to_hash(Lxml, Lhash, "dstcopytable"); |
glade_to_hash(Lxml, Lhash, "dstcopytable"); |
714 |
prepare_combobox_vitesse(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "dstdataspeed"))); |
prepare_combobox_vitesse(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "dstdataspeed"))); |
715 |
glade_to_hash(Lxml, Lhash, "dstdatatable"); |
glade_to_hash(Lxml, Lhash, "dstdatatable"); |
716 |
|
prepare_combobox_vitesse(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "dstdvddataspeed"))); |
717 |
|
glade_to_hash(Lxml, Lhash, "dstdvddatatable"); |
718 |
|
|
719 |
/* onglet graver un cd audio */ |
/* onglet graver un cd audio */ |
720 |
glade_to_hash_list(Lxml, Lhash, "audiosimul", "audionotfix", "audiodao", "nbrcdaudio", NULL); |
glade_to_hash_list(Lxml, Lhash, "audiosimul", "audionotfix", "audiodao", "nbrcdaudio", NULL); |
723 |
glade_to_hash_list(Lxml, Lhash, "datavoli", "datapubl", "dataprep", "databibl", "datacopy", "dataabst", |
glade_to_hash_list(Lxml, Lhash, "datavoli", "datapubl", "dataprep", "databibl", "datacopy", "dataabst", |
724 |
"datarockridge", "datajoliet", NULL); |
"datarockridge", "datajoliet", NULL); |
725 |
glade_to_hash_list(Lxml, Lhash, "nbrcddata", "datamulti", "datanotfix", "datasimul", NULL); |
glade_to_hash_list(Lxml, Lhash, "nbrcddata", "datamulti", "datanotfix", "datasimul", NULL); |
726 |
|
|
727 |
|
/* onglet graver un dvd de donnee */ |
728 |
|
glade_to_hash_list(Lxml, Lhash, "dvddatavoli", "dvddatapubl", "dvddataprep", "dvddatabibl", "dvddatacopy", |
729 |
|
"dvddataabst", NULL); |
730 |
|
glade_to_hash_list(Lxml, Lhash, "nbrdvddata", "dvddatanotfix", "dvddatasimul", NULL); |
731 |
|
|
732 |
/* onglet copier un cd */ |
/* onglet copier un cd */ |
733 |
glade_to_hash_list(Lxml, Lhash, "nbrcdcopy", "copysimul", NULL); |
glade_to_hash_list(Lxml, Lhash, "nbrcdcopy", "copysimul", NULL); |
734 |
|
|
738 |
prepare_combobox_graveur(Lxml, Lhash, "dstdata"); |
prepare_combobox_graveur(Lxml, Lhash, "dstdata"); |
739 |
prepare_disable_when_iso(Lhash, "dstdatacombo", "nbrcddata", "datamulti", "datanotfix", "datasimul", NULL); |
prepare_disable_when_iso(Lhash, "dstdatacombo", "nbrcddata", "datamulti", "datanotfix", "datasimul", NULL); |
740 |
|
|
741 |
|
prepare_combobox_graveur(Lxml, Lhash, "dstdvddata"); |
742 |
|
prepare_disable_when_iso(Lhash, "dstdvddatacombo", "nbrdvddata", "dvddatanotfix", "dvddatasimul", NULL); |
743 |
|
|
744 |
prepare_combobox_graveur(Lxml, Lhash, "srccopy"); |
prepare_combobox_graveur(Lxml, Lhash, "srccopy"); |
745 |
prepare_combobox_graveur(Lxml, Lhash, "dstcopy"); |
prepare_combobox_graveur(Lxml, Lhash, "dstcopy"); |
746 |
prepare_disable_when_iso(Lhash, "dstcopycombo", "nbrcdcopy", "copysimul", NULL); |
prepare_disable_when_iso(Lhash, "dstcopycombo", "nbrcdcopy", "copysimul", NULL); |
765 |
remplirecombo(Lcombo, "", Gtypecddata, TRUE, conf_get_string("listeremplidata")); |
remplirecombo(Lcombo, "", Gtypecddata, TRUE, conf_get_string("listeremplidata")); |
766 |
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lhash); |
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lhash); |
767 |
|
|
768 |
|
Lcombo = GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "listeremplidvddata")); |
769 |
|
remplirecombo(Lcombo, "", Gtypedvddata, TRUE, conf_get_string("listeremplidvddata")); |
770 |
|
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lhash); |
771 |
|
|
772 |
Lcombo = GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "listerempliaudio")); |
Lcombo = GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "listerempliaudio")); |
773 |
remplirecombo(Lcombo, "", Gtypecdaudio, TRUE, conf_get_string("listerempliaudio")); |
remplirecombo(Lcombo, "", Gtypecdaudio, TRUE, conf_get_string("listerempliaudio")); |
774 |
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lhash); |
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lhash); |
777 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextaudio1")), "clicked", G_CALLBACK(gonextpage), Lbodycdaudio); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextaudio1")), "clicked", G_CALLBACK(gonextpage), Lbodycdaudio); |
778 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdata1")), "clicked", G_CALLBACK(gonextpage), Lbodycddata); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdata1")), "clicked", G_CALLBACK(gonextpage), Lbodycddata); |
779 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdata2")), "clicked", G_CALLBACK(gonextpage), Lbodycddata); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdata2")), "clicked", G_CALLBACK(gonextpage), Lbodycddata); |
780 |
|
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdvddata1")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata); |
781 |
|
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdvddata2")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata); |
782 |
|
|
783 |
/* boutons "graver" */ |
/* boutons "graver" */ |
784 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburnaudio2")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburnaudio2")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
785 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburndata2")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburndata2")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
786 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburndata3")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburndata3")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
787 |
|
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburndvddata2")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
788 |
|
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburndvddata3")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
789 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburncopy1")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnburncopy1")), "clicked", G_CALLBACK(confirm_burn), Lhash); |
790 |
|
|
791 |
/* boutons de la page "autres operations" */ |
/* boutons de la page "autres operations" */ |
793 |
g_signal_connect(G_OBJECT(Lbtnformatdvdrw), "clicked", G_CALLBACK(popup_formatdvdrw), Lhash); |
g_signal_connect(G_OBJECT(Lbtnformatdvdrw), "clicked", G_CALLBACK(popup_formatdvdrw), Lhash); |
794 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnfixcdother1")), "clicked", G_CALLBACK(confirm_fixcd), Lhash); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnfixcdother1")), "clicked", G_CALLBACK(confirm_fixcd), Lhash); |
795 |
|
|
|
|
|
796 |
/* menu popup sur les listes */ |
/* menu popup sur les listes */ |
797 |
glade_to_hash_list(Lxml, Lhash, "audiolenbar", "datasizebar", NULL); |
glade_to_hash_list(Lxml, Lhash, "audiolenbar", "datasizebar", "dvddatasizebar", NULL); |
798 |
Ltreeaudio = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "LISTEAUDIO")); |
Ltreeaudio = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "LISTEAUDIO")); |
799 |
prepare_popups(Lxml, Lhash); |
prepare_popups(Lxml, Lhash); |
800 |
prepare_listeaudio(Ltreeaudio); |
prepare_listeaudio(Ltreeaudio); |
803 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddtrack")), "clicked", G_CALLBACK(gtk_audio_addtrack), Lhash); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddtrack")), "clicked", G_CALLBACK(gtk_audio_addtrack), Lhash); |
804 |
|
|
805 |
Ltreedata = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "LISTEDATA")); |
Ltreedata = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "LISTEDATA")); |
806 |
prepare_listedata(Ltreedata); |
prepare_listedata(Ltreedata, _("New CD")); |
807 |
g_signal_connect(G_OBJECT(Ltreedata), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lhash); |
g_signal_connect(G_OBJECT(Ltreedata), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lhash); |
808 |
g_signal_connect(G_OBJECT(Ltreedata), "popup-menu", G_CALLBACK(key_popupmenu_addfile), Lhash); |
g_signal_connect(G_OBJECT(Ltreedata), "popup-menu", G_CALLBACK(key_popupmenu_addfile), Lhash); |
809 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddfile")), "clicked", G_CALLBACK(gtk_data_addfile), Lhash); |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddfile")), "clicked", G_CALLBACK(gtk_data_addfile), Lhash); |
810 |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnadddirectory")), "clicked", |
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnadddirectory")), "clicked", |
811 |
G_CALLBACK(gtk_data_adddirectory), Lhash); |
G_CALLBACK(gtk_data_adddirectory), Lhash); |
812 |
|
|
813 |
|
Ltreedvddata = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "LISTEDVDDATA")); |
814 |
|
prepare_listedata(Ltreedvddata, _("New DVD")); |
815 |
|
g_signal_connect(G_OBJECT(Ltreedvddata), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lhash); |
816 |
|
g_signal_connect(G_OBJECT(Ltreedvddata), "popup-menu", G_CALLBACK(key_popupmenu_addfile), Lhash); |
817 |
|
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btndvdaddfile")), "clicked", G_CALLBACK(gtk_data_addfile), Lhash); |
818 |
|
g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btndvdadddirectory")), "clicked", |
819 |
|
G_CALLBACK(gtk_data_adddirectory), Lhash); |
820 |
|
|
821 |
|
|
822 |
/* drag and drop */ |
/* drag and drop */ |
823 |
|
/* audio */ |
824 |
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (Ltreeaudio), |
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (Ltreeaudio), |
825 |
GDK_BUTTON1_MASK, Gdndaudio, G_N_ELEMENTS (Gdndaudio), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
GDK_BUTTON1_MASK, Gdndaudio, G_N_ELEMENTS (Gdndaudio), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
826 |
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreeaudio), |
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreeaudio), |
827 |
Gdndaudio, G_N_ELEMENTS (Gdndaudio), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
Gdndaudio, G_N_ELEMENTS (Gdndaudio), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
828 |
g_signal_connect(G_OBJECT(Ltreeaudio), "drag-data-received", G_CALLBACK(audio_dnd_data_received), Lhash); |
g_signal_connect(G_OBJECT(Ltreeaudio), "drag-data-received", G_CALLBACK(audio_dnd_data_received), Lhash); |
|
// g_signal_connect(G_OBJECT(Ltreeaudio), "drag_data_received", G_CALLBACK(audio_dnd_data_received), |
|
|
// Lhash); |
|
829 |
|
|
830 |
/* |
/* cd data */ |
|
gtk_drag_dest_set(GTK_WIDGET(Ltreedata), |
|
|
GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, Gdnddata, |
|
|
G_N_ELEMENTS(Gdnddata), GDK_ACTION_COPY | GDK_ACTION_MOVE); |
|
|
g_signal_connect(G_OBJECT(Ltreedata), "drag_data_received", G_CALLBACK(data_dnd_data_received), |
|
|
Lhash);*/ |
|
831 |
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (Ltreedata), |
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (Ltreedata), |
832 |
GDK_BUTTON1_MASK, Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
GDK_BUTTON1_MASK, Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
833 |
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreedata), |
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreedata), |
834 |
Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
835 |
g_signal_connect(G_OBJECT(Ltreedata), "drag-data-received", G_CALLBACK(data_dnd_data_received), |
g_signal_connect(G_OBJECT(Ltreedata), "drag-data-received", G_CALLBACK(data_dnd_data_received), |
836 |
Lhash); |
Lhash); |
837 |
|
/* dvd data */ |
838 |
|
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (Ltreedvddata), |
839 |
|
GDK_BUTTON1_MASK, Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
840 |
|
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreedvddata), |
841 |
|
Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY); |
842 |
|
g_signal_connect(G_OBJECT(Ltreedvddata), "drag-data-received", G_CALLBACK(data_dnd_data_received), |
843 |
|
Lhash); |
844 |
|
|
845 |
|
/* evenement fermer la fenetre */ |
846 |
g_signal_connect(G_OBJECT(Lwindow), "delete-event", G_CALLBACK(delete_event_quit), Lhash); |
g_signal_connect(G_OBJECT(Lwindow), "delete-event", G_CALLBACK(delete_event_quit), Lhash); |
847 |
|
|
848 |
/* on restaure la taille et la position que la fenetre avait lors de la derniere utilisation */ |
/* on restaure la taille et la position que la fenetre avait lors de la derniere utilisation */ |
862 |
GtkComboBox *Lsrccopycombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "srccopycombo")); |
GtkComboBox *Lsrccopycombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "srccopycombo")); |
863 |
GtkComboBox *Ldstcopycombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstcopycombo")); |
GtkComboBox *Ldstcopycombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstcopycombo")); |
864 |
GtkComboBox *Ldstdatacombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstdatacombo")); |
GtkComboBox *Ldstdatacombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstdatacombo")); |
865 |
|
GtkComboBox *Ldstdvddatacombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstdvddatacombo")); |
866 |
GtkComboBox *Ldstaudiocombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstaudiocombo")); |
GtkComboBox *Ldstaudiocombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstaudiocombo")); |
867 |
GtkComboBox *Ldstothercombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstothercombo")); |
GtkComboBox *Ldstothercombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstothercombo")); |
868 |
|
|
869 |
remplirecombograveur(Lsrccopycombo, ALL + ISO, conf_get_string("srccopycombo")); |
remplirecombograveur(Lsrccopycombo, TYPE_ALL + TYPE_ISO, conf_get_string("srccopycombo")); |
870 |
|
|
871 |
remplirecombograveur(Ldstcopycombo, GRAVEUR_ONLY + ISO, conf_get_string("dstcopycombo")); |
remplirecombograveur(Ldstcopycombo, TYPE_ALLWRITER + TYPE_ISO, conf_get_string("dstcopycombo")); |
872 |
|
|
873 |
remplirecombograveur(Ldstdatacombo, GRAVEUR_ONLY + ISO, conf_get_string("dstdatacombo")); |
remplirecombograveur(Ldstdatacombo, TYPE_ALLWRITER + TYPE_ISO, conf_get_string("dstdatacombo")); |
874 |
|
|
875 |
|
remplirecombograveur(Ldstdvddatacombo, TYPE_DVDWRITER + TYPE_ISO, conf_get_string("dstdvddatacombo")); |
876 |
|
|
877 |
remplirecombograveur(Ldstaudiocombo, GRAVEUR_ONLY, conf_get_string("dstaudiocombo")); |
remplirecombograveur(Ldstaudiocombo, TYPE_ALLWRITER, conf_get_string("dstaudiocombo")); |
878 |
|
|
879 |
remplirecombograveur(Ldstothercombo, GRAVEUR_ONLY, conf_get_string("dstothercombo")); |
remplirecombograveur(Ldstothercombo, TYPE_ALLWRITER, conf_get_string("dstothercombo")); |
880 |
} |
} |
881 |
|
|
882 |
GtkWidget* create_fileselection1 (GtkWindow *AParent, GtkFileChooserAction AType) |
GtkWidget* create_fileselection1 (GtkWindow *AParent, GtkFileChooserAction AType) |
1122 |
g_free(Lxml); |
g_free(Lxml); |
1123 |
} |
} |
1124 |
|
|
1125 |
/* fenetre copie d'un cd en cours */ |
/* fenetre gravure d'un cd en cours */ |
1126 |
void show_graverwindow (GHashTable *Ahash, gchar *Aaction, gchar *Atitle) |
void show_graverwindow (GHashTable *Ahash, gchar *Aaction, gchar *Atitle) |
1127 |
{ |
{ |
1128 |
gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/window_burn.glade"; |
gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/window_burn.glade"; |
1318 |
g_hash_table_replace(Lhash, "_lstclicked", Lnewclick); |
g_hash_table_replace(Lhash, "_lstclicked", Lnewclick); |
1319 |
|
|
1320 |
gtk_widget_show(GTK_WIDGET(Lnewclick)); |
gtk_widget_show(GTK_WIDGET(Lnewclick)); |
1321 |
|
|
1322 |
|
/* pointeur sur la liste courante pour plus de simplicite */ |
1323 |
|
if (!strcmp(Lident, "bodycddata")) { |
1324 |
|
g_hash_table_replace(Lhash, "_current_list", g_hash_table_lookup(Lhash, "LISTEDATA")); |
1325 |
|
} else if (!strcmp(Lident, "bodydvddata")) { |
1326 |
|
g_hash_table_replace(Lhash, "_current_list", g_hash_table_lookup(Lhash, "LISTEDVDDATA")); |
1327 |
|
} |
1328 |
} |
} |
1329 |
|
|
1330 |
g_free(Lident); |
g_free(Lident); |
1387 |
gtk_list_store_set(Lmodel, &Liter, 0, "bodycddata", 1, GMenuData, 2, _("Data CD"), -1); |
gtk_list_store_set(Lmodel, &Liter, 0, "bodycddata", 1, GMenuData, 2, _("Data CD"), -1); |
1388 |
|
|
1389 |
gtk_list_store_append(Lmodel, &Liter); |
gtk_list_store_append(Lmodel, &Liter); |
1390 |
|
gtk_list_store_set(Lmodel, &Liter, 0, "bodydvddata", 1, GMenuData, 2, _("Data DVD"), -1); |
1391 |
|
|
1392 |
|
gtk_list_store_append(Lmodel, &Liter); |
1393 |
gtk_list_store_set(Lmodel, &Liter, 0, "bodycdcopy", 1, GMenuCopy, 2, _("Duplicate CD"), -1); |
gtk_list_store_set(Lmodel, &Liter, 0, "bodycdcopy", 1, GMenuCopy, 2, _("Duplicate CD"), -1); |
1394 |
|
|
1395 |
gtk_list_store_append(Lmodel, &Liter); |
gtk_list_store_append(Lmodel, &Liter); |
1528 |
gtk_tree_view_set_model(Atreeaudio, GTK_TREE_MODEL(Lmodel)); |
gtk_tree_view_set_model(Atreeaudio, GTK_TREE_MODEL(Lmodel)); |
1529 |
} |
} |
1530 |
|
|
1531 |
void prepare_listedata(GtkTreeView *Atreedata) |
void prepare_listedata(GtkTreeView *Atreedata, gchar *Atitle) |
1532 |
{ |
{ |
1533 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Atreedata)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Atreedata)); |
1534 |
GtkTreeStore *Lmodel = gtk_tree_store_new(7, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, |
GtkTreeStore *Lmodel = gtk_tree_store_new(7, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, |
1559 |
|
|
1560 |
/* icone de base dans la liste des fichiers */ |
/* icone de base dans la liste des fichiers */ |
1561 |
gtk_tree_store_append(GTK_TREE_STORE(Lmodel), &Liter, NULL); |
gtk_tree_store_append(GTK_TREE_STORE(Lmodel), &Liter, NULL); |
1562 |
gtk_tree_store_set(Lmodel, &Liter, 0, TYPE_CD, 1, GCDpetiteIcone, 2, _("New CD"), 3, "", 4, "", 5, "", 6, 0, -1); |
gtk_tree_store_set(Lmodel, &Liter, 0, TYPE_CD, 1, GCDpetiteIcone, 2, Atitle, 3, "", 4, "", 5, "", 6, 0, -1); |
1563 |
} |
} |
1564 |
|
|
1565 |
/* fenetre de confirmation avec une checkbox */ |
/* fenetre de confirmation avec une checkbox */ |
1597 |
return Lhash; |
return Lhash; |
1598 |
} |
} |
1599 |
|
|
1600 |
|
/* fenetre selection d'une operation sur un dvd */ |
1601 |
|
GHashTable *create_dialog_select_dvdoperation (GtkWidget *Aparent) |
1602 |
|
{ |
1603 |
|
gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/dialog_select_operation.glade"; |
1604 |
|
GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL); |
1605 |
|
GtkWidget *Ldialog; |
1606 |
|
GHashTable *Lhash = _hash(); |
1607 |
|
|
1608 |
|
if (!Lxml) { |
1609 |
|
g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno)); |
1610 |
|
} |
1611 |
|
|
1612 |
|
Ldialog = glade_xml_get_widget(Lxml, "dialog_select_operation"); |
1613 |
|
gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent)); |
1614 |
|
g_hash_table_insert(Lhash, "window", Ldialog); |
1615 |
|
|
1616 |
|
/* titre */ |
1617 |
|
glade_to_hash(Lxml, Lhash, "label"); |
1618 |
|
|
1619 |
|
/* commencer une session ou merger ? */ |
1620 |
|
glade_to_hash(Lxml, Lhash, "burninitial"); |
1621 |
|
glade_to_hash(Lxml, Lhash, "burnmerge"); |
1622 |
|
|
1623 |
|
return Lhash; |
1624 |
|
} |
1625 |
/* fenetre proprietes */ |
/* fenetre proprietes */ |
1626 |
GHashTable *create_dialog_proprietes (GtkWidget *Aparent) |
GHashTable *create_dialog_proprietes (GtkWidget *Aparent) |
1627 |
{ |
{ |
1756 |
} |
} |
1757 |
|
|
1758 |
/* mise a jour d'une bar indicant le remplissage, passage en rouge si le cd est plein */ |
/* mise a jour d'une bar indicant le remplissage, passage en rouge si le cd est plein */ |
1759 |
void switch_pbar_status(GtkProgressBar *Apbar, guint32 Amaxlen, guint32 Acurlen, Ttypemajpbar Aupdatetext) { |
void switch_pbar_status(GtkProgressBar *Apbar, guint64 Amaxlen, guint64 Acurlen, Ttypemajpbar Aupdatetext) { |
1760 |
gdouble Lpremp = (1.0/Amaxlen)*Acurlen; |
gdouble Lpremp = (1.0/Amaxlen)*Acurlen; |
1761 |
|
printf("on donc ici [%lld] [%lld]\n", Amaxlen, Acurlen); |
1762 |
if (Lpremp>1) { |
if (Lpremp>1) { |
1763 |
GdkColor Lcolor; |
GdkColor Lcolor; |
1764 |
gdk_color_parse ("red", &Lcolor); |
gdk_color_parse ("red", &Lcolor); |
1765 |
Lpremp = 1; |
Lpremp = 1; |
1766 |
|
printf("la avant upd\n"); |
1767 |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_NORMAL, &Lcolor); |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_NORMAL, &Lcolor); |
1768 |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_ACTIVE, &Lcolor); |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_ACTIVE, &Lcolor); |
1769 |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_PRELIGHT, &Lcolor); |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_PRELIGHT, &Lcolor); |
1770 |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_SELECTED, &Lcolor); |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_SELECTED, &Lcolor); |
1771 |
|
printf("la apres upd\n"); |
1772 |
} else { |
} else { |
1773 |
|
printf("la avant 000upd\n"); |
1774 |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_NORMAL, NULL); |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_NORMAL, NULL); |
1775 |
|
printf("la avant 110upd\n"); |
1776 |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_ACTIVE, NULL); |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_ACTIVE, NULL); |
1777 |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_PRELIGHT, NULL); |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_PRELIGHT, NULL); |
1778 |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_SELECTED, NULL); |
gtk_widget_modify_bg (GTK_WIDGET(Apbar), GTK_STATE_SELECTED, NULL); |
1784 |
gtk_progress_bar_set_text(GTK_PROGRESS_BAR(Apbar), Ltmp); |
gtk_progress_bar_set_text(GTK_PROGRESS_BAR(Apbar), Ltmp); |
1785 |
g_free(Ltmp); |
g_free(Ltmp); |
1786 |
} |
} |
1787 |
|
printf("fin man [%lld]\n", (unsigned long long) Acurlen); |
1788 |
} |
} |
1789 |
|
|
1790 |
/* effacer un cd reinscriptible */ |
/* effacer un cd reinscriptible */ |