/[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.24 by scresto, Tue Feb 15 22:44:44 2005 UTC revision 1.25 by scresto, Thu Feb 17 01:22:53 2005 UTC
# Line 305  void remplirelistemedia(GtkTreeView *Ali Line 305  void remplirelistemedia(GtkTreeView *Ali
305  }  }
306  #endif  #endif
307  /* menu popup sur les lecteurs/graveurs */  /* menu popup sur les lecteurs/graveurs */
308  GtkMenu *create_gtkpopupmenudevices(GtkWidget *Aliste, GHashTable *Ahash)  GtkMenu *create_gtkpopupmenudevices(GtkWidget *Aliste, Tgrave *Ag)
309  {  {
310    GtkMenu *Lmenu = GTK_MENU(g_hash_table_lookup(Ahash, "popupdevices"));    GtkMenu *Lmenu = GTK_MENU(sc_grave_get_widget(Ag, "popupdevices"));
311    GtkWidget *Litem;    GtkWidget *Litem;
312    GtkTreePath *Lpath = NULL;    GtkTreePath *Lpath = NULL;
313    
# Line 315  GtkMenu *create_gtkpopupmenudevices(GtkW Line 315  GtkMenu *create_gtkpopupmenudevices(GtkW
315     * il n'y a pas forcement de peripheriques de detecté */     * il n'y a pas forcement de peripheriques de detecté */
316    gtk_tree_view_get_cursor(GTK_TREE_VIEW(Aliste), &Lpath, NULL);    gtk_tree_view_get_cursor(GTK_TREE_VIEW(Aliste), &Lpath, NULL);
317    
318    Litem = GTK_WIDGET(g_hash_table_lookup(Ahash, "popupdevices_edit"));    Litem = GTK_WIDGET(sc_grave_get_widget(Ag, "popupdevices_edit"));
319    gtk_widget_set_sensitive(Litem, Lpath ? TRUE : FALSE);    gtk_widget_set_sensitive(Litem, Lpath ? TRUE : FALSE);
320    Litem = GTK_WIDGET(g_hash_table_lookup(Ahash, "popupdevices_remove"));    Litem = GTK_WIDGET(sc_grave_get_widget(Ag, "popupdevices_remove"));
321    gtk_widget_set_sensitive(Litem, Lpath ? TRUE : FALSE);    gtk_widget_set_sensitive(Litem, Lpath ? TRUE : FALSE);
322    
323    if (Lpath) gtk_tree_path_free(Lpath);    if (Lpath) gtk_tree_path_free(Lpath);
# Line 326  GtkMenu *create_gtkpopupmenudevices(GtkW Line 326  GtkMenu *create_gtkpopupmenudevices(GtkW
326  }  }
327    
328  /* menu popup sur le formatage d'un dvd */  /* menu popup sur le formatage d'un dvd */
329  GtkMenu *create_gtkpopupmenuformatdvd(GHashTable *Ahash)  GtkMenu *create_gtkpopupmenuformatdvd(Tgrave *Ag)
330  {  {
331    GtkMenu *Lmenu = GTK_MENU(g_hash_table_lookup(Ahash, "popupformatdvd"));    GtkMenu *Lmenu = GTK_MENU(sc_grave_get_widget(Ag, "popupformatdvd"));
332    
333    return Lmenu;    return Lmenu;
334  }  }
335    
336  /* menu popup sur les pistes audio */  /* menu popup sur les pistes audio */
337  GtkMenu *create_gtkpopupmenuaudio(GtkWidget *Aliste, GHashTable *Ahash)  GtkMenu *create_gtkpopupmenuaudio(GtkWidget *Aliste, Tgrave *Ag)
338  {  {
339    GtkMenu *Lmenu = GTK_MENU(g_hash_table_lookup(Ahash, "popupaudio"));    GtkMenu *Lmenu = GTK_MENU(sc_grave_get_widget(Ag, "popupaudio"));
340    GtkWidget *Litem;    GtkWidget *Litem;
341    GtkTreePath *Lpath = NULL;    GtkTreePath *Lpath = NULL;
342    
# Line 344  GtkMenu *create_gtkpopupmenuaudio(GtkWid Line 344  GtkMenu *create_gtkpopupmenuaudio(GtkWid
344     * on est en SELECTION_MULTIPLE */     * on est en SELECTION_MULTIPLE */
345    gtk_tree_view_get_cursor(GTK_TREE_VIEW(Aliste), &Lpath, NULL);    gtk_tree_view_get_cursor(GTK_TREE_VIEW(Aliste), &Lpath, NULL);
346    
347    Litem = GTK_WIDGET(g_hash_table_lookup(Ahash, "popupaudio_removetrack"));    Litem = GTK_WIDGET(sc_grave_get_widget(Ag, "popupaudio_removetrack"));
348    if (Lpath) {    if (Lpath) {
349      gtk_widget_set_sensitive(Litem, TRUE);      gtk_widget_set_sensitive(Litem, TRUE);
350    } else {    } else {
# Line 357  GtkMenu *create_gtkpopupmenuaudio(GtkWid Line 357  GtkMenu *create_gtkpopupmenuaudio(GtkWid
357  }  }
358    
359  /* creation popup "affichage" */  /* creation popup "affichage" */
360  GtkMenu *create_gtkpopupmenudisplay(GtkWidget *Aliste, GHashTable *Ahash)  GtkMenu *create_gtkpopupmenudisplay(GtkWidget *Aliste, Tgrave *Ag)
361  {  {
362    GtkMenu *Lmenu = GTK_MENU(g_hash_table_lookup(Ahash, "popupdisplay"));    GtkMenu *Lmenu = GTK_MENU(sc_grave_get_widget(Ag, "popupdisplay"));
363    gboolean Ldispsb = conf_get_boolean("statusbar");    gboolean Ldispsb = conf_get_boolean("statusbar");
364    GtkWidget *Litem, *Litem2;    GtkWidget *Litem, *Litem2;
365        
366    
367    Litem = g_hash_table_lookup(Ahash, "popupdisp_showstatusbar");    Litem = sc_grave_get_widget(Ag, "popupdisp_showstatusbar");
368    Litem2 = g_hash_table_lookup(Ahash, "popupdisp_hidestatusbar");    Litem2 = sc_grave_get_widget(Ag, "popupdisp_hidestatusbar");
369    if (Ldispsb) {    if (Ldispsb) {
370      gtk_widget_hide(Litem);      gtk_widget_hide(Litem);
371      gtk_widget_show(Litem2);      gtk_widget_show(Litem2);
# Line 374  GtkMenu *create_gtkpopupmenudisplay(GtkW Line 374  GtkMenu *create_gtkpopupmenudisplay(GtkW
374      gtk_widget_hide(Litem2);      gtk_widget_hide(Litem2);
375    }    }
376    
377    Litem = sc_hash_table_lookupv(Ahash, "popupdisp_iconsize_%s", conf_get_string("iconsize"));    Litem = sc_grave_get_widgetv(Ag, "popupdisp_iconsize_%s", conf_get_string("iconsize"));
378    if (GTK_IS_WIDGET(Litem)) gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(Litem), TRUE);    if (GTK_IS_WIDGET(Litem)) gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(Litem), TRUE);
379        
380    return Lmenu;    return Lmenu;
381  }  }
382    
383  /* creation popup "cd/dvd data" */  /* creation popup "cd/dvd data" */
384  GtkMenu *create_gtkpopupmenudata(GtkWidget *Aliste, GHashTable *Ahash)  GtkMenu *create_gtkpopupmenudata(GtkWidget *Aliste, Tgrave *Ag)
385  {  {
386    GtkMenu *Lmenu = GTK_MENU(g_hash_table_lookup(Ahash, "popupdata"));    GtkMenu *Lmenu = GTK_MENU(sc_grave_get_widget(Ag, "popupdata"));
387    GtkTreeModel *Lmodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste));    GtkTreeModel *Lmodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste));
388    GtkWidget *Litem, *Litem2, *Lsep;    GtkWidget *Litem, *Litem2, *Lsep;
389    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Aliste));    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Aliste));
# Line 423  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 423  GtkMenu *create_gtkpopupmenudata(GtkWidg
423    gtk_tree_model_get(Lmodel, &Liter, 0, &type, -1);    gtk_tree_model_get(Lmodel, &Liter, 0, &type, -1);
424    
425    /* RENOMMER LE CD */    /* RENOMMER LE CD */
426    Litem = g_hash_table_lookup(Ahash, "popupdata_renamecd");    Litem = sc_grave_get_widget(Ag, "popupdata_renamecd");
427    Litem2 = g_hash_table_lookup(Ahash, "popupdata_renamedvd");    Litem2 = sc_grave_get_widget(Ag, "popupdata_renamedvd");
428    if (!strcmp(Llistename, "LISTEDVDDATA")) {    if (!strcmp(Llistename, "LISTEDVDDATA")) {
429      if (type == TYPE_CD && Lonlyone) {      if (type == TYPE_CD && Lonlyone) {
430        gtk_widget_show(Litem2);        gtk_widget_show(Litem2);
# Line 442  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 442  GtkMenu *create_gtkpopupmenudata(GtkWidg
442    }    }
443    
444    /* EXPAND */    /* EXPAND */
445    Litem = g_hash_table_lookup(Ahash, "popupdata_expand");    Litem = sc_grave_get_widget(Ag, "popupdata_expand");
446    if (type != TYPE_FILE && Lonlyone) {    if (type != TYPE_FILE && Lonlyone) {
447      gtk_widget_show (Litem);      gtk_widget_show (Litem);
448    } else {    } else {
# Line 450  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 450  GtkMenu *create_gtkpopupmenudata(GtkWidg
450    }    }
451    
452    /* RENOMMER L'ELEMENT SELECTIONNE */    /* RENOMMER L'ELEMENT SELECTIONNE */
453    Litem = g_hash_table_lookup(Ahash, "popupdata_renamedirectory");    Litem = sc_grave_get_widget(Ag, "popupdata_renamedirectory");
454    if (type == TYPE_DIR && Lonlyone) {    if (type == TYPE_DIR && Lonlyone) {
455      gtk_widget_show (Litem);      gtk_widget_show (Litem);
456    } else {    } else {
457      gtk_widget_hide (Litem);      gtk_widget_hide (Litem);
458    }    }
459    Litem = g_hash_table_lookup(Ahash, "popupdata_renamefile");    Litem = sc_grave_get_widget(Ag, "popupdata_renamefile");
460    if (type == TYPE_FILE && Lonlyone) {    if (type == TYPE_FILE && Lonlyone) {
461      gtk_widget_show (Litem);      gtk_widget_show (Litem);
462    } else {    } else {
# Line 464  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 464  GtkMenu *create_gtkpopupmenudata(GtkWidg
464    }    }
465    
466    /* CREER UN REPERTOIRE */    /* CREER UN REPERTOIRE */
467    Litem = g_hash_table_lookup(Ahash, "popupdata_createdirectory");    Litem = sc_grave_get_widget(Ag, "popupdata_createdirectory");
468    if (type != TYPE_FILE && Lonlyone) {    if (type != TYPE_FILE && Lonlyone) {
469      gtk_widget_show (Litem);      gtk_widget_show (Litem);
470    } else {    } else {
# Line 473  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 473  GtkMenu *create_gtkpopupmenudata(GtkWidg
473    
474    /* AJOUTER DES FICHIERS */    /* AJOUTER DES FICHIERS */
475    /* AJOUTER DES REPERTOIRES */    /* AJOUTER DES REPERTOIRES */
476    Lsep = g_hash_table_lookup(Ahash, "popupdata_sep1");    Lsep = sc_grave_get_widget(Ag, "popupdata_sep1");
477    Litem = g_hash_table_lookup(Ahash, "popupdata_addfile");    Litem = sc_grave_get_widget(Ag, "popupdata_addfile");
478    Litem2 = g_hash_table_lookup(Ahash, "popupdata_adddirectory");    Litem2 = sc_grave_get_widget(Ag, "popupdata_adddirectory");
479    if (type != TYPE_FILE && Lonlyone) {    if (type != TYPE_FILE && Lonlyone) {
480      gtk_widget_show (Lsep);      gtk_widget_show (Lsep);
481      gtk_widget_show (Litem);      gtk_widget_show (Litem);
# Line 487  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 487  GtkMenu *create_gtkpopupmenudata(GtkWidg
487    }    }
488    
489    /* SUPPRIMER DE LA LISTE */    /* SUPPRIMER DE LA LISTE */
490    Lsep = g_hash_table_lookup(Ahash, "popupdata_sep2");    Lsep = sc_grave_get_widget(Ag, "popupdata_sep2");
491    Litem = g_hash_table_lookup(Ahash, "popupdata_remove");    Litem = sc_grave_get_widget(Ag, "popupdata_remove");
492    if (type != TYPE_CD) {    if (type != TYPE_CD) {
493      if (Lonlyone) {      if (Lonlyone) {
494        gtk_widget_show (Lsep);        gtk_widget_show (Lsep);
# Line 514  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 514  GtkMenu *create_gtkpopupmenudata(GtkWidg
514    }    }
515    
516    /* IMAGE DE BOOT */    /* IMAGE DE BOOT */
517  /*  Lsep = g_hash_table_lookup(Ahash, "popupdata_sep3");  /*  Lsep = sc_grave_get_widget(Ag, "popupdata_sep3");
518    Litem = g_hash_table_lookup(Ahash, "popupdata_imageboot");    Litem = sc_grave_get_widget(Ag, "popupdata_imageboot");
519    if (type == TYPE_FILE) {    if (type == TYPE_FILE) {
520      gtk_widget_show (Lsep);      gtk_widget_show (Lsep);
521      gtk_widget_show (Litem);      gtk_widget_show (Litem);
# Line 528  GtkMenu *create_gtkpopupmenudata(GtkWidg Line 528  GtkMenu *create_gtkpopupmenudata(GtkWidg
528    return Lmenu;    return Lmenu;
529  }  }
530    
531  void prepare_popups(GladeXML *Axml, GHashTable *Ahash)  void prepare_popups(Tgrave *Ag)
532  {  {
533    /* popup cd audio */    /* popup cd audio */
534    glade_to_hash(Axml, Ahash, "popupaudio");    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_addtrack")),
535    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupaudio_addtrack")),        "activate", G_CALLBACK(gtk_audio_addtrack), Ag);
536        "activate", G_CALLBACK(gtk_audio_addtrack), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_removetrack")),
537    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupaudio_removetrack")),        "activate", G_CALLBACK(gtk_audio_removetrack), Ag);
       "activate", G_CALLBACK(gtk_audio_removetrack), Ahash);  
538    
539    /* popup cd data */    /* popup cd data */
540    glade_to_hash(Axml, Ahash, "popupdata");    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamecd")),
541    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_renamecd")),        "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
542        "activate", G_CALLBACK(gtk_data_renommerelement), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamedvd")),
543    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_renamedvd")),        "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
544        "activate", G_CALLBACK(gtk_data_renommerelement), Ahash);  
545      g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_expand")),
546    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_expand")),        "activate", G_CALLBACK(gtk_data_expandelement), Ag);
547        "activate", G_CALLBACK(gtk_data_expandelement), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamefile")),
548    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_renamefile")),        "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
549        "activate", G_CALLBACK(gtk_data_renommerelement), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamedirectory")),
550    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_renamedirectory")),        "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
551        "activate", G_CALLBACK(gtk_data_renommerelement), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_createdirectory")),
552    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_createdirectory")),        "activate", G_CALLBACK(gtk_data_creerrepertoire), Ag);
553        "activate", G_CALLBACK(gtk_data_creerrepertoire), Ahash);    sc_grave_get_widget(Ag, "popupdata_sep1");
554    glade_to_hash(Axml, Ahash, "popupdata_sep1");    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_addfile")),
555    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_addfile")),        "activate", G_CALLBACK(gtk_data_addfile), Ag);
556        "activate", G_CALLBACK(gtk_data_addfile), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_adddirectory")),
557    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_adddirectory")),        "activate", G_CALLBACK(gtk_data_adddirectory), Ag);
558        "activate", G_CALLBACK(gtk_data_adddirectory), Ahash);  
559      sc_grave_get_widget(Ag, "popupdata_sep2");
560    glade_to_hash(Axml, Ahash, "popupdata_sep2");    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_remove")),
561    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_remove")),        "activate", G_CALLBACK(gtk_data_removefiles), Ag);
       "activate", G_CALLBACK(gtk_data_removefiles), Ahash);  
562    
563  #if 0  #if 0
564    glade_to_hash(Axml, Ahash, "popupdata_sep3");    sc_grave_get_widget(Ag, "popupdata_sep3");
565    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdata_imageboot")),    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_imageboot")),
566        "activate", G_CALLBACK(gtk_def_imageboot), Ahash);        "activate", G_CALLBACK(gtk_def_imageboot), Ahash);
567  #endif  #endif
568    
569    /* popup affichage */    /* popup affichage */
570    glade_to_hash(Axml, Ahash, "popupdisplay");    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_48")),
571    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdisp_iconsize_48")),        "activate", G_CALLBACK(gtk_display_updatesize), Ag);
572        "activate", G_CALLBACK(gtk_display_updatesize), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_32")),
573    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdisp_iconsize_32")),        "activate", G_CALLBACK(gtk_display_updatesize), Ag);
574        "activate", G_CALLBACK(gtk_display_updatesize), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_24")),
575    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdisp_iconsize_24")),        "activate", G_CALLBACK(gtk_display_updatesize), Ag);
576        "activate", G_CALLBACK(gtk_display_updatesize), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_16")),
577    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdisp_iconsize_16")),        "activate", G_CALLBACK(gtk_display_updatesize), Ag);
578        "activate", G_CALLBACK(gtk_display_updatesize), Ahash);  
579      g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_showstatusbar")),
580    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdisp_showstatusbar")),        "activate", G_CALLBACK(gtk_display_switchstatusbar), Ag);
581        "activate", G_CALLBACK(gtk_display_switchstatusbar), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_hidestatusbar")),
582    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupdisp_hidestatusbar")),        "activate", G_CALLBACK(gtk_display_switchstatusbar), Ag);
       "activate", G_CALLBACK(gtk_display_switchstatusbar), Ahash);  
583    
584    /* popup formater un dvd */    /* popup formater un dvd */
585    glade_to_hash(Axml, Ahash, "popupformatdvd");    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_format")),
586    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupform_format")),        "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag);
587        "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blank")),
588    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupform_blank")),        "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag);
589        "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blankfull")),
590    g_signal_connect(G_OBJECT(glade_to_hash(Axml, Ahash, "popupform_blankfull")),        "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag);
       "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ahash);  
 }  
   
 GtkAlignment *new_seliso(gchar *Aname, GtkWidget *Aparent)  
 {  
   GtkHBox *Lnewhbox = GTK_HBOX(gtk_hbox_new (FALSE, 3));  
   GtkAlignment *Lnewboxalignement = GTK_ALIGNMENT(gtk_alignment_new (1, 0.5, 0, 0));  
   GtkHBox *Lbtnbox = GTK_HBOX(gtk_hbox_new (FALSE, 2));  
   GtkEntry *Lisoname = GTK_ENTRY(gtk_entry_new());  
   GtkButton *Lbutton = GTK_BUTTON(gtk_button_new());  
   GtkAlignment *Lalignement = GTK_ALIGNMENT(gtk_alignment_new (0.5, 0.5, 0, 0));  
   GtkImage *Lbuttonimg;  
   GtkLabel *Lbuttonlbl;  
   gchar *Lentryname;  
   
   gtk_widget_show (GTK_WIDGET(Lnewhbox));  
   gtk_widget_show (GTK_WIDGET(Lbutton));  
   gtk_widget_show (GTK_WIDGET(Lisoname));  
     
   gtk_widget_show (GTK_WIDGET(Lalignement));  
   gtk_container_add(GTK_CONTAINER(Lbutton), GTK_WIDGET(Lalignement));  
     
   gtk_widget_show (GTK_WIDGET(Lbtnbox));  
   gtk_container_add (GTK_CONTAINER (Lalignement), GTK_WIDGET(Lbtnbox));  
     
   Lbuttonimg = GTK_IMAGE(gtk_image_new_from_stock("gtk-jump-to", GTK_ICON_SIZE_BUTTON));  
   gtk_widget_show (GTK_WIDGET(Lbuttonimg));  
   gtk_box_pack_start (GTK_BOX(Lbtnbox), GTK_WIDGET(Lbuttonimg), FALSE, FALSE, 0);  
   Lbuttonlbl = GTK_LABEL(gtk_label_new_with_mnemonic (_("O_pen")));  
   
   gtk_widget_show(GTK_WIDGET(Lbuttonlbl));  
   gtk_box_pack_start (GTK_BOX(Lbtnbox), GTK_WIDGET(Lbuttonlbl), FALSE, FALSE, 0);  
   
   gtk_container_add (GTK_CONTAINER (Lnewhbox), GTK_WIDGET(Lisoname));  
   gtk_container_add (GTK_CONTAINER (Lnewhbox), GTK_WIDGET(Lbutton));  
   
   gtk_container_add(GTK_CONTAINER(Lnewboxalignement), GTK_WIDGET(Lnewhbox));  
   
   gtk_widget_set_name(GTK_WIDGET(Lbutton), Aname);  
   g_signal_connect(G_OBJECT(Lbutton), "clicked", G_CALLBACK(gtk_file_sel), Lisoname);  
   
   Lentryname = g_strdup_printf("%svalue", Aname);  
   GLADE_HOOKUP_OBJECT(Aparent, GTK_WIDGET(Lisoname), Lentryname);  
   g_free(Lentryname);  
   
   return Lnewboxalignement;  
591  }  }
592    
593  /* fenetre principal */  /* fenetre principal */
594  GtkWidget* manage_main_window (guint64 *Aaudiolen, guint64 *Aaudiomaxlen,  GtkWidget* manage_main_window (guint64 *Aaudiolen, guint64 *Aaudiomaxlen,
595      guint64 *Adatasize, guint64 *Adatamaxsize, guint64 *Advddatasize, guint64 *Advddatamaxsize)      guint64 *Adatasize, guint64 *Adatamaxsize, guint64 *Advddatasize, guint64 *Advddatamaxsize)
596  {  {
597    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/window_main.glade";    Tgrave *Lg = sc_grave_load(window_main.glade);
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
598    GtkWidget *Lwindow;    GtkWidget *Lwindow;
599    GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother, *Lbodydvddata;    GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother, *Lbodydvddata;
600    GtkHBox *Lmainbody;    GtkHBox *Lmainbody;
601    GtkComboBox *Lcombo;    GtkComboBox *Lcombo;
602    GtkButton *Lbtnerasecdrw, *Lbtnformatdvdrw;    GtkButton *Lbtnerasecdrw, *Lbtnformatdvdrw;
603    GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu, *Ltreedvddata;    GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu, *Ltreedvddata;
   GHashTable *Lhash = _hash();  
604    
605    if (!Lxml) {    g_assert(Lg);
606      g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
607    }    Lmainbody = GTK_HBOX(sc_grave_get_widget(Lg, "mainbody"));
608      Lwindow = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow"));
609    
   Lmainbody = GTK_HBOX(glade_xml_get_widget(Lxml, "mainbody"));  
   Lwindow = GTK_WIDGET(glade_to_hash(Lxml, Lhash, "topwindow"));  
   g_hash_table_insert(Lhash, "window", Lwindow);  
   g_hash_table_insert(Lhash, "audiolen", Aaudiolen);  
   g_hash_table_insert(Lhash, "audiomaxlen", Aaudiomaxlen);  
   g_hash_table_insert(Lhash, "datasize", Adatasize);  
   g_hash_table_insert(Lhash, "datamaxsize", Adatamaxsize);  
   g_hash_table_insert(Lhash, "dvddatasize", Advddatasize);  
   g_hash_table_insert(Lhash, "dvddatamaxsize", Advddatamaxsize);  
610    
611    /* onglets page de droite */    /* onglets page de droite */
612    Lbodycdaudio = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "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));
614    Lbodycddata = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycddata"));    Lbodycddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycddata"));
615    gtk_widget_reparent(GTK_WIDGET(Lbodycddata), GTK_WIDGET(Lmainbody));    gtk_widget_reparent(GTK_WIDGET(Lbodycddata), GTK_WIDGET(Lmainbody));
616    Lbodydvddata = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodydvddata"));    Lbodydvddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodydvddata"));
617    gtk_widget_reparent(GTK_WIDGET(Lbodydvddata), GTK_WIDGET(Lmainbody));    gtk_widget_reparent(GTK_WIDGET(Lbodydvddata), GTK_WIDGET(Lmainbody));
618    Lbodycdcopy = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycdcopy"));    Lbodycdcopy = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdcopy"));
619    gtk_widget_reparent(GTK_WIDGET(Lbodycdcopy), GTK_WIDGET(Lmainbody));    gtk_widget_reparent(GTK_WIDGET(Lbodycdcopy), GTK_WIDGET(Lmainbody));
620    Lbodycdother = GTK_NOTEBOOK(glade_to_hash(Lxml, Lhash, "bodycdother"));    Lbodycdother = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdother"));
621    gtk_widget_reparent(GTK_WIDGET(Lbodycdother), GTK_WIDGET(Lmainbody));    gtk_widget_reparent(GTK_WIDGET(Lbodycdother), GTK_WIDGET(Lmainbody));
622    g_hash_table_replace(Lhash, "_lstclicked", Lbodycdaudio);    sc_grave_replace_data(Lg, Lbodycdaudio, "_lstclicked");
623    
624    /* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un cd de donnee" */    /* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un cd de donnee" */
625    g_signal_connect(G_OBJECT(Lbodycddata), "switch-page", G_CALLBACK(switchpage), Lhash);    g_signal_connect(G_OBJECT(Lbodycddata), "switch-page", G_CALLBACK(switchpage), Lg);
626    /* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un dvd de donnee" */    /* mise a jour des label lorsque l'on change d'onglet dans la partie "graver un dvd de donnee" */
627    g_signal_connect(G_OBJECT(Lbodydvddata), "switch-page", G_CALLBACK(switchpage), Lhash);    g_signal_connect(G_OBJECT(Lbodydvddata), "switch-page", G_CALLBACK(switchpage), Lg);
628    
629    /* bouttons barre de gauche */    /* bouttons barre de gauche */
630    Ltopmenu = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "topmenu"));    Ltopmenu = sc_grave_get_widget(Lg, "topmenu");
   glade_to_hash(Lxml, Lhash, "statusbar");  
631    
632    glade_to_hash(Lxml, Lhash, "dataisolevel");    manage_interface(Lg, MENU_NEW + COMBO_UPDATE);
633    manage_interface(Lhash, MENU_NEW + COMBO_UPDATE);    update_status_bar_display(Lg);
   update_status_bar_display(Lhash);  
634    
635    g_signal_connect(G_OBJECT(Ltopmenu), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lhash);    g_signal_connect(G_OBJECT(Ltopmenu), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg);
636    g_signal_connect(G_OBJECT(Ltopmenu), "popup-menu", G_CALLBACK(key_popupmenu_display), Lhash);    g_signal_connect(G_OBJECT(Ltopmenu), "popup-menu", G_CALLBACK(key_popupmenu_display), Lg);
637    
638    
639    /* signaux sur le menu */    /* signaux sur le menu */
640    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menustartnew")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menustartnew")), "activate",
641        G_CALLBACK(menu_start_new), Lhash);        G_CALLBACK(menu_start_new), Lg);
642    
643    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucdaudio")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdaudio")), "activate",
644        G_CALLBACK(menu_active_panel), Lhash);        G_CALLBACK(menu_active_panel), Lg);
645    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucddata")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucddata")), "activate",
646        G_CALLBACK(menu_active_panel), Lhash);        G_CALLBACK(menu_active_panel), Lg);
647    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menudvddata")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menudvddata")), "activate",
648        G_CALLBACK(menu_active_panel), Lhash);        G_CALLBACK(menu_active_panel), Lg);
649    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucdcopy")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdcopy")), "activate",
650        G_CALLBACK(menu_active_panel), Lhash);        G_CALLBACK(menu_active_panel), Lg);
651    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menucdother")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdother")), "activate",
652        G_CALLBACK(menu_active_panel), Lhash);        G_CALLBACK(menu_active_panel), Lg);
653    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menuproperties")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuproperties")), "activate",
654        G_CALLBACK(menu_active_proprietes), Lhash);        G_CALLBACK(menu_active_proprietes), Lg);
655    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menuquit")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuquit")), "activate",
656        G_CALLBACK(menu_quit), Lhash);        G_CALLBACK(menu_quit), Lg);
657    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "menuabout")), "activate",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuabout")), "activate",
658        G_CALLBACK(on_about), Lhash);        G_CALLBACK(on_about), Lg);
659    
660        
661    prepare_combobox_vitesse(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "dstaudiospeed")));    prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstaudiospeed")));
662    glade_to_hash(Lxml, Lhash, "srccopytable");    prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstcopyspeed")));
663    prepare_combobox_vitesse(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "dstcopyspeed")));    prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstdataspeed")));
664    glade_to_hash(Lxml, Lhash, "dstcopytable");    prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dstdvddataspeed")));
   prepare_combobox_vitesse(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "dstdataspeed")));  
   glade_to_hash(Lxml, Lhash, "dstdatatable");  
   prepare_combobox_vitesse(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "dstdvddataspeed")));  
   glade_to_hash(Lxml, Lhash, "dstdvddatatable");  
   
   /* onglet graver un cd audio */  
   glade_to_hash_list(Lxml, Lhash, "audiosimul", "audionotfix", "audiodao", "nbrcdaudio", NULL);  
   
   /* onglet graver un cd de donnee */  
   glade_to_hash_list(Lxml, Lhash, "datavoli", "datapubl", "dataprep", "databibl", "datacopy", "dataabst",  
       "datarockridge", "datajoliet", NULL);  
   glade_to_hash_list(Lxml, Lhash, "dataappi", "nbrcddata", "datamulti", "datanotfix", "datasimul", NULL);  
   
   /* onglet graver un dvd de donnee */  
   glade_to_hash_list(Lxml, Lhash, "dvddatavoli", "dvddatapubl", "dvddataprep", "dvddatabibl", "dvddatacopy",  
       "dvddataabst", NULL);  
   glade_to_hash_list(Lxml, Lhash, "dvddataappi", "nbrdvddata", "dvddatanotfix", "dvddatasimul", NULL);  
   
   /* onglet copier un cd */  
   glade_to_hash_list(Lxml, Lhash, "nbrcdcopy", "copysimul", NULL);  
665    
666    /* tous les combo contenant la liste des lecteurs */    /* tous les combo contenant la liste des lecteurs */
667    prepare_combobox_graveur(Lxml, Lhash, "dstaudio");    prepare_combobox_graveur(Lg, "dstaudio");
668        
669    prepare_combobox_graveur(Lxml, Lhash, "dstdata");    prepare_combobox_graveur(Lg, "dstdata");
670    prepare_disable_when_iso(Lhash, "dstdatacombo", "nbrcddata", "datamulti", "datanotfix", "datasimul", NULL);    prepare_disable_when_iso(Lg, "dstdatacombo", "nbrcddata", "datamulti", "datanotfix", "datasimul", NULL);
671    
672      prepare_combobox_graveur(Lg, "dstdvddata");
673      prepare_disable_when_iso(Lg, "dstdvddatacombo", "nbrdvddata", "dvddatanotfix", "dvddatasimul", NULL);
674    
675    prepare_combobox_graveur(Lxml, Lhash, "dstdvddata");    prepare_combobox_graveur(Lg, "srccopy");
676    prepare_disable_when_iso(Lhash, "dstdvddatacombo", "nbrdvddata", "dvddatanotfix", "dvddatasimul", NULL);    prepare_combobox_graveur(Lg, "dstcopy");
677    
678    prepare_combobox_graveur(Lxml, Lhash, "srccopy");    prepare_combobox_graveur(Lg, "dstother");
679    prepare_combobox_graveur(Lxml, Lhash, "dstcopy");    prepare_disable_when(lg, "dstothercombo_notcdrw", "btnerasecdrwother1", NULL);
680    prepare_disable_when_iso(Lhash, "dstcopycombo", "nbrcdcopy", "copysimul", NULL);    prepare_disable_when(lg, "dstothercombo_notdvdrw", "btnformatdvdrwother1", NULL);
   
   Lbtnerasecdrw = GTK_BUTTON(glade_to_hash(Lxml, Lhash, "btnerasecdrwother1"));  
   Lbtnformatdvdrw = GTK_BUTTON(glade_to_hash(Lxml, Lhash, "btnformatdvdrwother1"));  
   prepare_combobox_graveur(Lxml, Lhash, "dstother");  
   prepare_disable_when(Lhash, "dstothercombo_notcdrw", "btnerasecdrwother1", NULL);  
   prepare_disable_when(Lhash, "dstothercombo_notdvdrw", "btnformatdvdrwother1", NULL);  
681        
682    /* on rempli les autres combo */    /* on rempli les autres combo */
683    remplirecombo(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "dataformat")), "", Gformatcd,    remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dataformat")), "", Gformatcd,
684        TRUE, conf_get_string("dataformat"));        TRUE, conf_get_string("dataformat"));
685    remplirecombo(GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "datamodburn")), "", Gmodburn,    remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "datamodburn")), "", Gmodburn,
686        TRUE, conf_get_string("datamodburn"));        TRUE, conf_get_string("datamodburn"));
687    Lcombo = GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "listeremplidata"));    Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidata"));
688    remplirecombo(Lcombo, "", Gtypecddata, TRUE, conf_get_string("listeremplidata"));    remplirecombo(Lcombo, "", Gtypecddata, TRUE, conf_get_string("listeremplidata"));
689    g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lhash);    g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lg);
690    
691    Lcombo = GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "listeremplidvddata"));    Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidvddata"));
692    remplirecombo(Lcombo, "", Gtypedvddata, TRUE, conf_get_string("listeremplidvddata"));    remplirecombo(Lcombo, "", Gtypedvddata, TRUE, conf_get_string("listeremplidvddata"));
693    g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lhash);    g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lg);
694    
695    Lcombo = GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "listerempliaudio"));    Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listerempliaudio"));
696    remplirecombo(Lcombo, "", Gtypecdaudio, TRUE, conf_get_string("listerempliaudio"));    remplirecombo(Lcombo, "", Gtypecdaudio, TRUE, conf_get_string("listerempliaudio"));
697    g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lhash);    g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), Lg);
698    
699    /* boutons "page suivante" */    /* boutons "page suivante" */
700    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextaudio1")), "clicked", G_CALLBACK(gonextpage), Lbodycdaudio);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextaudio1")), "clicked", G_CALLBACK(gonextpage), Lbodycdaudio);
701    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdata1")), "clicked", G_CALLBACK(gonextpage), Lbodycddata);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata1")), "clicked", G_CALLBACK(gonextpage), Lbodycddata);
702    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdata2")), "clicked", G_CALLBACK(gonextpage), Lbodycddata);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata2")), "clicked", G_CALLBACK(gonextpage), Lbodycddata);
703    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdvddata1")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata1")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata);
704    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnnextdvddata2")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata2")), "clicked", G_CALLBACK(gonextpage), Lbodydvddata);
705    
706    /* boutons "graver" */    /* boutons "graver" */
707    g_signal_connect(G_OBJECT(glade_to_hash(Lxml, Lhash, "btnburnaudio2")), "clicked", G_CALLBACK(confirm_burn), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburnaudio2")), "clicked", G_CALLBACK(confirm_burn), Lg);
708    g_signal_connect(G_OBJECT(glade_to_hash(Lxml, Lhash, "btnburndata2")), "clicked", G_CALLBACK(confirm_burn), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata2")), "clicked", G_CALLBACK(confirm_burn), Lg);
709    g_signal_connect(G_OBJECT(glade_to_hash(Lxml, Lhash, "btnburndata3")), "clicked", G_CALLBACK(confirm_burn), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata3")), "clicked", G_CALLBACK(confirm_burn), Lg);
710    g_signal_connect(G_OBJECT(glade_to_hash(Lxml, Lhash, "btnburndvddata2")), "clicked", G_CALLBACK(confirm_burn), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata2")), "clicked", G_CALLBACK(confirm_burn), Lg);
711    g_signal_connect(G_OBJECT(glade_to_hash(Lxml, Lhash, "btnburndvddata3")), "clicked", G_CALLBACK(confirm_burn), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata3")), "clicked", G_CALLBACK(confirm_burn), Lg);
712    g_signal_connect(G_OBJECT(glade_to_hash(Lxml, Lhash, "btnburncopy1")), "clicked", G_CALLBACK(confirm_burn), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburncopy1")), "clicked", G_CALLBACK(confirm_burn), Lg);
713    
714    /* boutons de la page "autres operations" */    /* boutons de la page "autres operations" */
715    g_signal_connect(G_OBJECT(Lbtnerasecdrw), "clicked", G_CALLBACK(confirm_erasecdrw), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnerasecdrwother1")), "clicked", G_CALLBACK(confirm_erasecdrw), Lg);
716    g_signal_connect(G_OBJECT(Lbtnformatdvdrw), "clicked", G_CALLBACK(popup_formatdvdrw), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnformatdvdrw")), "clicked", G_CALLBACK(popup_formatdvdrw), Lg);
717    g_signal_connect(G_OBJECT(glade_to_hash(Lxml, Lhash, "btnfixcdother1")), "clicked", G_CALLBACK(confirm_fixcd), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnfixcdother1")), "clicked", G_CALLBACK(confirm_fixcd), Lg);
718        
719    update_combo_graveur(Lhash);    update_combo_graveur(Lg);
720    
721    /* menu popup sur les listes */    /* menu popup sur les listes */
722    glade_to_hash_list(Lxml, Lhash, "audiolenbar", "datasizebar", "dvddatasizebar", NULL);    Ltreeaudio = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO"));
723    Ltreeaudio = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "LISTEAUDIO"));    prepare_popups(Lg);
   prepare_popups(Lxml, Lhash);  
724    prepare_listeaudio(Ltreeaudio);    prepare_listeaudio(Ltreeaudio);
725    g_signal_connect(G_OBJECT(Ltreeaudio), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lhash);    g_signal_connect(G_OBJECT(Ltreeaudio), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg);
726    g_signal_connect(G_OBJECT(Ltreeaudio), "popup-menu", G_CALLBACK(key_popupmenu_addaudio), Lhash);    g_signal_connect(G_OBJECT(Ltreeaudio), "popup-menu", G_CALLBACK(key_popupmenu_addaudio), Lg);
727    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddtrack")), "clicked", G_CALLBACK(gtk_audio_addtrack), Lhash);    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddtrack")), "clicked", G_CALLBACK(gtk_audio_addtrack), Lg);
728    
729    Ltreedata = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "LISTEDATA"));    Ltreedata = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEDATA"));
730    prepare_listedata(Ltreedata, _("New CD"));    prepare_listedata(Ltreedata, _("New CD"));
731    g_signal_connect(G_OBJECT(Ltreedata), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lhash);    g_signal_connect(G_OBJECT(Ltreedata), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg);
732    g_signal_connect(G_OBJECT(Ltreedata), "popup-menu", G_CALLBACK(key_popupmenu_addfile), Lhash);    g_signal_connect(G_OBJECT(Ltreedata), "popup-menu", G_CALLBACK(key_popupmenu_addfile), Lg);
733    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddfile")), "clicked", G_CALLBACK(gtk_data_addfile), Lhash);    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnaddfile")), "clicked", G_CALLBACK(gtk_data_addfile), Lg);
734    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnadddirectory")), "clicked",    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btnadddirectory")), "clicked",
735        G_CALLBACK(gtk_data_adddirectory), Lhash);        G_CALLBACK(gtk_data_adddirectory), Lg);
736    
737    Ltreedvddata = GTK_TREE_VIEW(glade_to_hash(Lxml, Lhash, "LISTEDVDDATA"));    Ltreedvddata = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEDVDDATA"));
738    prepare_listedata(Ltreedvddata, _("New DVD"));    prepare_listedata(Ltreedvddata, _("New DVD"));
739    g_signal_connect(G_OBJECT(Ltreedvddata), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lhash);    g_signal_connect(G_OBJECT(Ltreedvddata), "button-press-event", G_CALLBACK(gtk_do_eventbuttonpress), Lg);
740    g_signal_connect(G_OBJECT(Ltreedvddata), "popup-menu", G_CALLBACK(key_popupmenu_addfile), Lhash);    g_signal_connect(G_OBJECT(Ltreedvddata), "popup-menu", G_CALLBACK(key_popupmenu_addfile), Lg);
741    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btndvdaddfile")), "clicked", G_CALLBACK(gtk_data_addfile), Lhash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btndvdaddfile")), "clicked", G_CALLBACK(gtk_data_addfile), Lg);
742    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btndvdadddirectory")), "clicked",    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btndvdadddirectory")), "clicked",
743        G_CALLBACK(gtk_data_adddirectory), Lhash);        G_CALLBACK(gtk_data_adddirectory), Lg);
744    
745    
746    /* drag and drop */    /* drag and drop */
# Line 834  GtkWidget* manage_main_window (guint64 * Line 749  GtkWidget* manage_main_window (guint64 *
749             GDK_BUTTON1_MASK, Gdndaudio, G_N_ELEMENTS (Gdndaudio), GDK_ACTION_MOVE|GDK_ACTION_COPY);             GDK_BUTTON1_MASK, Gdndaudio, G_N_ELEMENTS (Gdndaudio), GDK_ACTION_MOVE|GDK_ACTION_COPY);
750    gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreeaudio),    gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreeaudio),
751                 Gdndaudio, G_N_ELEMENTS (Gdndaudio), GDK_ACTION_MOVE|GDK_ACTION_COPY);                 Gdndaudio, G_N_ELEMENTS (Gdndaudio), GDK_ACTION_MOVE|GDK_ACTION_COPY);
752    g_signal_connect(G_OBJECT(Ltreeaudio), "drag-data-received", G_CALLBACK(audio_dnd_data_received), Lhash);    g_signal_connect(G_OBJECT(Ltreeaudio), "drag-data-received", G_CALLBACK(audio_dnd_data_received), Lg);
753    
754    /* cd data */    /* cd data */
755    gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (Ltreedata),    gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (Ltreedata),
# Line 842  GtkWidget* manage_main_window (guint64 * Line 757  GtkWidget* manage_main_window (guint64 *
757    gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreedata),    gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreedata),
758             Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY|GDK_ACTION_LINK);             Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY|GDK_ACTION_LINK);
759    g_signal_connect(G_OBJECT(Ltreedata), "drag-data-received", G_CALLBACK(data_dnd_data_received),    g_signal_connect(G_OBJECT(Ltreedata), "drag-data-received", G_CALLBACK(data_dnd_data_received),
760        Lhash);        Lg);
761    /* dvd data */    /* dvd data */
762    gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (Ltreedvddata),    gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (Ltreedvddata),
763             GDK_BUTTON1_MASK, Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY);             GDK_BUTTON1_MASK, Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY);
764    gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreedvddata),    gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (Ltreedvddata),
765             Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY);             Gdnddata, G_N_ELEMENTS (Gdnddata), GDK_ACTION_MOVE|GDK_ACTION_COPY);
766    g_signal_connect(G_OBJECT(Ltreedvddata), "drag-data-received", G_CALLBACK(data_dnd_data_received),    g_signal_connect(G_OBJECT(Ltreedvddata), "drag-data-received", G_CALLBACK(data_dnd_data_received),
767        Lhash);        Lg);
768    
769    /* evenement fermer la fenetre */    /* evenement fermer la fenetre */
770    g_signal_connect(G_OBJECT(Lwindow), "delete-event", G_CALLBACK(delete_event_quit), Lhash);    g_signal_connect(G_OBJECT(Lwindow), "delete-event", G_CALLBACK(delete_event_quit), Lg);
771    
772    /* on restaure la taille et la position que la fenetre avait lors de la derniere utilisation */    /* on restaure la taille et la position que la fenetre avait lors de la derniere utilisation */
773    restore_main_window_pos(Lwindow);    restore_main_window_pos(Lwindow);
774    
775    /* on restaure les dernieres valeurs utilisees pour certains champs */    /* on restaure les dernieres valeurs utilisees pour certains champs */
776    restore_last_used_values(Lhash);    restore_last_used_values(Lg);
777        
778    gtk_widget_show(Lwindow);    gtk_widget_show(Lwindow);
779    
# Line 866  GtkWidget* manage_main_window (guint64 * Line 781  GtkWidget* manage_main_window (guint64 *
781  }  }
782    
783  /* mise a jour des listes contenant les lecteurs */  /* mise a jour des listes contenant les lecteurs */
784  void update_combo_graveur(GHashTable *Ahash)  void update_combo_graveur(Tgrave *Ag)
785  {  {
786    GtkComboBox *Lsrccopycombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "srccopycombo"));    GtkComboBox *Lsrccopycombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "srccopycombo"));
787    GtkComboBox *Ldstcopycombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstcopycombo"));    GtkComboBox *Ldstcopycombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstcopycombo"));
788    GtkComboBox *Ldstdatacombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstdatacombo"));    GtkComboBox *Ldstdatacombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstdatacombo"));
789    GtkComboBox *Ldstdvddatacombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstdvddatacombo"));    GtkComboBox *Ldstdvddatacombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstdvddatacombo"));
790    GtkComboBox *Ldstaudiocombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstaudiocombo"));    GtkComboBox *Ldstaudiocombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstaudiocombo"));
791    GtkComboBox *Ldstothercombo = GTK_COMBO_BOX(g_hash_table_lookup(Ahash, "dstothercombo"));    GtkComboBox *Ldstothercombo = GTK_COMBO_BOX(sc_grave_get_widget(Ag, "dstothercombo"));
792    GtkButton *Lbtnburnaudio1 = g_hash_table_lookup(Ahash, "btnburnaudio1");    GtkButton *Lbtnburnaudio1 = sc_grave_get_widget(Ag, "btnburnaudio1");
793    GtkButton *Lbtnburnaudio2 = g_hash_table_lookup(Ahash, "btnburnaudio2");    GtkButton *Lbtnburnaudio2 = sc_grave_get_widget(Ag, "btnburnaudio2");
794    GtkButton *Lbtnburncopy1 = g_hash_table_lookup(Ahash, "btnburncopy1");    GtkButton *Lbtnburncopy1 = sc_grave_get_widget(Ag, "btnburncopy1");
795    GtkButton *Lbtnfixcdother1 = g_hash_table_lookup(Ahash, "btnfixcdother1");    GtkButton *Lbtnfixcdother1 = sc_grave_get_widget(Ag, "btnfixcdother1");
796    GtkButton *Lbtnerasecdrwother1 = g_hash_table_lookup(Ahash, "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);
# Line 1090  GHashTable *addmediaformat(GHashTable *A Line 1005  GHashTable *addmediaformat(GHashTable *A
1005  #endif  #endif
1006    
1007  /* boite de dialogue "editer un peripherique" */  /* boite de dialogue "editer un peripherique" */
1008  GHashTable *create_dialog_edit_device(GtkWidget *Aparent, Tdriveinfo *Adrive)  Tgrave *create_dialog_edit_device(GtkWidget *Aparent, Tdriveinfo *Adrive)
1009  {  {
1010    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/dialog_device.glade";    Tgrave *Lg = sc_grave_load("dialog_device.glade");
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
1011    GtkWidget *Ldialog;    GtkWidget *Ldialog;
   GHashTable *Lhash = _hash();  
1012    GtkComboBox *Lcombobox;    GtkComboBox *Lcombobox;
1013    
1014    if (!Lxml) {    g_assert(Lxml);
     g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
   }  
1015    
1016    Ldialog = glade_xml_get_widget(Lxml, "dialog_device");    Ldialog = sc_grave_get_widget(Lg, "dialog_device");
1017    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));
1018    g_hash_table_insert(Lhash, "window", Ldialog);    sc_grave_ref_wtd(Lg, "dialog_device", "window");
1019    
1020    gtk_entry_set_text(GTK_ENTRY(glade_to_hash(Lxml, Lhash, "devicename")), Adrive->name);    gtk_entry_set_text(GTK_ENTRY(sc_grave_get_widget(Lg, "devicename")), Adrive->name);
1021    Lcombobox = GTK_COMBO_BOX(glade_to_hash(Lxml, Lhash, "devicebus"));    Lcombobox = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "devicebus"));
1022    
1023    manage_combobox_devicebus(Lcombobox, Adrive);    manage_combobox_devicebus(Lcombobox, Adrive);
1024    
1025    return Lhash;    return Lg;
1026  }  }
1027    
1028  /* boite de dialogue "ajouter un peripherique" */  /* boite de dialogue "ajouter un peripherique" */
1029  GHashTable *create_dialog_add_device(GtkWidget *Aparent)  Tgrave *create_dialog_add_device(GtkWidget *Aparent)
1030  {  {
1031    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/dialog_add_device.glade";    Tgrave *Lg = sc_grave_load("dialog_add_device.glade");
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
1032    GtkWidget *Ldialog;    GtkWidget *Ldialog;
   GHashTable *Lhash = _hash();  
1033    
1034    if (!Lxml) {    g_assert(Lxml);
     g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
   }  
1035    
1036    Ldialog = glade_xml_get_widget(Lxml, "dialog_add_device");    Ldialog = sc_grave_get_widget(Lg, "dialog_add_device");
1037    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));    gtk_window_set_transient_for(GTK_WINDOW(Ldialog), GTK_WINDOW(Aparent));
1038    g_hash_table_insert(Lhash, "window", Ldialog);    sc_grave_ref_wtd(Lg, "dialog_add_device", "window");
   
   gtk_entry_set_text(GTK_ENTRY(glade_to_hash(Lxml, Lhash, "devicename")), _("New device"));  
   glade_to_hash(Lxml, Lhash, "devicebus");  
1039    
1040      gtk_entry_set_text(GTK_ENTRY(sc_grave_get_widget(Lg, "devicename")), _("New device"));
1041    
1042    return Lhash;    return Lg;
1043  }  }
1044    
1045    
1046  /* boite de dialogue "a propos de ..." */  /* boite de dialogue "a propos de ..." */
1047  void about_graveman (void)  void about_graveman (void)
1048  {  {
1049    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/dialog_about.glade";    Tgrave *Lg = sc_grave_load("dialog_about.glade");
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
1050    GtkWidget *Ldialog;    GtkWidget *Ldialog;
1051    GtkLabel *Llabelversion;    GtkLabel *Llabelversion;
1052    gchar *Ltmp;    gchar *Ltmp;
1053    
1054    if (!Lxml) {    g_assert(Lg);
     g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
   }  
1055    
1056    Llabelversion = GTK_LABEL(glade_xml_get_widget(Lxml, "version"));    Llabelversion = GTK_LABEL(sc_grave_get_widget(Lg, "version"));
1057    
1058    Ltmp = g_strdup_printf(_("version %s - http://www.nongnu.org/graveman"), VERSION);    Ltmp = g_strdup_printf(_("version %s - http://www.nongnu.org/graveman"), VERSION);
1059    gtk_label_set_label(Llabelversion, Ltmp);    gtk_label_set_label(Llabelversion, Ltmp);
1060    g_free(Ltmp);    g_free(Ltmp);
1061    
1062    Ldialog = glade_xml_get_widget(Lxml, "dialog_about");    Ldialog = sc_grave_get_widget(Lg, "dialog_about")
   
1063    gtk_dialog_run(GTK_DIALOG(Ldialog));    gtk_dialog_run(GTK_DIALOG(Ldialog));
1064    gtk_widget_destroy(Ldialog);    gtk_widget_destroy(Ldialog);
1065    
1066    g_free(Lxml);    sc_grave_destroy(Lg);
1067  }  }
1068    
1069  void hide_some_progressbar(GHashTable *Ahash)  void hide_some_progressbar(Tgrave *Ag)
1070  {  {
1071    GtkWidget *Lpbfifo = g_hash_table_lookup(Ahash, "pb_fifo");    GtkWidget *Lpbfifo = sc_grave_get_data(Ag, "pb_fifo");
1072    GtkWidget *Lpbbuffer = g_hash_table_lookup(Ahash, "pb_buffer");    GtkWidget *Lpbbuffer = sc_grave_get_data(Ag, "pb_buffer");
1073    GtkWidget *Llfifo = g_hash_table_lookup(Ahash, "l_fifo");    GtkWidget *Llfifo = sc_grave_get_data(Ag, "l_fifo");
1074    GtkWidget *Llbuffer = g_hash_table_lookup(Ahash, "l_buffer");    GtkWidget *Llbuffer = sc_grave_get_data(Ag, "l_buffer");
1075    
1076    gtk_widget_hide(Lpbfifo);    gtk_widget_hide(Lpbfifo);
1077    gtk_widget_hide(Llfifo);    gtk_widget_hide(Llfifo);
# Line 1179  void hide_some_progressbar(GHashTable *A Line 1080  void hide_some_progressbar(GHashTable *A
1080  }  }
1081    
1082  /* fenetre gravure d'un cd en cours */  /* fenetre gravure d'un cd en cours */
1083  void show_graverwindow (GHashTable *Ahash, gchar *Aaction, gchar *Atitle)  void show_graverwindow (Tgrave *Ag, gchar *Aaction, gchar *Atitle)
1084  {  {
1085    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/window_burn.glade";    GladeXML *Lburng = sc_grave_load("window_burn.glade");
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
1086    GtkWidget *Lwindowburn;    GtkWidget *Lwindowburn;
1087    GtkLabel *Ltitle, *Lavancement;    GtkLabel *Ltitle;
1088    GtkProgressBar *Lpbtotal, *Lpbstep, *Lpbfifo, *Lpbbuffer;    GtkProgressBar *Lpbtotal, *Lpbstep, *Lpbfifo, *Lpbbuffer;
1089    gint Ltotaldone = 0;    gint Ltotaldone = 0;
1090    gint Lpid = 0, Lpid2 = 0;    gint Lpid = 0, Lpid2 = 0;
# Line 1192  void show_graverwindow (GHashTable *Ahas Line 1092  void show_graverwindow (GHashTable *Ahas
1092    gboolean Lbackvalue = FALSE;    gboolean Lbackvalue = FALSE;
1093    gint Lcont = 1;    gint Lcont = 1;
1094    GtkWidget *Lstatusbox = NULL;    GtkWidget *Lstatusbox = NULL;
1095    GtkWidget *Lparent = GTK_WIDGET(g_hash_table_lookup(Ahash, "topwindow"));    GtkWidget *Lparent = GTK_WIDGET(sc_grave_get_widget(Ag, "topwindow"));
1096    GError *Lerror = NULL;    GError *Lerror = NULL;
1097    
1098    if (!Lxml) {    g_assert(Lburng);
     g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
   }  
1099    
1100    Lwindowburn = glade_xml_get_widget(Lxml, "window_burn");    Lwindowburn = sc_grave_get_widget(Lburng, "window_burn");
1101    gtk_window_set_transient_for(GTK_WINDOW(Lwindowburn), GTK_WINDOW(Lparent));    gtk_window_set_transient_for(GTK_WINDOW(Lwindowburn), GTK_WINDOW(Lparent));
1102    
   /* titres avancement */  
   Ltitle = GTK_LABEL(glade_to_hash(Lxml, Ahash, "gravetitle"));  
   Lavancement = GTK_LABEL(glade_to_hash(Lxml, Ahash, "avancement"));  
     
1103    /* barres de progression */    /* barres de progression */
1104    Lpbtotal = GTK_PROGRESS_BAR(glade_to_hash(Lxml, Ahash, "pb_total"));    Lpbtotal = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_total"));
1105    Lpbstep = GTK_PROGRESS_BAR(glade_to_hash(Lxml, Ahash, "pb_step"));    Lpbstep = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_step"));
1106    /* pour la conversion des fichiers audio et la pulse bar */    /* pour la conversion des fichiers audio et la pulse bar */
1107    g_hash_table_insert(Ahash, "progress", Lpbstep);    sc_grave_set_data(Ahash, "progress", Lpbstep);
1108    Lpbfifo = GTK_PROGRESS_BAR(glade_to_hash(Lxml, Ahash, "pb_fifo"));    Lpbfifo = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_fifo"));
1109    Lpbbuffer = GTK_PROGRESS_BAR(glade_to_hash(Lxml, Ahash, "pb_buffer"));    Lpbbuffer = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_buffer"));
   glade_to_hash_list(Lxml, Ahash, "l_fifo", "l_buffer", NULL);  
1110    
1111    /* on attache les variables utilisees lors de l'operation */    /* on attache les variables utilisees lors de l'operation */
1112    g_hash_table_insert(Ahash, "totaldone", &Ltotaldone);    sc_grave_set_data(Ag, "totaldone", &Ltotaldone);
1113    g_hash_table_insert(Ahash, "gabort", &Labort);  /* operation annulee par l'utilisateur ? */    sc_grave_set_data(Ag, "gabort", &Labort);  /* operation annulee par l'utilisateur ? */
1114    g_hash_table_insert(Ahash, "pid", &Lpid);    sc_grave_set_data(Ag, "pid", &Lpid);
1115    g_hash_table_insert(Ahash, "cont", &Lcont);    sc_grave_set_data(Ag, "cont", &Lcont);
1116    g_hash_table_insert(Ahash, "pid2", &Lpid2);    sc_grave_set_data(Ag, "pid2", &Lpid2);
1117    
1118    /* bouton annuler l'operation */    /* bouton annuler l'operation */
1119    g_signal_connect(G_OBJECT(glade_xml_get_widget(Lxml, "btncancelburn")), "clicked", G_CALLBACK(abort_gravure), Ahash);    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lburng, "btncancelburn")), "clicked", G_CALLBACK(abort_gravure), Ag);
1120    g_signal_connect(G_OBJECT(Lwindowburn), "delete_event", GTK_SIGNAL_FUNC(on_deleteevent_gravure), Ahash);    g_signal_connect(G_OBJECT(Lwindowburn), "delete_event", GTK_SIGNAL_FUNC(on_deleteevent_gravure), Ag);
1121    
1122    /* lancement de l'operation en elle meme */    /* lancement de l'operation en elle meme */
1123    if (g_str_has_prefix(Aaction, "btnburncopy")) {    if (g_str_has_prefix(Aaction, "btnburncopy")) {
1124      Lbackvalue = burn_copy(Ahash, &Lerror);      Lbackvalue = burn_copy(Ag, &Lerror);
   
       
1125    } else if (g_str_has_prefix(Aaction, "btnburnaudio")) {    } else if (g_str_has_prefix(Aaction, "btnburnaudio")) {
1126      Lbackvalue = burn_audio(Ahash, &Lerror);      Lbackvalue = burn_audio(Ag, &Lerror);
1127    } else if (g_str_has_prefix(Aaction, "btnburndata")) {    } else if (g_str_has_prefix(Aaction, "btnburndata")) {
1128      Lbackvalue = burn_data(Ahash, &Lerror);      Lbackvalue = burn_data(Ag, &Lerror);
1129    } else if (g_str_has_prefix(Aaction, "btnburndvddata")) {    } else if (g_str_has_prefix(Aaction, "btnburndvddata")) {
1130      hide_some_progressbar(Ahash);      hide_some_progressbar(Ahash);
1131      Lbackvalue = burn_dvddata(Ahash, &Lerror);      Lbackvalue = burn_dvddata(Ag, &Lerror);
1132    }    }
1133    
1134    if (Labort) {    if (Labort) {
# Line 1245  void show_graverwindow (GHashTable *Ahas Line 1136  void show_graverwindow (GHashTable *Ahas
1136                                       GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK,                                       GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK,
1137                                       _("Operation aborted by user !"));                                       _("Operation aborted by user !"));
1138    } else {    } else {
1139        Ltitle = GTK_LABEL(sc_grave_get_widget(Lburng, "gravetitle"));
1140        
1141      /* pour plus de beaute on s'assure que les barres de progression aient les bonnes      /* pour plus de beaute on s'assure que les barres de progression aient les bonnes
1142       * valeurs :-) */       * valeurs :-) */
1143      gtk_progress_bar_set_fraction(Lpbtotal, 1);      gtk_progress_bar_set_fraction(Lpbtotal, 1);
# Line 1277  void show_graverwindow (GHashTable *Ahas Line 1170  void show_graverwindow (GHashTable *Ahas
1170    }    }
1171    
1172    gtk_widget_destroy(Lwindowburn);    gtk_widget_destroy(Lwindowburn);
1173      sc_grave_destroy(Lburng);
1174    if (Lerror) g_error_free(Lerror);    if (Lerror) g_error_free(Lerror);
1175  }  }
1176        
1177  /* fenetre "operation en cours" */  /* fenetre "operation en cours" */
1178  GladeXML *create_window_encours(GtkWidget *Aparent)  Tgrave *create_window_encours(GtkWidget *Aparent)
1179  {  {
1180    gchar *Ltemplate = PACKAGE_DATA_DIR "/" PACKAGE "/window_inprogress.glade";    Tgrave *Lg = sc_grave_load("window_inprogress.glade");
   GladeXML *Lxml = glade_xml_new(Ltemplate, NULL,NULL);  
1181    
1182    if (!Lxml) {    g_assert(Lg);
     g_error("Cannot load '%s': %s\n", Ltemplate, g_strerror(errno));  
   }  
1183    
1184    if (GTK_IS_WIDGET(Aparent)) {    if (GTK_IS_WIDGET(Aparent)) {
1185      GtkWidget *Lwin = glade_xml_get_widget(Lxml, "window_inprogress");      gtk_window_set_transient_for(GTK_WINDOW(sc_grave_get_widget(Lg, "window_inprogress")), GTK_WINDOW(Aparent));
     gtk_window_set_transient_for(GTK_WINDOW(Lwin), GTK_WINDOW(Aparent));  
1186    }    }
1187    
1188    return Lxml;    return Lxml;
# Line 1313  void prepare_combobox_vitesse(GtkComboBo Line 1203  void prepare_combobox_vitesse(GtkComboBo
1203  }  }
1204    
1205  /* objets a cacher lorsque l'on selectionne une image iso en tant que source ou destination */  /* objets a cacher lorsque l'on selectionne une image iso en tant que source ou destination */
1206  void prepare_disable_when_iso(GHashTable *Ahash, gchar *Abasename, const gchar *Afirst, ...)  void prepare_disable_when_iso(Tgrave *Ag, gchar *Abasename, const gchar *Afirst, ...)
1207  {  {
1208    va_list Largs;    va_list Largs;
1209    gchar *Lbuf = (gchar *) Afirst;    gchar *Lbuf = (gchar *) Afirst;
# Line 1321  void prepare_disable_when_iso(GHashTable Line 1211  void prepare_disable_when_iso(GHashTable
1211    gchar *Lname = g_strdup_printf("%s_isotodisabled%d", Abasename, Lnbr++);    gchar *Lname = g_strdup_printf("%s_isotodisabled%d", Abasename, Lnbr++);
1212    gchar *Lcur;    gchar *Lcur;
1213    
1214    g_hash_table_insert(Ahash, Lname, g_hash_table_lookup(Ahash, Afirst));    sc_grave_ref_wtd(Ag, Afirst, Lname);
1215    
1216    va_start(Largs, Afirst);    va_start(Largs, Afirst);
1217    while (*Lbuf++) {    while (*Lbuf++) {
1218      if (!(Lcur = va_arg(Largs, gchar *))) break;      if (!(Lcur = va_arg(Largs, gchar *))) break;
1219            
1220      Lname = g_strdup_printf("%s_isotodisabled%d", Abasename, Lnbr++);      Lname = g_strdup_printf("%s_isotodisabled%d", Abasename, Lnbr++);
1221      g_hash_table_insert(Ahash, Lname, g_hash_table_lookup(Ahash, Lcur));      sc_grave_ref_wtd(Ag, Lcur, Lname);
1222    }    }
1223    
1224    va_end(Largs);    va_end(Largs);
1225  }  }
1226    
1227  /* objets a cacher lorsque l'on selectionne une image iso en tant que source ou destination */  /* objets a cacher lorsque l'on selectionne une image iso en tant que source ou destination */
1228  void prepare_disable_when(GHashTable *Ahash, gchar *Abasename, const gchar *Afirst, ...)  void prepare_disable_when(Tgrave *Ag, gchar *Abasename, const gchar *Afirst, ...)
1229  {  {
1230    va_list Largs;    va_list Largs;
1231    gchar *Lbuf = (gchar *) Afirst;    gchar *Lbuf = (gchar *) Afirst;
# Line 1343  void prepare_disable_when(GHashTable *Ah Line 1233  void prepare_disable_when(GHashTable *Ah
1233    gchar *Lname = g_strdup_printf("%stodisabled%d", Abasename, Lnbr++);    gchar *Lname = g_strdup_printf("%stodisabled%d", Abasename, Lnbr++);
1234    gchar *Lcur;    gchar *Lcur;
1235    
1236    g_hash_table_insert(Ahash, Lname, g_hash_table_lookup(Ahash, Afirst));    sc_grave_ref_wtd(Ag, Afirst, Lname);
1237    
1238    va_start(Largs, Afirst);    va_start(Largs, Afirst);
1239    while (*Lbuf++) {    while (*Lbuf++) {
1240      if (!(Lcur = va_arg(Largs, gchar *))) break;      if (!(Lcur = va_arg(Largs, gchar *))) break;
1241            
1242      Lname = g_strdup_printf("%stodisabled%d", Abasename, Lnbr++);      Lname = g_strdup_printf("%stodisabled%d", Abasename, Lnbr++);
1243      g_hash_table_insert(Ahash, Lname, g_hash_table_lookup(Ahash, Lcur));      sc_grave_ref_wtd(Ag, Lcur, Lname);
1244    }    }
1245    
1246    va_end(Largs);    va_end(Largs);
# Line 1358  void prepare_disable_when(GHashTable *Ah Line 1248  void prepare_disable_when(GHashTable *Ah
1248    
1249  void gtk_toggle_top_menu(GtkTreeView *Atopmenu, gpointer Adata)  void gtk_toggle_top_menu(GtkTreeView *Atopmenu, gpointer Adata)
1250  {  {
1251    GHashTable *Lhash = (GHashTable *)Adata;    Tgrave *Lg = (Tgrave *)Adata;
1252    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Atopmenu);    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Atopmenu);
1253    GtkTreeIter Liter;    GtkTreeIter Liter;
1254    gchar *Lident;    gchar *Lident;
1255    GtkNotebook *Llstclick = g_hash_table_lookup(Lhash, "_lstclicked"); /* dernier element ayant eu le focus */    GtkNotebook *Llstclick = sc_grave_get_data(Lg, "_lstclicked"); /* dernier element ayant eu le focus */
1256    GtkNotebook *Lnewclick;    GtkNotebook *Lnewclick;
1257    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(Atopmenu);    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(Atopmenu);
1258    
# Line 1370  void gtk_toggle_top_menu(GtkTreeView *At Line 1260  void gtk_toggle_top_menu(GtkTreeView *At
1260    
1261    gtk_tree_model_get(Ltreemodel, &Liter, 0, &Lident, -1);    gtk_tree_model_get(Ltreemodel, &Liter, 0, &Lident, -1);
1262    
1263    Lnewclick = g_hash_table_lookup(Lhash, Lident);    Lnewclick = sc_grave_get_data(Lg, Lident);
1264    if (GTK_IS_NOTEBOOK(Lnewclick)) {    if (GTK_IS_NOTEBOOK(Lnewclick)) {
1265        
1266      if (GTK_IS_NOTEBOOK(Llstclick)) {      if (GTK_IS_NOTEBOOK(Llstclick)) {
1267        gtk_widget_hide(GTK_WIDGET(Llstclick));        gtk_widget_hide(GTK_WIDGET(Llstclick));
1268      }      }
1269      g_hash_table_replace(Lhash, "_lstclicked", Lnewclick);      sc_grave_replace_data(Lg, "_lstclicked", Lnewclick);
1270    
1271      gtk_widget_show(GTK_WIDGET(Lnewclick));      gtk_widget_show(GTK_WIDGET(Lnewclick));
1272    
1273      /* pointeur sur la liste courante pour plus de simplicite */      /* pointeur sur la liste courante pour plus de simplicite */
1274      if (!strcmp(Lident, "bodycddata")) {      if (!strcmp(Lident, "bodycddata")) {
1275        g_hash_table_replace(Lhash, "_current_list", g_hash_table_lookup(Lhash, "LISTEDATA"));        sc_grave_replace_data(Lg, "_current_list", sc_grave_get_data(Lg, "LISTEDATA"));
1276      } else if (!strcmp(Lident, "bodydvddata")) {      } else if (!strcmp(Lident, "bodydvddata")) {
1277        g_hash_table_replace(Lhash, "_current_list", g_hash_table_lookup(Lhash, "LISTEDVDDATA"));        sc_grave_replace_data(Lg, "_current_list", sc_grave_get_data(Lg, "LISTEDVDDATA"));
1278      }      }
1279    }    }
1280            
# Line 1392  void gtk_toggle_top_menu(GtkTreeView *At Line 1282  void gtk_toggle_top_menu(GtkTreeView *At
1282  }  }
1283    
1284  /* status bar */  /* status bar */
1285  void update_status_bar_display(GHashTable *Ahash)  void update_status_bar_display(Tgrave *Ag)
1286  {  {
1287    gboolean Ldispsb = conf_get_boolean("statusbar");    gboolean Ldispsb = conf_get_boolean("statusbar");
1288    GtkWidget *Ldisp = g_hash_table_lookup(Ahash, "statusbar");    GtkWidget *Ldisp = sc_grave_get_widget(Ag, "statusbar");
1289    
1290    if (Ldispsb) {    if (Ldispsb) {
1291      gtk_widget_show(Ldisp);      gtk_widget_show(Ldisp);
# Line 1405  void update_status_bar_display(GHashTabl Line 1295  void update_status_bar_display(GHashTabl
1295  }  }
1296    
1297  /* mise a jour interface */  /* mise a jour interface */
1298  void manage_interface(GHashTable *Ahash, gint Aaction)  void manage_interface(Tgrave *Ag, gint Aaction)
1299  {  {
1300    GtkListStore *Lmodel;    GtkListStore *Lmodel;
1301    GtkTreeView *Ltopmenu = g_hash_table_lookup(Ahash, "topmenu");    GtkTreeView *Ltopmenu = 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;
# Line 1431  void manage_interface(GHashTable *Ahash, Line 1321  void manage_interface(GHashTable *Ahash,
1321      gtk_tree_view_append_column(GTK_TREE_VIEW(Ltopmenu), Lcell);      gtk_tree_view_append_column(GTK_TREE_VIEW(Ltopmenu), Lcell);
1322      Lcellrender = gtk_cell_renderer_pixbuf_new();      Lcellrender = gtk_cell_renderer_pixbuf_new();
1323    
1324      g_signal_connect(G_OBJECT(Ltopmenu), "cursor-changed", G_CALLBACK(gtk_toggle_top_menu), Ahash);      g_signal_connect(G_OBJECT(Ltopmenu), "cursor-changed", G_CALLBACK(gtk_toggle_top_menu), Ag);
1325    } else {    } else {
1326      Lmodel = GTK_LIST_STORE(gtk_tree_view_get_model(Ltopmenu));      Lmodel = GTK_LIST_STORE(gtk_tree_view_get_model(Ltopmenu));
1327      gtk_list_store_clear(Lmodel);      gtk_list_store_clear(Lmodel);
1328    }    }
1329    
1330    /* les icones en elles meme */    /* les icones en elles meme */
1331    prepare_menu_images(Ahash);    prepare_menu_images(Ag);
1332    
1333    gtk_list_store_append(Lmodel, &Liter);    gtk_list_store_append(Lmodel, &Liter);
1334    gtk_list_store_set(Lmodel, &Liter, 0, "bodycdaudio", 1, GMenuAudio, 2, _("Audio CD"), -1);    gtk_list_store_set(Lmodel, &Liter, 0, "bodycdaudio", 1, GMenuAudio, 2, _("Audio CD"), -1);
1335    gtk_tree_selection_select_iter(Lselection, &Liter);    gtk_tree_selection_select_iter(Lselection, &Liter);
1336    gtk_toggle_top_menu(Ltopmenu, Ahash);    gtk_toggle_top_menu(Ltopmenu, Ag);
1337    
1338    gtk_list_store_append(Lmodel, &Liter);    gtk_list_store_append(Lmodel, &Liter);
1339    gtk_list_store_set(Lmodel, &Liter, 0, "bodycddata", 1, GMenuData, 2, _("Data CD"), -1);    gtk_list_store_set(Lmodel, &Liter, 0, "bodycddata", 1, GMenuData, 2, _("Data CD"), -1);
# Line 1461  void manage_interface(GHashTable *Ahash, Line 1351  void manage_interface(GHashTable *Ahash,
1351    
1352    /* mise a jour combo "iso level" */    /* mise a jour combo "iso level" */
1353    if (Aaction & COMBO_UPDATE) {    if (Aaction & COMBO_UPDATE) {
1354      Lisolevel = g_hash_table_lookup(Ahash, "dataisolevel");      Lisolevel = sc_grave_get_widget(Ag, "dataisolevel");
1355      remplirecombo_full(Lisolevel, "", Gisolevel,      remplirecombo_full(Lisolevel, "", Gisolevel,
1356          TRUE, conf_get_string("dataisolevel"), conf_get_int("mkisofs_support_isov2"));          TRUE, conf_get_string("dataisolevel"), conf_get_int("mkisofs_support_isov2"));
1357    }    }
# Line 1469  void manage_interface(GHashTable *Ahash, Line 1359  void manage_interface(GHashTable *Ahash,
1359    
1360            
1361  /* preparation du combo contenant la liste du peripherique a utiliser */  /* preparation du combo contenant la liste du peripherique a utiliser */
1362  void prepare_combobox_graveur(GladeXML *Axml, GHashTable *Ahash, gchar *Abasename)  void prepare_combobox_graveur(Trave *Ag, gchar *Abasename)
1363  {  {
1364    GtkComboBox *Lcombobox = GTK_COMBO_BOX(glade_to_hashv(Axml, Ahash, "%scombo", Abasename));    GtkComboBox *Lcombobox = GTK_COMBO_BOX(sc_grave_get_widgetv(Ag, "%scombo", Abasename));
1365    if (GTK_IS_COMBO_BOX(Lcombobox)) {    if (GTK_IS_COMBO_BOX(Lcombobox)) {
1366      GtkListStore *Lmodel = gtk_list_store_new(4, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT);      GtkListStore *Lmodel = gtk_list_store_new(4, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT);
1367      GtkCellRenderer *Lcellrender;      GtkCellRenderer *Lcellrender;
1368      GtkWidget *Lbtniso = sc_glade_xml_get_widgetv(Axml, "%sbtn", Abasename);      GtkWidget *Lbtniso = sc_grave_get_widgetv(Ag, "%sbtn", Abasename);
1369    
1370      gtk_combo_box_set_model(Lcombobox, GTK_TREE_MODEL(Lmodel));      gtk_combo_box_set_model(Lcombobox, GTK_TREE_MODEL(Lmodel));
1371      Lcellrender = GTK_CELL_RENDERER(gtk_cell_renderer_pixbuf_new());      Lcellrender = GTK_CELL_RENDERER(gtk_cell_renderer_pixbuf_new());
# Line 1487  void prepare_combobox_graveur(GladeXML * Line 1377  void prepare_combobox_graveur(GladeXML *
1377      gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(Lcombobox), Lcellrender,      gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(Lcombobox), Lcellrender,
1378        "text", 2, NULL);        "text", 2, NULL);
1379    
1380      g_signal_connect(G_OBJECT(Lcombobox), "changed", G_CALLBACK(on_selectgraveur), Ahash);      g_signal_connect(G_OBJECT(Lcombobox), "changed", G_CALLBACK(on_selectgraveur), Ag);
1381        /* il y a peutetre un champ "image iso" associe a ce combo graveur */        /* il y a peutetre un champ "image iso" associe a ce combo graveur */
1382    
1383      if (GTK_IS_BUTTON(Lbtniso)) {      if (GTK_IS_BUTTON(Lbtniso)) {
1384        glade_to_hashv(Axml, Ahash, "%sbtnvalue", Abasename);        g_signal_connect(G_OBJECT(Lbtniso), "clicked", G_CALLBACK(gtk_file_sel), Ag);
       g_signal_connect(G_OBJECT(Lbtniso), "clicked", G_CALLBACK(gtk_file_sel), Ahash);  
1385      }      }
1386    }    }
1387  }  }
# Line 1919  void show_erasecdrwwindow(GHashTable *Ah Line 1808  void show_erasecdrwwindow(GHashTable *Ah
1808  }  }
1809    
1810  /* cloturer un cd */  /* cloturer un cd */
1811  void show_fixcdwindow(GHashTable *Ahash)  void show_fixcdwindow(Tgrave *Ag)
1812  {  {
1813    GtkWidget *Lwindow1 = g_hash_table_lookup(Ahash, "window");    GtkWidget *Lwindow1 = sc_grave_get_data(Ag, "window");
1814    GladeXML *Lxmlencours = create_window_encours(Lwindow1);    Tgrave *Lfixcdg = create_window_encours(Lwindow1);
1815    gint Lcont = 2;    gint Lcont = 2;
1816    gint Lpid;    gint Lpid;
1817    gboolean Loperationstatus = FALSE;    gboolean Loperationstatus = FALSE;
# Line 1984  void show_fixcdwindow(GHashTable *Ahash) Line 1873  void show_fixcdwindow(GHashTable *Ahash)
1873  }  }
1874    
1875  /* formater un dvd */  /* formater un dvd */
1876  void show_dvdformatwindow(GHashTable *Ahash, gchar *Atitle, Ttypeformatdvd Aoperation)  void show_dvdformatwindow(Tgrave *Ag, gchar *Atitle, Ttypeformatdvd Aoperation)
1877  {  {
1878    GtkWidget *Lwindow1 = g_hash_table_lookup(Ahash, "window");    GtkWidget *Lwindow1 = sc_grave_get_widget(Ag, "window");
1879    GladeXML *Lxmlencours = create_window_encours(Lwindow1);    Tgrave *Lformatdvdg = create_window_encours(Lwindow1);
1880    gint Lcont = 2;    gint Lcont = 2;
1881    gint Lpid;    gint Lpid;
1882    gboolean Loperationstatus = FALSE;    gboolean Loperationstatus = FALSE;
# Line 1996  void show_dvdformatwindow(GHashTable *Ah Line 1885  void show_dvdformatwindow(GHashTable *Ah
1885    GtkLabel *Llabel;    GtkLabel *Llabel;
1886    GtkWidget *Lcancel;    GtkWidget *Lcancel;
1887    GtkWidget *Lwin;    GtkWidget *Lwin;
   GHashTable *Lformatdvdhash = _hash();  
1888    GError *Lerror = NULL;    GError *Lerror = NULL;
1889    GtkWidget *Lstatusbox = NULL;    GtkWidget *Lstatusbox = NULL;
1890    
1891    Lwin = glade_xml_get_widget(Lxmlencours, "window_inprogress");    Lwin = sc_grave_get_widget(Lformatdvdg, "window_inprogress");
1892    Llabel = GTK_LABEL(glade_xml_get_widget(Lxmlencours, "labelava"));    Llabel = GTK_LABEL(sc_grave_get_widget(Lformatdvdg, "labelava"));
1893    gtk_label_set_text(Llabel, Atitle);    gtk_label_set_text(Llabel, Atitle);
1894    
1895        
1896    Lprogressbar = glade_xml_get_widget(Lxmlencours, "progress");    sc_grave_set_data(Lformatdvdg, &Lcont, "cont");
1897    g_hash_table_insert(Lformatdvdhash, "cont", &Lcont);    sc_grave_set_data(Lformatdvdg, &Lpid, "pid");
1898    g_hash_table_insert(Lformatdvdhash, "pid", &Lpid);    sc_grave_set_data(Lformatdvdg, &Labort, "gabort");
1899    g_hash_table_insert(Lformatdvdhash, "gabort", &Labort);    sc_grave_set_data(Lformatdvdg, &Lerror, "gerror");
1900    g_hash_table_insert(Lformatdvdhash, "gerror", &Lerror);    sc_grave_set_data(Lformatdvdg, &Loperationstatus, "operationstatus");
1901    g_hash_table_insert(Lformatdvdhash, "operationstatus", &Loperationstatus);    sc_grave_set_widget(Lformatdvdg, "dstothercombo", sc_grave_get_widget(Ag, "dstothercombo"));
   g_hash_table_insert(Lformatdvdhash, "labelava", Llabel);  
   g_hash_table_insert(Lformatdvdhash, "progress", Lprogressbar);  
   g_hash_table_insert(Lformatdvdhash, "dstothercombo", g_hash_table_lookup(Ahash, "dstothercombo"));  
1902    
1903    /* bouton annuler */    /* bouton annuler */
1904    Lcancel = glade_xml_get_widget(Lxmlencours, "cancelbtn");    g_signal_connect(G_OBJECT(sc_grave_get_widget(Lformatdvdg, "cancelbtn")), "clicked", G_CALLBACK(abort_encours), Lformatdvdg);
1905    g_signal_connect(G_OBJECT(Lcancel), "clicked", G_CALLBACK(abort_encours), Lformatdvdhash);    g_signal_connect(G_OBJECT(Lwin), "delete-event", G_CALLBACK(delete_event_encours), Lformatdvdg);
   g_signal_connect(G_OBJECT(Lwin), "delete-event", G_CALLBACK(delete_event_encours), Lformatdvdhash);  
1906    
1907    gtk_widget_show(Lwin);    gtk_widget_show(Lwin);
1908  //  g_timeout_add(500, encours_callback, Lformatdvdhash);  
1909    /* operation en elle meme */    /* operation en elle meme */
1910    perform_format_dvd(Lformatdvdhash, Aoperation, &Lerror);    perform_format_dvd(Lformatdvdg, Aoperation, &Lerror);
1911        
1912    if (Labort) {    if (Labort) {
1913      Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lwin),      Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lwin),
# Line 2042  void show_dvdformatwindow(GHashTable *Ah Line 1926  void show_dvdformatwindow(GHashTable *Ah
1926    gtk_widget_destroy(Lstatusbox);    gtk_widget_destroy(Lstatusbox);
1927        
1928    gtk_widget_destroy(Lwin);    gtk_widget_destroy(Lwin);
   g_hash_table_destroy(Lformatdvdhash);  
1929    
1930      sc_grave_destroy(Lformatdvdg);
1931      
1932    if (Lerror) g_error_free(Lerror);    if (Lerror) g_error_free(Lerror);
1933  }  }
1934    

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

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