/[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.25 by scresto, Thu Feb 17 01:22:53 2005 UTC revision 1.26 by scresto, Sat Feb 19 17:49:08 2005 UTC
# Line 228  void remplirecombograveur(GtkComboBox *A Line 228  void remplirecombograveur(GtkComboBox *A
228    gboolean Lselok = FALSE;    gboolean Lselok = FALSE;
229    gchar *Lcurdrive;    gchar *Lcurdrive;
230    
231    gtk_list_store_clear(Ldata);    if (GTK_IS_LIST_STORE(Ldata)) {
232        gtk_list_store_clear(Ldata);
233      }
234    printf("toto la !\n");
235    for (Lcur = Glistdrives, i=0; Lcur; Lcur = g_slist_next(Lcur), i++) {    for (Lcur = Glistdrives, i=0; Lcur; Lcur = g_slist_next(Lcur), i++) {
236      Ldrive = (Tdriveinfo *)Lcur->data;      Ldrive = (Tdriveinfo *)Lcur->data;
237      if ((Aquoi & TYPE_ALLWRITER) && (! DRIVE_WRITER(Ldrive))) continue;      if ((Aquoi & TYPE_ALLWRITER) && (! DRIVE_WRITER(Ldrive))) continue;
# Line 591  void prepare_popups(Tgrave *Ag) Line 593  void prepare_popups(Tgrave *Ag)
593  }  }
594    
595  /* fenetre principal */  /* fenetre principal */
596  GtkWidget* manage_main_window (guint64 *Aaudiolen, guint64 *Aaudiomaxlen,  Tgrave *manage_main_window (guint64 *Aaudiolen, guint64 *Aaudiomaxlen,
597      guint64 *Adatasize, guint64 *Adatamaxsize, guint64 *Advddatasize, guint64 *Advddatamaxsize)      guint64 *Adatasize, guint64 *Adatamaxsize, guint64 *Advddatasize, guint64 *Advddatamaxsize)
598  {  {
599    Tgrave *Lg = sc_grave_load(window_main.glade);    Tgrave *Lg = sc_grave_load("window_main.glade");
600    GtkWidget *Lwindow;    GtkWidget *Lwindow;
601    GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother, *Lbodydvddata;    GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother, *Lbodydvddata;
602    GtkHBox *Lmainbody;    GtkHBox *Lmainbody;
603    GtkComboBox *Lcombo;    GtkComboBox *Lcombo;
   GtkButton *Lbtnerasecdrw, *Lbtnformatdvdrw;  
604    GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu, *Ltreedvddata;    GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu, *Ltreedvddata;
605    
606    g_assert(Lg);    g_assert(Lg);
# Line 607  GtkWidget* manage_main_window (guint64 * Line 608  GtkWidget* manage_main_window (guint64 *
608    Lmainbody = GTK_HBOX(sc_grave_get_widget(Lg, "mainbody"));    Lmainbody = GTK_HBOX(sc_grave_get_widget(Lg, "mainbody"));
609    Lwindow = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow"));    Lwindow = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow"));
610    
   
611    /* onglets page de droite */    /* onglets page de droite */
612    Lbodycdaudio = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdaudio"));    Lbodycdaudio = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdaudio"));
613    gtk_widget_reparent(GTK_WIDGET(Lbodycdaudio), GTK_WIDGET(Lmainbody));    gtk_widget_reparent(GTK_WIDGET(Lbodycdaudio), GTK_WIDGET(Lmainbody));
# Line 627  GtkWidget* manage_main_window (guint64 * Line 627  GtkWidget* manage_main_window (guint64 *
627    g_signal_connect(G_OBJECT(Lbodydvddata), "switch-page", G_CALLBACK(switchpage), Lg);    g_signal_connect(G_OBJECT(Lbodydvddata), "switch-page", G_CALLBACK(switchpage), Lg);
628    
629    /* bouttons barre de gauche */    /* bouttons barre de gauche */
630    Ltopmenu = sc_grave_get_widget(Lg, "topmenu");    Ltopmenu = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "topmenu"));
631    
632    manage_interface(Lg, MENU_NEW + COMBO_UPDATE);    manage_interface(Lg, MENU_NEW + COMBO_UPDATE);
633    update_status_bar_display(Lg);    update_status_bar_display(Lg);
# Line 656  GtkWidget* manage_main_window (guint64 * Line 656  GtkWidget* manage_main_window (guint64 *
656        G_CALLBACK(menu_quit), Lg);        G_CALLBACK(menu_quit), Lg);
657    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuabout")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuabout")), "activate",
658        G_CALLBACK(on_about), Lg);        G_CALLBACK(on_about), Lg);
   
659        
660    prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstaudiospeed")));    prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstaudiospeed")));
661    prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstcopyspeed")));    prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstcopyspeed")));
# Line 676  GtkWidget* manage_main_window (guint64 * Line 675  GtkWidget* manage_main_window (guint64 *
675    prepare_combobox_graveur(Lg, "dstcopy");    prepare_combobox_graveur(Lg, "dstcopy");
676    
677    prepare_combobox_graveur(Lg, "dstother");    prepare_combobox_graveur(Lg, "dstother");
678    prepare_disable_when(lg, "dstothercombo_notcdrw", "btnerasecdrwother1", NULL);    prepare_disable_when(Lg, "dstothercombo_notcdrw", "btnerasecdrwother1", NULL);
679    prepare_disable_when(lg, "dstothercombo_notdvdrw", "btnformatdvdrwother1", NULL);    prepare_disable_when(Lg, "dstothercombo_notdvdrw", "btnformatdvdrwother1", NULL);
680        
681    /* on rempli les autres combo */    /* on rempli les autres combo */
682    remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dataformat")), "", Gformatcd,    remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dataformat")), "", Gformatcd,
# Line 713  GtkWidget* manage_main_window (guint64 * Line 712  GtkWidget* manage_main_window (guint64 *
712    
713    /* boutons de la page "autres operations" */    /* boutons de la page "autres operations" */
714    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, "btnerasecdrwother1")), "clicked", G_CALLBACK(confirm_erasecdrw), Lg);
715    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnformatdvdrw")), "clicked", G_CALLBACK(popup_formatdvdrw), Lg);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnformatdvdrwother1")), "clicked", G_CALLBACK(popup_formatdvdrw), Lg);
716    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnfixcdother1")), "clicked", G_CALLBACK(confirm_fixcd), Lg);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnfixcdother1")), "clicked", G_CALLBACK(confirm_fixcd), Lg);
717        
718    update_combo_graveur(Lg);    update_combo_graveur(Lg);
719    
720    /* menu popup sur les listes */    /* menu popup sur les listes */
721    Ltreeaudio = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO"));    Ltreeaudio = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO"));
722    
723    prepare_popups(Lg);    prepare_popups(Lg);
724    prepare_listeaudio(Ltreeaudio);    prepare_listeaudio(Ltreeaudio);
725    
726    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);
727    g_signal_connect(G_OBJECT(Ltreeaudio), "popup-menu", G_CALLBACK(key_popupmenu_addaudio), Lg);    g_signal_connect(G_OBJECT(Ltreeaudio), "popup-menu", G_CALLBACK(key_popupmenu_addaudio), Lg);
728    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddtrack")), "clicked", G_CALLBACK(gtk_audio_addtrack), Lg);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnaddtrack")), "clicked", G_CALLBACK(gtk_audio_addtrack), Lg);
729    
730    Ltreedata = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEDATA"));    Ltreedata = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEDATA"));
731    prepare_listedata(Ltreedata, _("New CD"));    prepare_listedata(Ltreedata, _("New CD"));
732    g_signal_connect(G_OBJECT(Ltreedata), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg);    g_signal_connect(G_OBJECT(Ltreedata), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg);
733    g_signal_connect(G_OBJECT(Ltreedata), "popup-menu", G_CALLBACK(key_popupmenu_addfile), Lg);    g_signal_connect(G_OBJECT(Ltreedata), "popup-menu", G_CALLBACK(key_popupmenu_addfile), Lg);
734    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddfile")), "clicked", G_CALLBACK(gtk_data_addfile), Lg);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnaddfile")), "clicked", G_CALLBACK(gtk_data_addfile), Lg);
735    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnadddirectory")), "clicked",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnadddirectory")), "clicked",
736        G_CALLBACK(gtk_data_adddirectory), Lg);        G_CALLBACK(gtk_data_adddirectory), Lg);
737    
738    Ltreedvddata = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEDVDDATA"));    Ltreedvddata = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEDVDDATA"));
# Line 777  GtkWidget* manage_main_window (guint64 * Line 778  GtkWidget* manage_main_window (guint64 *
778        
779    gtk_widget_show(Lwindow);    gtk_widget_show(Lwindow);
780    
781    return Lwindow;    return Lg;
782  }  }
783    
784  /* mise a jour des listes contenant les lecteurs */  /* mise a jour des listes contenant les lecteurs */
# Line 789  void update_combo_graveur(Tgrave *Ag) Line 790  void update_combo_graveur(Tgrave *Ag)
790    GtkComboBox *Ldstdvddatacombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstdvddatacombo"));    GtkComboBox *Ldstdvddatacombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstdvddatacombo"));
791    GtkComboBox *Ldstaudiocombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstaudiocombo"));    GtkComboBox *Ldstaudiocombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstaudiocombo"));
792    GtkComboBox *Ldstothercombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstothercombo"));    GtkComboBox *Ldstothercombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstothercombo"));
793    GtkButton *Lbtnburnaudio1 = sc_grave_get_widget(Ag, "btnburnaudio1");    GtkButton *Lbtnburnaudio2 = GTK_BUTTON(sc_grave_get_widget(Ag, "btnburnaudio2"));
794    GtkButton *Lbtnburnaudio2 = sc_grave_get_widget(Ag, "btnburnaudio2");    GtkButton *Lbtnburncopy1 = GTK_BUTTON(sc_grave_get_widget(Ag, "btnburncopy1"));
795    GtkButton *Lbtnburncopy1 = sc_grave_get_widget(Ag, "btnburncopy1");    GtkButton *Lbtnfixcdother1 = GTK_BUTTON(sc_grave_get_widget(Ag, "btnfixcdother1"));
796    GtkButton *Lbtnfixcdother1 = sc_grave_get_widget(Ag, "btnfixcdother1");    GtkButton *Lbtnerasecdrwother1 = GTK_BUTTON(sc_grave_get_widget(Ag, "btnerasecdrwother1"));
   GtkButton *Lbtnerasecdrwother1 = sc_grave_get_widget(Ag, "btnerasecdrwother1");  
797    gboolean Lreadcd, Lwritecdr, Lwritecdrw, Lreaddvd, Lwritedvd;    gboolean Lreadcd, Lwritecdr, Lwritecdrw, Lreaddvd, Lwritedvd;
798    
799    get_current_matos(&Lreadcd, &Lwritecdr, &Lwritecdrw, &Lreaddvd, &Lwritedvd);    get_current_matos(&Lreadcd, &Lwritecdr, &Lwritecdrw, &Lreaddvd, &Lwritedvd);
800    printf("toto\n");
801    if (GTK_IS_WIDGET(Lsrccopycombo)) {
802      printf("oui !\n");
803    }
804    remplirecombograveur(Lsrccopycombo, TYPE_ALL + TYPE_ISO, conf_get_string("srccopycombo"));    remplirecombograveur(Lsrccopycombo, TYPE_ALL + TYPE_ISO, conf_get_string("srccopycombo"));
805    printf("toto2\n");
806        
807    remplirecombograveur(Ldstcopycombo, TYPE_ALLWRITER + TYPE_ISO, conf_get_string("dstcopycombo"));    remplirecombograveur(Ldstcopycombo, TYPE_ALLWRITER + TYPE_ISO, conf_get_string("dstcopycombo"));
808        
# Line 814  void update_combo_graveur(Tgrave *Ag) Line 818  void update_combo_graveur(Tgrave *Ag)
818      gtk_widget_set_sensitive(GTK_WIDGET(Lbtnburncopy1), FALSE);      gtk_widget_set_sensitive(GTK_WIDGET(Lbtnburncopy1), FALSE);
819    }    }
820    if (Lwritecdr == FALSE) {    if (Lwritecdr == FALSE) {
     gtk_widget_set_sensitive(GTK_WIDGET(Lbtnburnaudio1), FALSE);  
821      gtk_widget_set_sensitive(GTK_WIDGET(Lbtnburnaudio2), FALSE);      gtk_widget_set_sensitive(GTK_WIDGET(Lbtnburnaudio2), FALSE);
822      gtk_widget_set_sensitive(GTK_WIDGET(Lbtnfixcdother1), FALSE);      gtk_widget_set_sensitive(GTK_WIDGET(Lbtnfixcdother1), FALSE);
823    }    }
# Line 1011  Tgrave *create_dialog_edit_device(GtkWid Line 1014  Tgrave *create_dialog_edit_device(GtkWid
1014    GtkWidget *Ldialog;    GtkWidget *Ldialog;
1015    GtkComboBox *Lcombobox;    GtkComboBox *Lcombobox;
1016    
1017    g_assert(Lxml);    g_assert(Lg);
1018    
1019    Ldialog = sc_grave_get_widget(Lg, "dialog_device");    Ldialog = sc_grave_get_widget(Lg, "dialog_device");
1020    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));
# Line 1031  Tgrave *create_dialog_add_device(GtkWidg Line 1034  Tgrave *create_dialog_add_device(GtkWidg
1034    Tgrave *Lg = sc_grave_load("dialog_add_device.glade");    Tgrave *Lg = sc_grave_load("dialog_add_device.glade");
1035    GtkWidget *Ldialog;    GtkWidget *Ldialog;
1036    
1037    g_assert(Lxml);    g_assert(Lg);
1038    
1039    Ldialog = sc_grave_get_widget(Lg, "dialog_add_device");    Ldialog = sc_grave_get_widget(Lg, "dialog_add_device");
1040    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));
# Line 1059  void about_graveman (void) Line 1062  void about_graveman (void)
1062    gtk_label_set_label(Llabelversion, Ltmp);    gtk_label_set_label(Llabelversion, Ltmp);
1063    g_free(Ltmp);    g_free(Ltmp);
1064    
1065    Ldialog = sc_grave_get_widget(Lg, "dialog_about")    Ldialog = sc_grave_get_widget(Lg, "dialog_about");
1066    gtk_dialog_run(GTK_DIALOG(Ldialog));    gtk_dialog_run(GTK_DIALOG(Ldialog));
1067    gtk_widget_destroy(Ldialog);    gtk_widget_destroy(Ldialog);
1068    
# Line 1082  void hide_some_progressbar(Tgrave *Ag) Line 1085  void hide_some_progressbar(Tgrave *Ag)
1085  /* fenetre gravure d'un cd en cours */  /* fenetre gravure d'un cd en cours */
1086  void show_graverwindow (Tgrave *Ag, gchar *Aaction, gchar *Atitle)  void show_graverwindow (Tgrave *Ag, gchar *Aaction, gchar *Atitle)
1087  {  {
1088    GladeXML *Lburng = sc_grave_load("window_burn.glade");    Tgrave *Lburng = sc_grave_load("window_burn.glade");
1089    GtkWidget *Lwindowburn;    GtkWidget *Lwindowburn;
1090    GtkLabel *Ltitle;    GtkLabel *Ltitle;
1091    GtkProgressBar *Lpbtotal, *Lpbstep, *Lpbfifo, *Lpbbuffer;    GtkProgressBar *Lpbtotal, *Lpbstep, *Lpbfifo, *Lpbbuffer;
# Line 1104  void show_graverwindow (Tgrave *Ag, gcha Line 1107  void show_graverwindow (Tgrave *Ag, gcha
1107    Lpbtotal = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_total"));    Lpbtotal = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_total"));
1108    Lpbstep = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_step"));    Lpbstep = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_step"));
1109    /* pour la conversion des fichiers audio et la pulse bar */    /* pour la conversion des fichiers audio et la pulse bar */
1110    sc_grave_set_data(Ahash, "progress", Lpbstep);    sc_grave_set_data(Ag, Lpbstep, "progress");
1111    Lpbfifo = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_fifo"));    Lpbfifo = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_fifo"));
1112    Lpbbuffer = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_buffer"));    Lpbbuffer = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_buffer"));
1113    
1114    /* on attache les variables utilisees lors de l'operation */    /* on attache les variables utilisees lors de l'operation */
1115    sc_grave_set_data(Ag, "totaldone", &Ltotaldone);    sc_grave_set_data(Ag, &Ltotaldone, "totaldone");
1116    sc_grave_set_data(Ag, "gabort", &Labort);  /* operation annulee par l'utilisateur ? */    sc_grave_set_data(Ag, &Labort, "gabort");  /* operation annulee par l'utilisateur ? */
1117    sc_grave_set_data(Ag, "pid", &Lpid);    sc_grave_set_data(Ag, &Lpid, "pid");
1118    sc_grave_set_data(Ag, "cont", &Lcont);    sc_grave_set_data(Ag, &Lcont, "cont");
1119    sc_grave_set_data(Ag, "pid2", &Lpid2);    sc_grave_set_data(Ag, &Lpid2, "pid2");
1120    
1121    /* bouton annuler l'operation */    /* bouton annuler l'operation */
1122    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lburng, "btncancelburn")), "clicked", G_CALLBACK(abort_gravure), Ag);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lburng, "btncancelburn")), "clicked", G_CALLBACK(abort_gravure), Ag);
# Line 1127  void show_graverwindow (Tgrave *Ag, gcha Line 1130  void show_graverwindow (Tgrave *Ag, gcha
1130    } else if (g_str_has_prefix(Aaction, "btnburndata")) {    } else if (g_str_has_prefix(Aaction, "btnburndata")) {
1131      Lbackvalue = burn_data(Ag, &Lerror);      Lbackvalue = burn_data(Ag, &Lerror);
1132    } else if (g_str_has_prefix(Aaction, "btnburndvddata")) {    } else if (g_str_has_prefix(Aaction, "btnburndvddata")) {
1133      hide_some_progressbar(Ahash);      hide_some_progressbar(Ag);
1134      Lbackvalue = burn_dvddata(Ag, &Lerror);      Lbackvalue = burn_dvddata(Ag, &Lerror);
1135    }    }
1136    
# Line 1185  Tgrave *create_window_encours(GtkWidget Line 1188  Tgrave *create_window_encours(GtkWidget
1188      gtk_window_set_transient_for(GTK_WINDOW(sc_grave_get_widget(Lg, "window_inprogress")), GTK_WINDOW(Aparent));      gtk_window_set_transient_for(GTK_WINDOW(sc_grave_get_widget(Lg, "window_inprogress")), GTK_WINDOW(Aparent));
1189    }    }
1190    
1191    return Lxml;    return Lg;
1192  }  }
1193    
1194  void prepare_combobox_vitesse(GtkComboBox *Acombobox)  void prepare_combobox_vitesse(GtkComboBox *Acombobox)
# Line 1211  void prepare_disable_when_iso(Tgrave *Ag Line 1214  void prepare_disable_when_iso(Tgrave *Ag
1214    gchar *Lname = g_strdup_printf("%s_isotodisabled%d", Abasename, Lnbr++);    gchar *Lname = g_strdup_printf("%s_isotodisabled%d", Abasename, Lnbr++);
1215    gchar *Lcur;    gchar *Lcur;
1216    
1217    sc_grave_ref_wtd(Ag, Afirst, Lname);    sc_grave_ref_wtd(Ag, Lbuf, Lname);
1218    
1219    va_start(Largs, Afirst);    va_start(Largs, Afirst);
1220    while (*Lbuf++) {    while (*Lbuf++) {
# Line 1233  void prepare_disable_when(Tgrave *Ag, gc Line 1236  void prepare_disable_when(Tgrave *Ag, gc
1236    gchar *Lname = g_strdup_printf("%stodisabled%d", Abasename, Lnbr++);    gchar *Lname = g_strdup_printf("%stodisabled%d", Abasename, Lnbr++);
1237    gchar *Lcur;    gchar *Lcur;
1238    
1239    sc_grave_ref_wtd(Ag, Afirst, Lname);    sc_grave_ref_wtd(Ag, Lbuf, Lname);
1240    
1241    va_start(Largs, Afirst);    va_start(Largs, Afirst);
1242    while (*Lbuf++) {    while (*Lbuf++) {
# Line 1259  void gtk_toggle_top_menu(GtkTreeView *At Line 1262  void gtk_toggle_top_menu(GtkTreeView *At
1262    if (!gtk_tree_selection_get_selected(Lselection, &Ltreemodel, &Liter)) return;    if (!gtk_tree_selection_get_selected(Lselection, &Ltreemodel, &Liter)) return;
1263    
1264    gtk_tree_model_get(Ltreemodel, &Liter, 0, &Lident, -1);    gtk_tree_model_get(Ltreemodel, &Liter, 0, &Lident, -1);
1265      Lnewclick = GTK_NOTEBOOK(sc_grave_get_widget(Lg, Lident));
   Lnewclick = sc_grave_get_data(Lg, Lident);  
1266    if (GTK_IS_NOTEBOOK(Lnewclick)) {    if (GTK_IS_NOTEBOOK(Lnewclick)) {
     
1267      if (GTK_IS_NOTEBOOK(Llstclick)) {      if (GTK_IS_NOTEBOOK(Llstclick)) {
1268        gtk_widget_hide(GTK_WIDGET(Llstclick));        gtk_widget_hide(GTK_WIDGET(Llstclick));
1269      }      }
1270      sc_grave_replace_data(Lg, "_lstclicked", Lnewclick);      sc_grave_replace_data(Lg, Lnewclick, "_lstclicked");
1271    
1272      gtk_widget_show(GTK_WIDGET(Lnewclick));      gtk_widget_show(GTK_WIDGET(Lnewclick));
1273    
1274      /* pointeur sur la liste courante pour plus de simplicite */      /* pointeur sur la liste courante pour plus de simplicite */
1275      if (!strcmp(Lident, "bodycddata")) {      if (!strcmp(Lident, "bodycddata")) {
1276        sc_grave_replace_data(Lg, "_current_list", sc_grave_get_data(Lg, "LISTEDATA"));        sc_grave_replace_data(Lg, sc_grave_get_data(Lg, "LISTEDATA"), "_current_lisl");
1277      } else if (!strcmp(Lident, "bodydvddata")) {      } else if (!strcmp(Lident, "bodydvddata")) {
1278        sc_grave_replace_data(Lg, "_current_list", sc_grave_get_data(Lg, "LISTEDVDDATA"));        sc_grave_replace_data(Lg, sc_grave_get_data(Lg, "LISTEDVDDATA"), "_current_list");
1279      }      }
1280    }    }
       
1281    g_free(Lident);    g_free(Lident);
1282  }  }
1283    
# Line 1298  void update_status_bar_display(Tgrave *A Line 1298  void update_status_bar_display(Tgrave *A
1298  void manage_interface(Tgrave *Ag, gint Aaction)  void manage_interface(Tgrave *Ag, gint Aaction)
1299  {  {
1300    GtkListStore *Lmodel;    GtkListStore *Lmodel;
1301    GtkTreeView *Ltopmenu = sc_grave_get_widget(Ag, "topmenu");    GtkTreeView *Ltopmenu = GTK_TREE_VIEW(sc_grave_get_widget(Ag, "topmenu"));
1302    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(Ltopmenu);    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(Ltopmenu);
1303    GtkTreeIter Liter;    GtkTreeIter Liter;
1304    GtkCellRenderer *Lcellrender;    GtkCellRenderer *Lcellrender;
1305    GtkTreeViewColumn *Lcell;    GtkTreeViewColumn *Lcell;
   GtkComboBox *Lisolevel;  
1306    
1307    if (Aaction & MENU_NEW) {    if (Aaction & MENU_NEW) {
1308      Lmodel = gtk_list_store_new(3, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING);      Lmodel = gtk_list_store_new(3, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING);
# Line 1351  void manage_interface(Tgrave *Ag, gint A Line 1350  void manage_interface(Tgrave *Ag, gint A
1350    
1351    /* mise a jour combo "iso level" */    /* mise a jour combo "iso level" */
1352    if (Aaction & COMBO_UPDATE) {    if (Aaction & COMBO_UPDATE) {
1353      Lisolevel = sc_grave_get_widget(Ag, "dataisolevel");      remplirecombo_full(GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dataisolevel")), "", Gisolevel,
     remplirecombo_full(Lisolevel, "", Gisolevel,  
1354          TRUE, conf_get_string("dataisolevel"), conf_get_int("mkisofs_support_isov2"));          TRUE, conf_get_string("dataisolevel"), conf_get_int("mkisofs_support_isov2"));
1355    }    }
1356  }  }
1357    
1358            
1359  /* preparation du combo contenant la liste du peripherique a utiliser */  /* preparation du combo contenant la liste du peripherique a utiliser */
1360  void prepare_combobox_graveur(Trave *Ag, gchar *Abasename)  void prepare_combobox_graveur(Tgrave *Ag, gchar *Abasename)
1361  {  {
1362    GtkComboBox *Lcombobox = GTK_COMBO_BOX(sc_grave_get_widgetv(Ag, "%scombo", Abasename));    GtkComboBox *Lcombobox = GTK_COMBO_BOX(sc_grave_get_widgetv(Ag, "%scombo", Abasename));
1363    if (GTK_IS_COMBO_BOX(Lcombobox)) {    if (GTK_IS_COMBO_BOX(Lcombobox)) {
# Line 1522  void prepare_listedata(GtkTreeView *Atre Line 1520  void prepare_listedata(GtkTreeView *Atre
1520  }  }
1521    
1522  /* fenetre de confirmation avec une checkbox */  /* fenetre de confirmation avec une checkbox */
1523  GHashTable *create_dialog_confirm_operation (GtkWidget *Aparent,  Tgrave *create_dialog_confirm_operation (GtkWidget *Aparent,
1524      gchar *Alabel, gchar *Acheckboxlbl, gboolean Acheckboxstatus)      gchar *Alabel, gchar *Acheckboxlbl, gboolean Acheckboxstatus)
1525  {  {
1526    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/dialog_confirm_operation.glade";    Tgrave *Lg = sc_grave_load("dialog_confirm_operation.glade");
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
1527    GtkWidget *Ldialog;    GtkWidget *Ldialog;
   GtkLabel *Llabel;  
1528    GtkToggleButton *Ltoggleoption;    GtkToggleButton *Ltoggleoption;
   GHashTable *Lhash = _hash();  
1529    
1530    if (!Lxml) {    g_assert(Lg);
     g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
   }  
1531    
1532    Ldialog = glade_xml_get_widget(Lxml, "dialog_confirm_operation");    Ldialog = sc_grave_get_widget(Lg, "dialog_confirm_operation");
1533    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));
1534    g_hash_table_insert(Lhash, "window", Ldialog);    sc_grave_set_data(Lg, Ldialog, "window");
1535    
1536    /* titre */    /* titre */
1537    Llabel = GTK_LABEL(glade_to_hash(Lxml, Lhash, "label"));    gtk_label_set_text(GTK_LABEL(sc_grave_get_widget(Lg, "label")), Alabel);
   gtk_label_set_text(Llabel, Alabel);  
1538        
1539    /* effacer les cdrw en mode fast ? */    /* effacer les cdrw en mode fast ? */
1540    Ltoggleoption = GTK_TOGGLE_BUTTON(glade_to_hash(Lxml, Lhash, "checkbox"));    Ltoggleoption = GTK_TOGGLE_BUTTON(sc_grave_get_widget(Lg, "checkbox"));
1541    if (Acheckboxlbl) {    if (Acheckboxlbl) {
1542      gtk_toggle_button_set_active(Ltoggleoption, Acheckboxstatus);      gtk_toggle_button_set_active(Ltoggleoption, Acheckboxstatus);
1543      gtk_button_set_label(GTK_BUTTON(Ltoggleoption), Acheckboxlbl);      gtk_button_set_label(GTK_BUTTON(Ltoggleoption), Acheckboxlbl);
# Line 1553  GHashTable *create_dialog_confirm_operat Line 1545  GHashTable *create_dialog_confirm_operat
1545      gtk_widget_hide(GTK_WIDGET(Ltoggleoption));      gtk_widget_hide(GTK_WIDGET(Ltoggleoption));
1546    }    }
1547    
1548    return Lhash;    return Lg;
1549  }  }
1550    
1551  /* fenetre selection d'une operation sur un dvd */  /* fenetre selection d'une operation sur un dvd */
1552  GHashTable *create_dialog_select_dvdoperation (GtkWidget *Aparent)  Tgrave *create_dialog_select_dvdoperation (GtkWidget *Aparent)
1553  {  {
1554    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/dialog_select_operation.glade";    Tgrave *Lg = sc_grave_load("dialog_select_operation.glade");
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
1555    GtkWidget *Ldialog;    GtkWidget *Ldialog;
   GHashTable *Lhash = _hash();  
1556    
1557    if (!Lxml) {    g_assert(Lg);
     g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
   }  
1558    
1559    Ldialog = glade_xml_get_widget(Lxml, "dialog_select_operation");    Ldialog = sc_grave_get_widget(Lg, "dialog_select_operation");
1560    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));
1561    g_hash_table_insert(Lhash, "window", Ldialog);    sc_grave_set_data(Lg, Ldialog, "window");
1562    
   /* titre */  
   glade_to_hash(Lxml, Lhash, "label");  
     
1563    /* commencer une session ou merger ? */    /* commencer une session ou merger ? */
1564    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(glade_to_hash(Lxml, Lhash, "burninitial")), TRUE);    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Lg, "burninitial")), TRUE);
   glade_to_hash(Lxml, Lhash, "burnmerge");  
1565    
1566    return Lhash;    return Lg;
1567  }  }
1568    
1569  /* fenetre proprietes */  /* fenetre proprietes */
1570  GHashTable *create_dialog_proprietes (GtkWidget *Aparent)  Tgrave *create_dialog_proprietes (GtkWidget *Aparent)
1571  {  {
1572    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/dialog_properties.glade";    Tgrave *Lg = sc_grave_load("dialog_properties.glade");
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
   GtkToggleButton *Ltoggleoption;  
   GtkEntry *Ldirtmpvalue;  
1573    GtkTreeView *Ltreeview;    GtkTreeView *Ltreeview;
1574    GtkWidget *Ldialog;    GtkWidget *Ldialog;
1575    GtkButton *Lbtn;    GtkButton *Lbtn;
   GHashTable *Lhash = _hash();  
1576    
1577    if (!Lxml) {    g_assert(Lg);
     g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
   }  
1578    
1579    Ldialog = glade_xml_get_widget(Lxml, "dialog_properties");    Ldialog = sc_grave_get_widget(Lg, "dialog_properties");
1580    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));
1581    g_hash_table_insert(Lhash, "window", Ldialog);    sc_grave_set_data(Lg, Ldialog, "window");
1582    
1583    /** onglet "General" **/    /** onglet "General" **/
1584        
1585    /* overburn actif ? */    /* overburn actif ? */
1586    Ltoggleoption = GTK_TOGGLE_BUTTON(glade_to_hash(Lxml, Lhash, "overburn"));    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Lg, "overburn")), conf_get_boolean("overburn"));
   gtk_toggle_button_set_active(Ltoggleoption, conf_get_boolean("overburn"));  
1587    
1588    /* effacer les cdrw avant ecriture */    /* effacer les cdrw avant ecriture */
1589    Ltoggleoption = GTK_TOGGLE_BUTTON(glade_to_hash(Lxml, Lhash, "autoblank"));    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Lg, "autoblank")), conf_get_boolean("autoblank"));
   gtk_toggle_button_set_active(Ltoggleoption, conf_get_boolean("autoblank"));  
1590    
1591    /* effacer les cdrw en mode fast ? */    /* effacer les cdrw en mode fast ? */
1592    Ltoggleoption = GTK_TOGGLE_BUTTON(glade_to_hash(Lxml, Lhash, "fastblank"));    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Lg, "fastblank")), conf_get_boolean("fastblank"));
   gtk_toggle_button_set_active(Ltoggleoption, conf_get_boolean("fastblank"));  
1593    
1594    /* ejecter le cdr apres l'operation ? */    /* ejecter le cdr apres l'operation ? */
1595    Ltoggleoption = GTK_TOGGLE_BUTTON(glade_to_hash(Lxml, Lhash, "eject"));    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Lg, "eject")), conf_get_boolean("eject"));
   gtk_toggle_button_set_active(Ltoggleoption, conf_get_boolean("eject"));  
1596    
1597    /* afficher le status bar ? */    /* afficher le status bar ? */
1598    Ltoggleoption = GTK_TOGGLE_BUTTON(glade_to_hash(Lxml, Lhash, "statusbar"));    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Lg, "statusbar")), conf_get_boolean("statusbar"));
   gtk_toggle_button_set_active(Ltoggleoption, conf_get_boolean("statusbar"));  
1599        
1600    /* combo taille des icones */    /* combo taille des icones */
1601    remplirecombo(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "iconsizelist")), "",    remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "iconsizelist")), "",
1602        Gtypeicosize, TRUE, conf_get_string("iconsize"));        Gtypeicosize, TRUE, conf_get_string("iconsize"));
1603    
1604    /* sauver les donnees lorsque l'on quitte ? */    /* sauver les donnees lorsque l'on quitte ? */
1605    Ltoggleoption = GTK_TOGGLE_BUTTON(glade_to_hash(Lxml, Lhash, "saveconfig"));    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Lg, "saveconfig")), conf_get_boolean("saveconfig"));
   gtk_toggle_button_set_active(Ltoggleoption, conf_get_boolean("saveconfig"));  
1606    
1607    /* fonctions etendues ? */    /* fonctions etendues ? */
1608  #if 0    #if 0  
# Line 1638  GHashTable *create_dialog_proprietes (Gt Line 1611  GHashTable *create_dialog_proprietes (Gt
1611  #endif  #endif
1612    
1613    /* repertoire temporraire */    /* repertoire temporraire */
1614    Ldirtmpvalue = GTK_ENTRY(glade_to_hash(Lxml, Lhash, "dirtmpvalue"));    gtk_entry_set_text(GTK_ENTRY(sc_grave_get_widget(Lg, "dirtmpvalue")), conf_get_string("tmpdir"));
   gtk_entry_set_text(Ldirtmpvalue, conf_get_string("tmpdir"));  
1615    
1616    /** onglet "Format des medias" **/    /** onglet "Format des medias" **/
1617  #if 0  #if 0
# Line 1652  GHashTable *create_dialog_proprietes (Gt Line 1624  GHashTable *create_dialog_proprietes (Gt
1624  #endif  #endif
1625    
1626    
1627    /** onglet "Programmes externes" **/    Ltreeview = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "periphdata"));
   glade_to_hash_list(Lxml, Lhash, "cdrecord", "cdrecordlbl", "cdrecordpara", NULL);  
   glade_to_hash_list(Lxml, Lhash, "cdrdao", "cdrdaolbl", "cdrdaopara", NULL);  
   glade_to_hash_list(Lxml, Lhash, "mkisofs", "mkisofslbl", "mkisofspara", NULL);  
   glade_to_hash_list(Lxml, Lhash, "readcd", "readcdlbl", "readcdpara", NULL);  
   glade_to_hash_list(Lxml, Lhash, "sox", "soxlbl", "soxpara", NULL);  
   glade_to_hash_list(Lxml, Lhash, "growisofs", "growisofslbl", "growisofspara", NULL);  
   glade_to_hash_list(Lxml, Lhash, "dvd+rw-mediainfo", "dvd+rw-mediainfolbl", "dvd+rw-mediainfopara", NULL);  
   glade_to_hash_list(Lxml, Lhash, "dvd+rw-format", "dvd+rw-formatlbl", "dvd+rw-formatpara", NULL);  
   glade_to_hash(Lxml, Lhash, "popupdevices");  
   
   /** onglet "Lecteurs" **/  
   Ltreeview = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "periphdata"));  
1628    prepare_properties_devicestreeview(Ltreeview);    prepare_properties_devicestreeview(Ltreeview);
1629    g_signal_connect(G_OBJECT(Ltreeview), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lhash);    g_signal_connect(G_OBJECT(Ltreeview), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg);
1630    g_signal_connect(G_OBJECT(Ltreeview), "popup-menu", G_CALLBACK(key_popupmenu_devices), Lhash);    g_signal_connect(G_OBJECT(Ltreeview), "popup-menu", G_CALLBACK(key_popupmenu_devices), Lg);
1631    
1632    /* popup sur les peripheriques */    /* popup sur les peripheriques */
1633    g_signal_connect(G_OBJECT(glade_to_hash(Lxml, Lhash, "popupdevices_edit")),    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "popupdevices_edit")),
1634        "activate", G_CALLBACK(gtk_devices_edit), Lhash);        "activate", G_CALLBACK(gtk_devices_edit), Lg);
1635    g_signal_connect(G_OBJECT(glade_to_hash(Lxml, Lhash, "popupdevices_remove")),    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "popupdevices_remove")),
1636        "activate", G_CALLBACK(gtk_devices_remove), Lhash);        "activate", G_CALLBACK(gtk_devices_remove), Lg);
1637    
1638    g_hash_table_insert(Lhash, "topwindow", Aparent);    sc_grave_set_data(Lg, Aparent, "topwindow");
1639        
1640    maj_proprietes_prog(Lhash);    maj_proprietes_prog(Lg);
1641    remplirelistegraveur(Ltreeview);    remplirelistegraveur(Ltreeview);
1642    
1643    Lbtn = GTK_BUTTON(glade_xml_get_widget(Lxml, "dirtmp"));    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "dirtmp")), "clicked", G_CALLBACK(gtk_file_sel), Lg);
   g_signal_connect(G_OBJECT(Lbtn), "clicked", G_CALLBACK(gtk_file_sel), Lhash);  
1644    
1645    Lbtn = GTK_BUTTON(glade_xml_get_widget(Lxml, "scanprog"));    Lbtn = GTK_BUTTON(sc_grave_get_widget(Lg, "scanprog"));
1646    g_signal_connect(G_OBJECT(Lbtn), "clicked", G_CALLBACK(chercheprog), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "scanprog")), "clicked", G_CALLBACK(chercheprog), Lg);
1647    
1648    Lbtn = GTK_BUTTON(glade_xml_get_widget(Lxml, "scandevice"));    Lbtn = GTK_BUTTON(sc_grave_get_widget(Lg, "scandevice"));
1649    g_signal_connect(G_OBJECT(Lbtn), "clicked", G_CALLBACK(cherchelecteur), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "scandevice")), "clicked", G_CALLBACK(cherchelecteur), Lg);
1650    
1651    Lbtn = GTK_BUTTON(glade_to_hash(Lxml, Lhash, "adddevice"));    Lbtn = GTK_BUTTON(sc_grave_get_widget(Lg, "adddevice"));
1652    g_signal_connect(G_OBJECT(Lbtn), "clicked", G_CALLBACK(gtk_devices_add), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "adddevice")), "clicked", G_CALLBACK(gtk_devices_add), Lg);
1653        
1654    
1655    return Lhash;    return Lg;
1656  }  }
1657    
1658  /* premiere utilisation de graveman, bienvenue ! */  /* premiere utilisation de graveman, bienvenue ! */
1659  void welcome_to_graveman(void)  void welcome_to_graveman(void)
1660  {  {
1661    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/dialog_welcome.glade";    Tgrave *Lg = sc_grave_load("dialog_welcome.glade");
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
1662    GtkWidget *Ldialog;    GtkWidget *Ldialog;
1663    
1664    if (!Lxml) {    g_assert(Lg);
     g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
   }  
1665    
1666    Ldialog = glade_xml_get_widget(Lxml, "dialog_welcome");    Ldialog = sc_grave_get_widget(Lg, "dialog_welcome");
1667    
1668    gtk_dialog_run(GTK_DIALOG(Ldialog));    gtk_dialog_run(GTK_DIALOG(Ldialog));
1669    gtk_widget_destroy(Ldialog);    gtk_widget_destroy(Ldialog);
1670      sc_grave_destroy(Lg);
   g_free(Lxml);  
1671  }  }
1672    
1673  /* 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 */
# Line 1742  void switch_pbar_status(GtkProgressBar * Line 1697  void switch_pbar_status(GtkProgressBar *
1697  }  }
1698    
1699  /* effacer un cd reinscriptible */  /* effacer un cd reinscriptible */
1700  void show_erasecdrwwindow(GHashTable *Ahash)  void show_erasecdrwwindow(Tgrave *Ag)
1701  {  {
1702    GtkWidget *Lwindow1 = g_hash_table_lookup(Ahash, "window");    GtkWidget *Lwindow1 = sc_grave_get_data(Ag, "window");
1703    GladeXML *Lxmlencours = create_window_encours(Lwindow1);    Tgrave *Lerasecdg = create_window_encours(Lwindow1);
1704    gint Lcont = 2;    gint Lcont = 2;
1705    gint Lpid;    gint Lpid;
1706    gboolean Loperationstatus = FALSE;    gboolean Loperationstatus = FALSE;
1707    gboolean Labort = FALSE;    gboolean Labort = FALSE;
   GtkWidget *Lprogressbar;  
   GtkLabel *Llabel;  
   GtkWidget *Lcancel;  
1708    GtkWidget *Lwin;    GtkWidget *Lwin;
   GHashTable *Lerasecdhash = _hash();  
1709    GError *Lerror = NULL;    GError *Lerror = NULL;
1710    GtkWidget *Lstatusbox = NULL;    GtkWidget *Lstatusbox = NULL;
1711    
1712    Lwin = glade_xml_get_widget(Lxmlencours, "window_inprogress");    Lwin = sc_grave_get_widget(Lerasecdg, "window_inprogress");
1713    Llabel = GTK_LABEL(glade_xml_get_widget(Lxmlencours, "labelava"));    gtk_label_set_text(GTK_LABEL(sc_grave_get_widget(Lerasecdg, "labelava")), _("Erasing CD-RW in progress, please wait..."));
   gtk_label_set_text(Llabel, _("Erasing CD-RW in progress, please wait..."));  
1714    
1715        
1716    Lprogressbar = glade_xml_get_widget(Lxmlencours, "progress");    sc_grave_set_data(Lerasecdg, &Lcont, "cont");
1717    g_hash_table_insert(Lerasecdhash, "cont", &Lcont);    sc_grave_set_data(Lerasecdg, &Lpid, "pid");
1718    g_hash_table_insert(Lerasecdhash, "pid", &Lpid);    sc_grave_set_data(Lerasecdg, &Labort, "gabort");
1719    g_hash_table_insert(Lerasecdhash, "gabort", &Labort);    sc_grave_set_data(Lerasecdg, &Lerror, "gerror");
1720    g_hash_table_insert(Lerasecdhash, "gerror", &Lerror);    sc_grave_set_data(Lerasecdg, &Loperationstatus, "operationstatus");
1721    g_hash_table_insert(Lerasecdhash, "operationstatus", &Loperationstatus);    sc_grave_set_data(Lerasecdg, sc_grave_get_widget(Ag, "dstothercombo"), "dstothercombo");
1722    g_hash_table_insert(Lerasecdhash, "labelava", Llabel);    sc_grave_set_data(Lerasecdg, sc_grave_get_widget(Ag, "usefastblank"), "usefastblank");
   g_hash_table_insert(Lerasecdhash, "progress", Lprogressbar);  
   g_hash_table_insert(Lerasecdhash, "dstothercombo", g_hash_table_lookup(Ahash, "dstothercombo"));  
   g_hash_table_insert(Lerasecdhash, "usefastblank", g_hash_table_lookup(Ahash, "usefastblank"));  
1723    
1724    /* bouton annuler */    /* bouton annuler */
1725    Lcancel = glade_xml_get_widget(Lxmlencours, "cancelbtn");    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lerasecdg, "cancelbtn")), "clicked", G_CALLBACK(abort_encours), Lerasecdg);
1726    g_signal_connect(G_OBJECT(Lcancel), "clicked", G_CALLBACK(abort_encours), Lerasecdhash);    g_signal_connect(G_OBJECT(Lwin), "delete-event", G_CALLBACK(delete_event_encours), Lerasecdg);
   g_signal_connect(G_OBJECT(Lwin), "delete-event", G_CALLBACK(delete_event_encours), Lerasecdhash);  
1727    
1728    gtk_widget_show(Lwin);    gtk_widget_show(Lwin);
1729    g_timeout_add(500, encours_callback, Lerasecdhash);    g_timeout_add(500, encours_callback, Lerasecdg);
1730    
1731    /* operation en elle meme */    /* operation en elle meme */
1732    perform_erase_cdrw(Lerasecdhash, &Lerror);    perform_erase_cdrw(Lerasecdg, &Lerror);
1733        
1734    if (Labort) {    if (Labort) {
1735      Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lwin),      Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lwin),
# Line 1802  void show_erasecdrwwindow(GHashTable *Ah Line 1748  void show_erasecdrwwindow(GHashTable *Ah
1748    gtk_widget_destroy(Lstatusbox);    gtk_widget_destroy(Lstatusbox);
1749        
1750    gtk_widget_destroy(Lwin);    gtk_widget_destroy(Lwin);
1751    g_hash_table_destroy(Lerasecdhash);    sc_grave_destroy(Lerasecdg);
1752    
1753    if (Lerror) g_error_free(Lerror);    if (Lerror) g_error_free(Lerror);
1754  }  }
# Line 1816  void show_fixcdwindow(Tgrave *Ag) Line 1762  void show_fixcdwindow(Tgrave *Ag)
1762    gint Lpid;    gint Lpid;
1763    gboolean Loperationstatus = FALSE;    gboolean Loperationstatus = FALSE;
1764    gboolean Labort = FALSE;    gboolean Labort = FALSE;
   GtkWidget *Lprogressbar;  
   GtkLabel *Llabel;  
   GtkWidget *Lcancel;  
1765    GtkWidget *Lwin;    GtkWidget *Lwin;
   GHashTable *Lfixcdhash = _hash();  
1766    GError *Lerror = NULL;    GError *Lerror = NULL;
1767    GtkWidget *Lstatusbox = NULL;    GtkWidget *Lstatusbox = NULL;
1768    
1769    Lwin = glade_xml_get_widget(Lxmlencours, "window_inprogress");    Lwin = sc_grave_get_widget(Lfixcdg, "window_inprogress");
1770    Llabel = GTK_LABEL(glade_xml_get_widget(Lxmlencours, "labelava"));    gtk_label_set_text(GTK_LABEL(sc_grave_get_widget(Lfixcdg, "labelava")), _("Fixating CD-R in progress, please wait..."));
   gtk_label_set_text(Llabel, _("Fixating CD-R in progress, please wait..."));  
   
1771        
1772    Lprogressbar = glade_xml_get_widget(Lxmlencours, "progress");    sc_grave_set_data(Lfixcdg, &Lcont, "cont");
1773    g_hash_table_insert(Lfixcdhash, "cont", &Lcont);    sc_grave_set_data(Lfixcdg, &Lpid, "pid");
1774    g_hash_table_insert(Lfixcdhash, "pid", &Lpid);    sc_grave_set_data(Lfixcdg, &Labort, "gabort");
1775    g_hash_table_insert(Lfixcdhash, "gabort", &Labort);    sc_grave_set_data(Lfixcdg, &Lerror, "gerror");
1776    g_hash_table_insert(Lfixcdhash, "gerror", &Lerror);    sc_grave_set_data(Lfixcdg, &Loperationstatus, "operationstatus");
1777    g_hash_table_insert(Lfixcdhash, "operationstatus", &Loperationstatus);    sc_grave_set_data(Lfixcdg, sc_grave_get_widget(Ag, "dstothercombo"), "dstothercombo");
   g_hash_table_insert(Lfixcdhash, "labelava", Llabel);  
   g_hash_table_insert(Lfixcdhash, "progress", Lprogressbar);  
   g_hash_table_insert(Lfixcdhash, "dstothercombo", g_hash_table_lookup(Ahash, "dstothercombo"));  
1778    
1779    /* bouton annuler */    /* bouton annuler */
1780    Lcancel = glade_xml_get_widget(Lxmlencours, "cancelbtn");    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lfixcdg, "cancelbtn")), "clicked", G_CALLBACK(abort_encours), Lfixcdg);
1781    g_signal_connect(G_OBJECT(Lcancel), "clicked", G_CALLBACK(abort_encours), Lfixcdhash);    g_signal_connect(G_OBJECT(Lwin), "delete-event", G_CALLBACK(delete_event_encours), Lfixcdg);
   g_signal_connect(G_OBJECT(Lwin), "delete-event", G_CALLBACK(delete_event_encours), Lfixcdhash);  
1782    
1783    gtk_widget_show(Lwin);    gtk_widget_show(Lwin);
1784    g_timeout_add(500, encours_callback, Lfixcdhash);    g_timeout_add(500, encours_callback, Lfixcdg);
1785    
1786    /* operation en elle meme */    /* operation en elle meme */
1787    perform_fix_cd(Lfixcdhash, &Lerror);    perform_fix_cd(Lfixcdg, &Lerror);
1788        
1789    if (Labort) {    if (Labort) {
1790      Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lwin),      Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lwin),
# Line 1867  void show_fixcdwindow(Tgrave *Ag) Line 1803  void show_fixcdwindow(Tgrave *Ag)
1803    gtk_widget_destroy(Lstatusbox);    gtk_widget_destroy(Lstatusbox);
1804        
1805    gtk_widget_destroy(Lwin);    gtk_widget_destroy(Lwin);
1806    g_hash_table_destroy(Lfixcdhash);    sc_grave_destroy(Lfixcdg);
1807    
1808    if (Lerror) g_error_free(Lerror);    if (Lerror) g_error_free(Lerror);
1809  }  }
# Line 1881  void show_dvdformatwindow(Tgrave *Ag, gc Line 1817  void show_dvdformatwindow(Tgrave *Ag, gc
1817    gint Lpid;    gint Lpid;
1818    gboolean Loperationstatus = FALSE;    gboolean Loperationstatus = FALSE;
1819    gboolean Labort = FALSE;    gboolean Labort = FALSE;
   GtkWidget *Lprogressbar;  
1820    GtkLabel *Llabel;    GtkLabel *Llabel;
   GtkWidget *Lcancel;  
1821    GtkWidget *Lwin;    GtkWidget *Lwin;
1822    GError *Lerror = NULL;    GError *Lerror = NULL;
1823    GtkWidget *Lstatusbox = NULL;    GtkWidget *Lstatusbox = NULL;
# Line 1898  void show_dvdformatwindow(Tgrave *Ag, gc Line 1832  void show_dvdformatwindow(Tgrave *Ag, gc
1832    sc_grave_set_data(Lformatdvdg, &Labort, "gabort");    sc_grave_set_data(Lformatdvdg, &Labort, "gabort");
1833    sc_grave_set_data(Lformatdvdg, &Lerror, "gerror");    sc_grave_set_data(Lformatdvdg, &Lerror, "gerror");
1834    sc_grave_set_data(Lformatdvdg, &Loperationstatus, "operationstatus");    sc_grave_set_data(Lformatdvdg, &Loperationstatus, "operationstatus");
1835    sc_grave_set_widget(Lformatdvdg, "dstothercombo", sc_grave_get_widget(Ag, "dstothercombo"));    sc_grave_set_data(Lformatdvdg, sc_grave_get_widget(Ag, "dstothercombo"), "dstothercombo");
1836    
1837    /* bouton annuler */    /* bouton annuler */
1838    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lformatdvdg, "cancelbtn")), "clicked", G_CALLBACK(abort_encours), Lformatdvdg);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lformatdvdg, "cancelbtn")), "clicked", G_CALLBACK(abort_encours), Lformatdvdg);

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

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