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 |
|
|
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); |
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 |
|
|
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 { |
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); |
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)); |
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); |
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 { |
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 { |
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 { |
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); |
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); |
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); |
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 */ |
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), |
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 |
|
|
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); |
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); |
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; |
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) { |
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); |
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; |
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; |
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; |
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); |
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 |
|
|
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 |
|
|
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); |
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; |
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); |
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 |
} |
} |
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()); |
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 |
} |
} |
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; |
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; |
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), |
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 |
|
|