/[graveman]/graveman/current/src/interface.c
ViewVC logotype

Diff of /graveman/current/src/interface.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.42 by scresto, Tue May 3 01:22:35 2005 UTC revision 1.43 by scresto, Tue May 10 01:30:35 2005 UTC
# Line 406  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 406  GtkMenu *create_gtkpopupmenudata(GtkWidg
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 */
# Line 508  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 510  GtkMenu *create_gtkpopupmenudata(GtkWidg
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    
# Line 543  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 541  GtkMenu *create_gtkpopupmenudata(GtkWidg
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);
# Line 1539  void prepare_listeaudio(GtkTreeView *Atr Line 1563  void prepare_listeaudio(GtkTreeView *Atr
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));
# Line 1565  void prepare_listedata(GtkTreeView *Atre Line 1595  void prepare_listedata(GtkTreeView *Atre
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));
# Line 1572  void prepare_listedata(GtkTreeView *Atre Line 1604  void prepare_listedata(GtkTreeView *Atre
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();
# Line 1853  void show_dvdformatwindow(Tgrave *Ag, gc Line 1891  void show_dvdformatwindow(Tgrave *Ag, gc
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   */   */

Legend:
Removed from v.1.42  
changed lines
  Added in v.1.43

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26