406 |
GtkWidget *Litem, *Litem2, *Lsep; |
GtkWidget *Litem, *Litem2, *Lsep; |
407 |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Aliste)); |
GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Aliste)); |
408 |
GtkTreeIter Liter; |
GtkTreeIter Liter; |
409 |
gint type; |
gint type, Lcolid = 0; |
410 |
|
GtkSortType Lorder; |
411 |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection); |
412 |
gboolean Lonlyone = TRUE; |
gboolean Lonlyone = TRUE; |
413 |
const gchar *Llistename = glade_get_widget_name(Aliste); |
const gchar *Llistename = glade_get_widget_name(Aliste); |
414 |
GtkTreePath *Lpath = NULL; |
GtkTreePath *Lpath = NULL; |
415 |
|
GtkTreeViewColumn *Lcol = NULL; |
416 |
|
|
417 |
/* on cherche l'object selectionne, il peu y en avoir plusieur |
/* on cherche l'object selectionne, il peu y en avoir plusieur |
418 |
* car on est en SELECTION_MULTIPLE */ |
* car on est en SELECTION_MULTIPLE */ |
510 |
Lsep = sc_grave_get_widget(Ag, "popupdata_sep2"); |
Lsep = sc_grave_get_widget(Ag, "popupdata_sep2"); |
511 |
Litem = sc_grave_get_widget(Ag, "popupdata_remove"); |
Litem = sc_grave_get_widget(Ag, "popupdata_remove"); |
512 |
if (type != TYPE_CD) { |
if (type != TYPE_CD) { |
513 |
if (Lonlyone) { |
gtk_widget_hide (Lsep); |
|
gtk_widget_show (Lsep); |
|
|
} else { |
|
|
gtk_widget_hide (Lsep); |
|
|
} |
|
514 |
gtk_widget_set_sensitive(Litem, TRUE); |
gtk_widget_set_sensitive(Litem, TRUE); |
515 |
gtk_widget_show (Litem); |
gtk_widget_show (Litem); |
516 |
|
|
541 |
gtk_widget_hide (Litem); |
gtk_widget_hide (Litem); |
542 |
}*/ |
}*/ |
543 |
|
|
544 |
|
/* TRIER */ |
545 |
|
if (!gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE(Lmodel), &Lcolid, &Lorder)) Lcolid=0; |
546 |
|
|
547 |
|
if (Lcolid == 2) { |
548 |
|
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(sc_grave_get_widget(Ag, "popupdata_sort_name")), TRUE); |
549 |
|
Lcol = gtk_tree_view_get_column(GTK_TREE_VIEW(Aliste), Lcolid); |
550 |
|
} else if (Lcolid == 3) { |
551 |
|
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(sc_grave_get_widget(Ag, "popupdata_sort_size")), TRUE); |
552 |
|
Lcol = gtk_tree_view_get_column(GTK_TREE_VIEW(Aliste), Lcolid); |
553 |
|
} else { |
554 |
|
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(sc_grave_get_widget(Ag, "popupdata_sort_none")), TRUE); |
555 |
|
} |
556 |
|
/* marche pas ! */ |
557 |
|
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(sc_grave_get_widget(Ag, "popupdata_sort_reverse")), |
558 |
|
(!GTK_IS_TREE_VIEW_COLUMN(Lcol) || gtk_tree_view_column_get_sort_order(Lcol)==GTK_SORT_ASCENDING) ? |
559 |
|
FALSE : TRUE |
560 |
|
); |
561 |
|
|
562 |
|
|
563 |
return Lmenu; |
return Lmenu; |
564 |
} |
} |
565 |
|
|
566 |
void prepare_popups(Tgrave *Ag) |
void prepare_popups(Tgrave *Ag) |
567 |
{ |
{ |
568 |
/* popup cd audio */ |
/* popup cd audio */ |
569 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_addtrack")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_addtrack")), |
570 |
"activate", G_CALLBACK(gtk_audio_addtrack), Ag); |
"activate", G_CALLBACK(gtk_audio_addtrack), Ag); |
571 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_removetrack")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_removetrack")), |
572 |
"activate", G_CALLBACK(gtk_audio_removetrack), Ag); |
"activate", G_CALLBACK(gtk_audio_removetrack), Ag); |
573 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_append")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_append")), |
574 |
"activate", G_CALLBACK(menu_load), Ag); |
"activate", G_CALLBACK(menu_load), Ag); |
575 |
|
|
576 |
/* popup cd data */ |
/* popup cd data */ |
577 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamecd")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamecd")), |
578 |
"activate", G_CALLBACK(gtk_data_renommerelement), Ag); |
"activate", G_CALLBACK(gtk_data_renommerelement), Ag); |
579 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamedvd")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamedvd")), |
580 |
"activate", G_CALLBACK(gtk_data_renommerelement), Ag); |
"activate", G_CALLBACK(gtk_data_renommerelement), Ag); |
581 |
|
|
582 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_expand")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_expand")), |
583 |
"activate", G_CALLBACK(gtk_data_expandelement), Ag); |
"activate", G_CALLBACK(gtk_data_expandelement), Ag); |
584 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamefile")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamefile")), |
585 |
"activate", G_CALLBACK(gtk_data_renommerelement), Ag); |
"activate", G_CALLBACK(gtk_data_renommerelement), Ag); |
586 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamedirectory")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamedirectory")), |
587 |
"activate", G_CALLBACK(gtk_data_renommerelement), Ag); |
"activate", G_CALLBACK(gtk_data_renommerelement), Ag); |
588 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_createdirectory")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_createdirectory")), |
589 |
"activate", G_CALLBACK(gtk_data_creerrepertoire), Ag); |
"activate", G_CALLBACK(gtk_data_creerrepertoire), Ag); |
590 |
sc_grave_get_widget(Ag, "popupdata_sep1"); |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_addfile")), |
591 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_addfile")), |
"activate", G_CALLBACK(gtk_data_addfile), Ag); |
592 |
"activate", G_CALLBACK(gtk_data_addfile), Ag); |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_adddirectory")), |
593 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_adddirectory")), |
"activate", G_CALLBACK(gtk_data_adddirectory), Ag); |
594 |
"activate", G_CALLBACK(gtk_data_adddirectory), Ag); |
|
595 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_remove")), |
596 |
sc_grave_get_widget(Ag, "popupdata_sep2"); |
"activate", G_CALLBACK(gtk_data_removefiles), Ag); |
597 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_remove")), |
|
598 |
"activate", G_CALLBACK(gtk_data_removefiles), Ag); |
/* tris */ |
599 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_sort_none")), |
600 |
|
"activate", G_CALLBACK(gtk_data_asksort), Ag); |
601 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_sort_name")), |
602 |
|
"activate", G_CALLBACK(gtk_data_asksort), Ag); |
603 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_sort_size")), |
604 |
|
"activate", G_CALLBACK(gtk_data_asksort), Ag); |
605 |
|
|
606 |
|
|
607 |
#if 0 |
#if 0 |
608 |
sc_grave_get_widget(Ag, "popupdata_sep3"); |
sc_grave_get_widget(Ag, "popupdata_sep3"); |
609 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_imageboot")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_imageboot")), |
610 |
"activate", G_CALLBACK(gtk_def_imageboot), Ahash); |
"activate", G_CALLBACK(gtk_def_imageboot), Ahash); |
611 |
#endif |
#endif |
612 |
|
|
613 |
/* popup affichage */ |
/* popup affichage */ |
614 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_48")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_48")), |
615 |
"activate", G_CALLBACK(gtk_display_updatesize), Ag); |
"activate", G_CALLBACK(gtk_display_updatesize), Ag); |
616 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_32")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_32")), |
617 |
"activate", G_CALLBACK(gtk_display_updatesize), Ag); |
"activate", G_CALLBACK(gtk_display_updatesize), Ag); |
618 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_24")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_24")), |
619 |
"activate", G_CALLBACK(gtk_display_updatesize), Ag); |
"activate", G_CALLBACK(gtk_display_updatesize), Ag); |
620 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_16")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_16")), |
621 |
"activate", G_CALLBACK(gtk_display_updatesize), Ag); |
"activate", G_CALLBACK(gtk_display_updatesize), Ag); |
622 |
|
|
623 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_showstatusbar")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_showstatusbar")), |
624 |
"activate", G_CALLBACK(gtk_display_switchstatusbar), Ag); |
"activate", G_CALLBACK(gtk_display_switchstatusbar), Ag); |
625 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_hidestatusbar")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_hidestatusbar")), |
626 |
"activate", G_CALLBACK(gtk_display_switchstatusbar), Ag); |
"activate", G_CALLBACK(gtk_display_switchstatusbar), Ag); |
627 |
|
|
628 |
/* popup formater un dvd */ |
/* popup formater un dvd */ |
629 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_format")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_format")), |
630 |
"activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag); |
"activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag); |
631 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blank")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blank")), |
632 |
"activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag); |
"activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag); |
633 |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blankfull")), |
g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blankfull")), |
634 |
"activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag); |
"activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag); |
635 |
} |
} |
636 |
|
|
637 |
/* fenetre principal */ |
/* fenetre principal */ |
638 |
Tgrave *manage_main_window (guint64 *Aaudiolen, guint64 *Aaudiomaxlen, |
Tgrave *manage_main_window (guint64 *Aaudiolen, guint64 *Aaudiomaxlen, |
639 |
guint64 *Adatasize, guint64 *Adatamaxsize, guint64 *Advddatasize, guint64 *Advddatamaxsize) |
guint64 *Adatasize, guint64 *Adatamaxsize, guint64 *Advddatasize, guint64 *Advddatamaxsize) |
640 |
{ |
{ |
641 |
Tgrave *Lg = sc_grave_load("window_main.glade"); |
Tgrave *Lg = sc_grave_load("window_main.glade"); |
642 |
GtkWidget *Lwindow; |
GtkWidget *Lwindow; |
643 |
GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother, *Lbodydvddata; |
GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother, *Lbodydvddata; |
644 |
GtkHBox *Lmainbody; |
GtkHBox *Lmainbody; |
645 |
GtkComboBox *Lcombo; |
GtkComboBox *Lcombo; |
646 |
GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu, *Ltreedvddata; |
GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu, *Ltreedvddata; |
647 |
|
|
648 |
|
g_assert(Lg); |
649 |
|
|
650 |
|
Lmainbody = GTK_HBOX(sc_grave_get_widget(Lg, "mainbody")); |
651 |
|
Lwindow = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
652 |
|
|
653 |
|
sc_tooltips(Lwindow, conf_get_boolean("tooltips")); |
654 |
|
|
655 |
|
sc_grave_set_data(Lg, Lwindow, "window"); |
656 |
|
sc_grave_set_data(Lg, Aaudiolen, "audiolen"); |
657 |
|
sc_grave_set_data(Lg, Aaudiomaxlen, "audiomaxlen"); |
658 |
|
sc_grave_set_data(Lg, Adatasize, "datasize"); |
659 |
|
sc_grave_set_data(Lg, Adatamaxsize, "datamaxsize"); |
660 |
|
sc_grave_set_data(Lg, Advddatasize, "dvddatasize"); |
661 |
|
sc_grave_set_data(Lg, Advddatamaxsize, "dvddatamaxsize"); |
662 |
|
|
663 |
|
/* onglets page de droite */ |
664 |
|
Lbodycdaudio = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdaudio")); |
665 |
|
gtk_widget_reparent(GTK_WIDGET(Lbodycdaudio), GTK_WIDGET(Lmainbody)); |
666 |
|
Lbodycddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycddata")); |
667 |
|
gtk_widget_reparent(GTK_WIDGET(Lbodycddata), GTK_WIDGET(Lmainbody)); |
668 |
|
Lbodydvddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodydvddata")); |
669 |
|
gtk_widget_reparent(GTK_WIDGET(Lbodydvddata), GTK_WIDGET(Lmainbody)); |
670 |
|
Lbodycdcopy = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdcopy")); |
671 |
|
gtk_widget_reparent(GTK_WIDGET(Lbodycdcopy), GTK_WIDGET(Lmainbody)); |
672 |
|
Lbodycdother = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdother")); |
673 |
|
gtk_widget_reparent(GTK_WIDGET(Lbodycdother), GTK_WIDGET(Lmainbody)); |
674 |
|
sc_grave_replace_data(Lg, Lbodycdaudio, "_lstclicked"); |
675 |
|
|
676 |
|
/* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un cd de donnee" */ |
677 |
|
g_signal_connect(G_OBJECT(Lbodycddata), "switch-page", G_CALLBACK(switchpage), Lg); |
678 |
|
/* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un dvd de donnee" */ |
679 |
|
g_signal_connect(G_OBJECT(Lbodydvddata), "switch-page", G_CALLBACK(switchpage), Lg); |
680 |
|
|
681 |
|
/* bouttons barre de gauche */ |
682 |
|
Ltopmenu = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "topmenu")); |
683 |
|
|
684 |
|
manage_interface(Lg, MENU_NEW + COMBO_UPDATE); |
685 |
|
update_status_bar_display(Lg); |
686 |
|
|
687 |
|
g_signal_connect(G_OBJECT(Ltopmenu), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg); |
688 |
|
g_signal_connect(G_OBJECT(Ltopmenu), "popup-menu", G_CALLBACK(key_popupmenu_display), Lg); |
689 |
|
|
690 |
|
|
691 |
|
/* signaux sur le menu */ |
692 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menustartnew")), "activate", |
693 |
|
G_CALLBACK(menu_start_new), Lg); |
694 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuload")), "activate", |
695 |
|
G_CALLBACK(menu_load), Lg); |
696 |
|
|
697 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdaudio")), "activate", |
698 |
|
G_CALLBACK(menu_active_panel), Lg); |
699 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucddata")), "activate", |
700 |
|
G_CALLBACK(menu_active_panel), Lg); |
701 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menudvddata")), "activate", |
702 |
|
G_CALLBACK(menu_active_panel), Lg); |
703 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdcopy")), "activate", |
704 |
|
G_CALLBACK(menu_active_panel), Lg); |
705 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdother")), "activate", |
706 |
|
G_CALLBACK(menu_active_panel), Lg); |
707 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuproperties")), "activate", |
708 |
|
G_CALLBACK(menu_active_proprietes), Lg); |
709 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuquit")), "activate", |
710 |
|
G_CALLBACK(menu_quit), Lg); |
711 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuabout")), "activate", |
712 |
|
G_CALLBACK(on_about), Lg); |
713 |
|
|
714 |
|
prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstaudiospeed"))); |
715 |
|
prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstcopyspeed"))); |
716 |
|
prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstdataspeed"))); |
717 |
|
prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstdvddataspeed"))); |
718 |
|
|
719 |
|
/* tous les combo contenant la liste des lecteurs */ |
720 |
|
prepare_combobox_graveur(Lg, "dstaudio"); |
721 |
|
|
722 |
|
prepare_combobox_graveur(Lg, "dstdata"); |
723 |
|
prepare_disable_when_iso(Lg, "dstdatacombo", "nbrcddata", "datamulti", "datanotfix", "datasimul", NULL); |
724 |
|
|
725 |
|
prepare_combobox_graveur(Lg, "dstdvddata"); |
726 |
|
prepare_disable_when_iso(Lg, "dstdvddatacombo", "nbrdvddata", "dvddatanotfix", "dvddatasimul", NULL); |
727 |
|
|
728 |
|
prepare_combobox_graveur(Lg, "srccopy"); |
729 |
|
prepare_combobox_graveur(Lg, "dstcopy"); |
730 |
|
|
731 |
|
prepare_combobox_graveur(Lg, "dstother"); |
732 |
|
prepare_disable_when(Lg, "dstothercombo_notcdrw", "btnerasecdrwother1", NULL); |
733 |
|
prepare_disable_when(Lg, "dstothercombo_notdvdrw", "btnformatdvdrwother1", NULL); |
734 |
|
|
735 |
|
/* checkbox continuer un cd multi session, on ne permet dans ce cas pas de faire |
736 |
|
* plusieurs copie a la suite */ |
737 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "datamulti")), "toggled", G_CALLBACK(change_datamulti), Lg); |
738 |
|
|
739 |
|
|
740 |
|
/* on rempli les autres combo */ |
741 |
|
remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dataformat")), "", Gformatcd, |
742 |
|
TRUE, conf_get_string("dataformat")); |
743 |
|
remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "datamodburn")), "", Gmodburn, |
744 |
|
TRUE, conf_get_string("datamodburn")); |
745 |
|
Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidata")); |
746 |
|
remplirecombo(Lcombo, "", Gtypecddata, TRUE, conf_get_string("listeremplidata")); |
747 |
|
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lg); |
748 |
|
|
749 |
|
Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidvddata")); |
750 |
|
remplirecombo(Lcombo, "", Gtypedvddata, TRUE, conf_get_string("listeremplidvddata")); |
751 |
|
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lg); |
752 |
|
|
753 |
|
Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listerempliaudio")); |
754 |
|
remplirecombo(Lcombo, "", Gtypecdaudio, TRUE, conf_get_string("listerempliaudio")); |
755 |
|
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lg); |
756 |
|
|
757 |
|
/* boutons "page suivante" */ |
758 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextaudio1")), "clicked", G_CALLBACK(gonextpage), Lbodycdaudio); |
759 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata1")), "clicked", G_CALLBACK(gonextpage), Lbodycddata); |
760 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata2")), "clicked", G_CALLBACK(gonextpage), Lbodycddata); |
761 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata1")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata); |
762 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata2")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata); |
763 |
|
|
764 |
|
/* boutons "graver" */ |
765 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburnaudio2")), "clicked", G_CALLBACK(confirm_burn), Lg); |
766 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata2")), "clicked", G_CALLBACK(confirm_burn), Lg); |
767 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata3")), "clicked", G_CALLBACK(confirm_burn), Lg); |
768 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata2")), "clicked", G_CALLBACK(confirm_burn), Lg); |
769 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata3")), "clicked", G_CALLBACK(confirm_burn), Lg); |
770 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburncopy1")), "clicked", G_CALLBACK(confirm_burn), Lg); |
771 |
|
|
772 |
|
/* boutons de la page "autres operations" */ |
773 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnerasecdrwother1")), "clicked", G_CALLBACK(confirm_erasecdrw), Lg); |
774 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnformatdvdrwother1")), "clicked", G_CALLBACK(popup_formatdvdrw), Lg); |
775 |
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnfixcdother1")), "clicked", G_CALLBACK(confirm_fixcd), Lg); |
776 |
|
|
777 |
g_assert(Lg); |
update_combo_graveur(Lg); |
778 |
|
|
779 |
Lmainbody = GTK_HBOX(sc_grave_get_widget(Lg, "mainbody")); |
/* menu popup sur les listes */ |
780 |
Lwindow = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow")); |
Ltreeaudio = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO")); |
781 |
|
|
782 |
sc_tooltips(Lwindow, conf_get_boolean("tooltips")); |
prepare_popups(Lg); |
|
|
|
|
sc_grave_set_data(Lg, Lwindow, "window"); |
|
|
sc_grave_set_data(Lg, Aaudiolen, "audiolen"); |
|
|
sc_grave_set_data(Lg, Aaudiomaxlen, "audiomaxlen"); |
|
|
sc_grave_set_data(Lg, Adatasize, "datasize"); |
|
|
sc_grave_set_data(Lg, Adatamaxsize, "datamaxsize"); |
|
|
sc_grave_set_data(Lg, Advddatasize, "dvddatasize"); |
|
|
sc_grave_set_data(Lg, Advddatamaxsize, "dvddatamaxsize"); |
|
|
|
|
|
/* onglets page de droite */ |
|
|
Lbodycdaudio = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdaudio")); |
|
|
gtk_widget_reparent(GTK_WIDGET(Lbodycdaudio), GTK_WIDGET(Lmainbody)); |
|
|
Lbodycddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycddata")); |
|
|
gtk_widget_reparent(GTK_WIDGET(Lbodycddata), GTK_WIDGET(Lmainbody)); |
|
|
Lbodydvddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodydvddata")); |
|
|
gtk_widget_reparent(GTK_WIDGET(Lbodydvddata), GTK_WIDGET(Lmainbody)); |
|
|
Lbodycdcopy = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdcopy")); |
|
|
gtk_widget_reparent(GTK_WIDGET(Lbodycdcopy), GTK_WIDGET(Lmainbody)); |
|
|
Lbodycdother = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdother")); |
|
|
gtk_widget_reparent(GTK_WIDGET(Lbodycdother), GTK_WIDGET(Lmainbody)); |
|
|
sc_grave_replace_data(Lg, Lbodycdaudio, "_lstclicked"); |
|
|
|
|
|
/* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un cd de donnee" */ |
|
|
g_signal_connect(G_OBJECT(Lbodycddata), "switch-page", G_CALLBACK(switchpage), Lg); |
|
|
/* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un dvd de donnee" */ |
|
|
g_signal_connect(G_OBJECT(Lbodydvddata), "switch-page", G_CALLBACK(switchpage), Lg); |
|
|
|
|
|
/* bouttons barre de gauche */ |
|
|
Ltopmenu = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "topmenu")); |
|
|
|
|
|
manage_interface(Lg, MENU_NEW + COMBO_UPDATE); |
|
|
update_status_bar_display(Lg); |
|
|
|
|
|
g_signal_connect(G_OBJECT(Ltopmenu), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg); |
|
|
g_signal_connect(G_OBJECT(Ltopmenu), "popup-menu", G_CALLBACK(key_popupmenu_display), Lg); |
|
|
|
|
|
|
|
|
/* signaux sur le menu */ |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menustartnew")), "activate", |
|
|
G_CALLBACK(menu_start_new), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuload")), "activate", |
|
|
G_CALLBACK(menu_load), Lg); |
|
|
|
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdaudio")), "activate", |
|
|
G_CALLBACK(menu_active_panel), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucddata")), "activate", |
|
|
G_CALLBACK(menu_active_panel), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menudvddata")), "activate", |
|
|
G_CALLBACK(menu_active_panel), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdcopy")), "activate", |
|
|
G_CALLBACK(menu_active_panel), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdother")), "activate", |
|
|
G_CALLBACK(menu_active_panel), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuproperties")), "activate", |
|
|
G_CALLBACK(menu_active_proprietes), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuquit")), "activate", |
|
|
G_CALLBACK(menu_quit), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuabout")), "activate", |
|
|
G_CALLBACK(on_about), Lg); |
|
|
|
|
|
prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstaudiospeed"))); |
|
|
prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstcopyspeed"))); |
|
|
prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstdataspeed"))); |
|
|
prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstdvddataspeed"))); |
|
|
|
|
|
/* tous les combo contenant la liste des lecteurs */ |
|
|
prepare_combobox_graveur(Lg, "dstaudio"); |
|
|
|
|
|
prepare_combobox_graveur(Lg, "dstdata"); |
|
|
prepare_disable_when_iso(Lg, "dstdatacombo", "nbrcddata", "datamulti", "datanotfix", "datasimul", NULL); |
|
|
|
|
|
prepare_combobox_graveur(Lg, "dstdvddata"); |
|
|
prepare_disable_when_iso(Lg, "dstdvddatacombo", "nbrdvddata", "dvddatanotfix", "dvddatasimul", NULL); |
|
|
|
|
|
prepare_combobox_graveur(Lg, "srccopy"); |
|
|
prepare_combobox_graveur(Lg, "dstcopy"); |
|
|
|
|
|
prepare_combobox_graveur(Lg, "dstother"); |
|
|
prepare_disable_when(Lg, "dstothercombo_notcdrw", "btnerasecdrwother1", NULL); |
|
|
prepare_disable_when(Lg, "dstothercombo_notdvdrw", "btnformatdvdrwother1", NULL); |
|
|
|
|
|
/* checkbox continuer un cd multi session, on ne permet dans ce cas pas de faire |
|
|
* plusieurs copie a la suite */ |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "datamulti")), "toggled", G_CALLBACK(change_datamulti), Lg); |
|
|
|
|
|
|
|
|
/* on rempli les autres combo */ |
|
|
remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dataformat")), "", Gformatcd, |
|
|
TRUE, conf_get_string("dataformat")); |
|
|
remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "datamodburn")), "", Gmodburn, |
|
|
TRUE, conf_get_string("datamodburn")); |
|
|
Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidata")); |
|
|
remplirecombo(Lcombo, "", Gtypecddata, TRUE, conf_get_string("listeremplidata")); |
|
|
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lg); |
|
|
|
|
|
Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidvddata")); |
|
|
remplirecombo(Lcombo, "", Gtypedvddata, TRUE, conf_get_string("listeremplidvddata")); |
|
|
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lg); |
|
|
|
|
|
Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listerempliaudio")); |
|
|
remplirecombo(Lcombo, "", Gtypecdaudio, TRUE, conf_get_string("listerempliaudio")); |
|
|
g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lg); |
|
|
|
|
|
/* boutons "page suivante" */ |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextaudio1")), "clicked", G_CALLBACK(gonextpage), Lbodycdaudio); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata1")), "clicked", G_CALLBACK(gonextpage), Lbodycddata); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata2")), "clicked", G_CALLBACK(gonextpage), Lbodycddata); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata1")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata2")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata); |
|
|
|
|
|
/* boutons "graver" */ |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburnaudio2")), "clicked", G_CALLBACK(confirm_burn), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata2")), "clicked", G_CALLBACK(confirm_burn), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata3")), "clicked", G_CALLBACK(confirm_burn), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata2")), "clicked", G_CALLBACK(confirm_burn), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata3")), "clicked", G_CALLBACK(confirm_burn), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburncopy1")), "clicked", G_CALLBACK(confirm_burn), Lg); |
|
|
|
|
|
/* boutons de la page "autres operations" */ |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnerasecdrwother1")), "clicked", G_CALLBACK(confirm_erasecdrw), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnformatdvdrwother1")), "clicked", G_CALLBACK(popup_formatdvdrw), Lg); |
|
|
g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnfixcdother1")), "clicked", G_CALLBACK(confirm_fixcd), Lg); |
|
|
|
|
|
update_combo_graveur(Lg); |
|
|
|
|
|
/* menu popup sur les listes */ |
|
|
Ltreeaudio = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO")); |
|
|
|
|
|
prepare_popups(Lg); |
|
783 |
prepare_listeaudio(Ltreeaudio); |
prepare_listeaudio(Ltreeaudio); |
784 |
|
|
785 |
g_signal_connect(G_OBJECT(Ltreeaudio), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg); |
g_signal_connect(G_OBJECT(Ltreeaudio), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg); |
1563 |
/* creation colonnes */ |
/* creation colonnes */ |
1564 |
Lcellrender = gtk_cell_renderer_pixbuf_new(); |
Lcellrender = gtk_cell_renderer_pixbuf_new(); |
1565 |
Lcell = gtk_tree_view_column_new_with_attributes("", Lcellrender, "pixbuf", 1, NULL); |
Lcell = gtk_tree_view_column_new_with_attributes("", Lcellrender, "pixbuf", 1, NULL); |
1566 |
|
gtk_tree_view_column_set_resizable(Lcell, TRUE); |
1567 |
gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell); |
gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell); |
1568 |
|
|
1569 |
Lcellrender = gtk_cell_renderer_text_new(); |
Lcellrender = gtk_cell_renderer_text_new(); |
1570 |
Lcell = gtk_tree_view_column_new_with_attributes(_("Track"), Lcellrender, "text", 2, NULL); |
Lcell = gtk_tree_view_column_new_with_attributes(_("Track"), Lcellrender, "text", 2, NULL); |
1571 |
|
gtk_tree_view_column_set_resizable(Lcell, TRUE); |
1572 |
|
gtk_tree_view_column_set_sort_column_id (Lcell, 2); |
1573 |
gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell); |
gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell); |
1574 |
|
|
1575 |
Lcellrender = gtk_cell_renderer_text_new(); |
Lcellrender = gtk_cell_renderer_text_new(); |
1576 |
Lcell = gtk_tree_view_column_new_with_attributes(_("Length"), Lcellrender, "text", 3, NULL); |
Lcell = gtk_tree_view_column_new_with_attributes(_("Length"), Lcellrender, "text", 3, NULL); |
1577 |
|
gtk_tree_view_column_set_resizable(Lcell, TRUE); |
1578 |
|
gtk_tree_view_column_set_sort_column_id (Lcell, 3); |
1579 |
gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell); |
gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell); |
1580 |
|
|
1581 |
Lcellrender = gtk_cell_renderer_text_new(); |
Lcellrender = gtk_cell_renderer_text_new(); |
1582 |
Lcell = gtk_tree_view_column_new_with_attributes(_("Location"), Lcellrender, "text", 4, NULL); |
Lcell = gtk_tree_view_column_new_with_attributes(_("Location"), Lcellrender, "text", 4, NULL); |
1583 |
|
gtk_tree_view_column_set_sort_column_id (Lcell, 4); |
1584 |
gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell); |
gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell); |
1585 |
|
|
1586 |
gtk_tree_view_set_model(Atreeaudio, GTK_TREE_MODEL(Lmodel)); |
gtk_tree_view_set_model(Atreeaudio, GTK_TREE_MODEL(Lmodel)); |
1595 |
GtkCellRenderer *Lcellrender; |
GtkCellRenderer *Lcellrender; |
1596 |
GtkTreeViewColumn *Lcell; |
GtkTreeViewColumn *Lcell; |
1597 |
|
|
1598 |
|
// gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(Lmodel), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, NULL, NULL); |
1599 |
|
|
1600 |
gtk_tree_selection_set_mode(Lselection, GTK_SELECTION_MULTIPLE); |
gtk_tree_selection_set_mode(Lselection, GTK_SELECTION_MULTIPLE); |
1601 |
gtk_tree_view_set_enable_search(Atreedata, TRUE); |
gtk_tree_view_set_enable_search(Atreedata, TRUE); |
1602 |
gtk_tree_view_set_model(Atreedata, GTK_TREE_MODEL(Lmodel)); |
gtk_tree_view_set_model(Atreedata, GTK_TREE_MODEL(Lmodel)); |
1604 |
/* creation colonnes */ |
/* creation colonnes */ |
1605 |
Lcellrender = gtk_cell_renderer_pixbuf_new(); |
Lcellrender = gtk_cell_renderer_pixbuf_new(); |
1606 |
Lcell = gtk_tree_view_column_new_with_attributes("", Lcellrender, "pixbuf", 1, NULL); |
Lcell = gtk_tree_view_column_new_with_attributes("", Lcellrender, "pixbuf", 1, NULL); |
1607 |
|
gtk_tree_view_column_set_resizable(Lcell, TRUE); |
1608 |
gtk_tree_view_append_column(Atreedata, Lcell); |
gtk_tree_view_append_column(Atreedata, Lcell); |
1609 |
|
|
1610 |
Lcellrender = gtk_cell_renderer_text_new(); |
Lcellrender = gtk_cell_renderer_text_new(); |
1611 |
Lcell = gtk_tree_view_column_new_with_attributes(_("Name"), Lcellrender, "text", 2, NULL); |
Lcell = gtk_tree_view_column_new_with_attributes(_("Name"), Lcellrender, "text", 2, NULL); |
1612 |
|
|
1613 |
|
gtk_tree_view_column_set_sort_column_id (Lcell, 2); |
1614 |
|
gtk_tree_view_column_set_resizable(Lcell, TRUE); |
1615 |
gtk_tree_view_append_column(Atreedata, Lcell); |
gtk_tree_view_append_column(Atreedata, Lcell); |
1616 |
|
|
1617 |
Lcellrender = gtk_cell_renderer_text_new(); |
Lcellrender = gtk_cell_renderer_text_new(); |
1618 |
Lcell = gtk_tree_view_column_new_with_attributes(_("Size"), Lcellrender, "text", 3, NULL); |
Lcell = gtk_tree_view_column_new_with_attributes(_("Size"), Lcellrender, "text", 3, NULL); |
1619 |
|
gtk_tree_view_column_set_sort_column_id (Lcell, 3); |
1620 |
|
gtk_tree_view_column_set_resizable(Lcell, TRUE); |
1621 |
gtk_tree_view_append_column(Atreedata, Lcell); |
gtk_tree_view_append_column(Atreedata, Lcell); |
1622 |
|
|
1623 |
Lcellrender = gtk_cell_renderer_text_new(); |
Lcellrender = gtk_cell_renderer_text_new(); |
1891 |
if (Lerror) g_error_free(Lerror); |
if (Lerror) g_error_free(Lerror); |
1892 |
} |
} |
1893 |
|
|
1894 |
|
/* expand or callapse GtkTreeView */ |
1895 |
|
gboolean expand_list_icons(GtkTreeView *Aliste, gboolean Aetat) |
1896 |
|
{ |
1897 |
|
GtkTreePath *Lpath = NULL; |
1898 |
|
|
1899 |
|
gtk_tree_view_get_cursor(Aliste, &Lpath, NULL); |
1900 |
|
if (!Lpath) return FALSE; |
1901 |
|
|
1902 |
|
if (Aetat) { |
1903 |
|
gtk_tree_view_expand_row(Aliste, Lpath, TRUE); |
1904 |
|
} else { |
1905 |
|
gtk_tree_view_collapse_row(Aliste, Lpath); |
1906 |
|
} |
1907 |
|
gtk_tree_path_free(Lpath); |
1908 |
|
|
1909 |
|
return TRUE; |
1910 |
|
} |
1911 |
/* |
/* |
1912 |
* vim:et:ts=8:sts=2:sw=2 |
* vim:et:ts=8:sts=2:sw=2 |
1913 |
*/ |
*/ |