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

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

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

revision 1.11 by scresto, Sat Feb 5 17:08:08 2005 UTC revision 1.12 by scresto, Sat Feb 5 17:31:48 2005 UTC
# Line 106  void _add_a_piste(gchar *Anom, GtkListSt Line 106  void _add_a_piste(gchar *Anom, GtkListSt
106  }  }
107    
108  /* callback appele pour l'ajout de chaques fichiers */  /* callback appele pour l'ajout de chaques fichiers */
109  void _add_a_file(gchar *Anom, GtkTreeStore *ATreeStore, GtkTreeIter *Aparent, GHashTable *Ahash)  void _add_a_file(gchar *Anom, GtkTreeStore *ATreeStore, GtkTreeIter *Aparent, GHashTable *Ahash, guint64 *Adatasize)
110  {  {
   guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Ahash, "datasize");  
111    GtkTreeIter Liter;    GtkTreeIter Liter;
112    gchar *LOnlyName;    gchar *LOnlyName;
113    struct stat Lfi;    struct stat Lfi;
# Line 151  void _add_a_file(gchar *Anom, GtkTreeSto Line 150  void _add_a_file(gchar *Anom, GtkTreeSto
150        if (!strcmp(Lcurfic->d_name, ".") || !strcmp(Lcurfic->d_name, "..")) continue;        if (!strcmp(Lcurfic->d_name, ".") || !strcmp(Lcurfic->d_name, "..")) continue;
151                    
152        Lfullname = g_strdup_printf("%s/%s", Anom, Lcurfic->d_name);        Lfullname = g_strdup_printf("%s/%s", Anom, Lcurfic->d_name);
153        _add_a_file(Lfullname, ATreeStore, &Liter, Ahash);        _add_a_file(Lfullname, ATreeStore, &Liter, Ahash, Adatasize);
154        g_free(Lfullname);        g_free(Lfullname);
155      }      }
156      closedir(Ldir);      closedir(Ldir);
# Line 166  void _add_a_file(gchar *Anom, GtkTreeSto Line 165  void _add_a_file(gchar *Anom, GtkTreeSto
165      g_free(Lnomutf8);      g_free(Lnomutf8);
166      g_free(Lonlynameutf8);      g_free(Lonlynameutf8);
167    
168      *(Ldatasize)=*(Ldatasize) + Lfi.st_size;      *(Adatasize)=*(Adatasize) + Lfi.st_size;
169    }    }
170  }  }
171    
# Line 174  void _add_a_file(gchar *Anom, GtkTreeSto Line 173  void _add_a_file(gchar *Anom, GtkTreeSto
173  void gtk_data_creerrepertoire(GtkWidget *btn, gpointer Adata)  void gtk_data_creerrepertoire(GtkWidget *btn, gpointer Adata)
174  {  {
175    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
176    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"));    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list"));
177    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste);    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste);
178    GtkTreeIter Liter, Lparent;    GtkTreeIter Liter, Lparent;
179    GtkWidget *Lboite, *Lentry;    GtkWidget *Lboite, *Lentry;
# Line 216  void gtk_data_creerrepertoire(GtkWidget Line 215  void gtk_data_creerrepertoire(GtkWidget
215  void gtk_data_expandelement(GtkWidget *btn, gpointer Adata)  void gtk_data_expandelement(GtkWidget *btn, gpointer Adata)
216  {  {
217    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
218    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"));    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list"));
219    GtkTreePath *Lpath = NULL;    GtkTreePath *Lpath = NULL;
220    
221    gtk_tree_view_get_cursor(Lliste, &Lpath, NULL);    gtk_tree_view_get_cursor(Lliste, &Lpath, NULL);
# Line 230  void gtk_data_expandelement(GtkWidget *b Line 229  void gtk_data_expandelement(GtkWidget *b
229  void gtk_data_renommerelement(GtkWidget *Abtn, gpointer Adata)  void gtk_data_renommerelement(GtkWidget *Abtn, gpointer Adata)
230  {  {
231    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
232    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"));    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list"));
233    GtkWidget *Lboite, *Lentry;    GtkWidget *Lboite, *Lentry;
234    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste);    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste);
235    GtkTreePath *Lpath = NULL;    GtkTreePath *Lpath = NULL;
# Line 343  void gtk_audio_removetrack(GtkWidget *Ab Line 342  void gtk_audio_removetrack(GtkWidget *Ab
342  }  }
343    
344  /* parcourir tous les fils d'un element et recuperer leur taille que l'on enleve de "cursize" */  /* parcourir tous les fils d'un element et recuperer leur taille que l'on enleve de "cursize" */
345  void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint32 *Acursize, GHashTable *Ahash);  void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint64 *Acursize, GHashTable *Ahash);
346  void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint32 *Acursize, GHashTable *Ahash)  void remove_children_size(GtkTreeModel *Atreedata, GtkTreeIter *Aiter, guint64 *Acursize, GHashTable *Ahash)
347  {  {
348    GtkTreeIter Lcuriter;    GtkTreeIter Lcuriter;
349    guint32 Lsizenbr = 0;    guint64 Lsizenbr = 0;
350    int Ltype;    int Ltype;
351    
352    if (gtk_tree_model_iter_children(Atreedata, &Lcuriter, Aiter)) {    if (gtk_tree_model_iter_children(Atreedata, &Lcuriter, Aiter)) {
# Line 390  void gtk_display_switchstatusbar(GtkWidg Line 389  void gtk_display_switchstatusbar(GtkWidg
389    update_status_bar_display(Lhash);    update_status_bar_display(Lhash);
390  }  }
391    
   
392  /* enlever des fichiers a graver */  /* enlever des fichiers a graver */
393  void gtk_data_removefiles(GtkWidget *Abtn, gpointer Adata)  void gtk_data_removefiles(GtkWidget *Abtn, gpointer Adata)
394  {  {
395    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
396    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"));    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list"));
397    GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));  //  gchar *Lprefix = (!strcmp(glade_get_widget_name(Lliste), "LISTEDATA") ? "data" : "dvddata");
398    guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize");    GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(sc_hash_table_lookupv(Lhash, "%ssizebar", Lprefix));
399    guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize");    guint64 *Ldatasize; // = (guint64 *)g_hash_table_lookup(Lhash, "%ssize", Lprefix);
400      guint64 *Ldatamaxsize; // = (guint64 *)g_hash_table_lookup(Lhash, "%smaxsize", Lprefix);
401    
402      _REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance);
403      
404    /* image de boot */    /* image de boot */
405  #if 0    #if 0  
406    GtkTreeIter *Literboot = g_hash_table_lookup(Lhash, "file_imageboot");    GtkTreeIter *Literboot = g_hash_table_lookup(Lhash, "file_imageboot");
407  #endif  #endif
   /* c'est en fait bien plus simple que cela maintenant que l'on  
    * ne peu selectionner qu'un seul fichier a la fois */  
408    GtkTreeModel *Ltreedata = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste));    GtkTreeModel *Ltreedata = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste));
409    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste));    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste));
410    GList *Lfiles = gtk_tree_selection_get_selected_rows(Lselection, &Ltreedata);    GList *Lfiles = gtk_tree_selection_get_selected_rows(Lselection, &Ltreedata);
411    GList *Lrefs = NULL;    GList *Lrefs = NULL;
412    GList *Lnode = NULL;    GList *Lnode = NULL;
413      gint Ltype;
414    guint32 Lsizenbr = 0;    guint32 Lsizenbr = 0;
415    GtkTreeIter Liter;    GtkTreeIter Liter;
416    gpointer Lproxy = g_object_newv(G_TYPE_OBJECT, 0, NULL);    gpointer Lproxy = g_object_newv(G_TYPE_OBJECT, 0, NULL);
# Line 427  void gtk_data_removefiles(GtkWidget *Abt Line 427  void gtk_data_removefiles(GtkWidget *Abt
427      if (Lpath) {      if (Lpath) {
428        gtk_tree_model_get_iter(Ltreedata, &Liter, Lpath);        gtk_tree_model_get_iter(Ltreedata, &Liter, Lpath);
429    
430        gtk_tree_model_get(Ltreedata, &Liter, 6, &Lsizenbr, -1);        gtk_tree_model_get(Ltreedata, &Liter, 0, &Ltype, 6, &Lsizenbr, -1);
431    
432        *Ldatasize-=Lsizenbr;        /* on enleve pas l'element racine */
433        g_assert((*Ldatasize) >= 0);        if (Ltype != TYPE_CD) {
434            *Ldatasize-=Lsizenbr;
435      /* suppresion icone "image cd de boot" */          g_assert((*Ldatasize) >= 0);
436  #if 0  
437      if (Literboot && !memcmp(&Liter, Literboot, sizeof(Liter))) {          /* on enleve la taille des eventuels enfants */
438  //printf("oui on efface Literboot!");                remove_children_size(Ltreedata, &Liter, Ldatasize, Lhash);
439        gtk_tree_iter_free(Literboot);  
440        g_hash_table_steal(Lhash, "file_imageboot");          gtk_tree_store_remove(GTK_TREE_STORE(Ltreedata), &Liter);
441      }          gtk_tree_row_reference_deleted(Lproxy, Lpath);
442  #endif          gtk_tree_path_free(Lpath);
443      /* on enleve la taille des eventuels enfants */        }
       remove_children_size(Ltreedata, &Liter, Ldatasize, Lhash);  
   
       gtk_tree_store_remove(GTK_TREE_STORE(Ltreedata), &Liter);  
       gtk_tree_row_reference_deleted(Lproxy, Lpath);  
       gtk_tree_path_free(Lpath);  
444      }      }
445      gtk_tree_row_reference_free(Lnode->data); /* No longer needed */      gtk_tree_row_reference_free(Lnode->data); /* No longer needed */
446    }    }
# Line 496  void gtk_audio_addtrack(GtkWidget *Abtn, Line 491  void gtk_audio_addtrack(GtkWidget *Abtn,
491  void gtk_data_adddirectory(GtkWidget *btn, gpointer Adata)  void gtk_data_adddirectory(GtkWidget *btn, gpointer Adata)
492  {  {
493    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
494    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"));    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list"));
495    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste));    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste));
496    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste));    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste));
497    GtkWidget *Lfilesel = create_adddirselection(NULL);    GtkWidget *Lfilesel = create_adddirselection(NULL);
498    GtkTreeIter Liter;    GtkTreeIter Liter;
499    GSList *Lfiles, *Lcur;    GSList *Lfiles, *Lcur;
500    GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));    GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));
501    guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize");    guint64 *Ldatasize; // = (guint32 *)g_hash_table_lookup(Lhash, "datasize");
502    guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize");    guint64 *Ldatamaxsize; // = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize");
503    gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection);    gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection);
504    GtkTreePath *Lpath = NULL;    GtkTreePath *Lpath = NULL;
505    
506      _REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance);
507    
508    /* focus sur le premier element si pas de focus */    /* focus sur le premier element si pas de focus */
509    if (!Lnumsel) {    if (!Lnumsel) {
510      if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return;      if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return;
# Line 530  void gtk_data_adddirectory(GtkWidget *bt Line 527  void gtk_data_adddirectory(GtkWidget *bt
527      Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel));      Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel));
528                    
529      for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) {      for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) {
530        _add_a_file((gchar *) Lcur->data, (GtkTreeStore *)Ltreemodel, &Liter, Lhash);        _add_a_file((gchar *) Lcur->data, (GtkTreeStore *)Ltreemodel, &Liter, Lhash, Ldatasize);
531    
532      }      }
533      g_slist_free(Lfiles);      g_slist_free(Lfiles);
# Line 550  void gtk_data_adddirectory(GtkWidget *bt Line 547  void gtk_data_adddirectory(GtkWidget *bt
547  void gtk_data_addfile(GtkWidget *btn, gpointer Adata)  void gtk_data_addfile(GtkWidget *btn, gpointer Adata)
548  {  {
549    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
550    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"));    GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list"));
551    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste));    GtkTreeSelection *Lselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(Lliste));
552    guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize");    guint64 *Ldatasize; // = (guint32 *)g_hash_table_lookup(Lhash, "datasize");
553    guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize");    guint64 *Ldatamaxsize; // = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize");
554    GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));    GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));
555    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste));    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste));
556    GtkWidget *Lfilesel = create_addfileselection(NULL);    GtkWidget *Lfilesel = create_addfileselection(NULL);
557    GtkTreeIter Liter;    GtkTreeIter Liter;
# Line 562  void gtk_data_addfile(GtkWidget *btn, gp Line 559  void gtk_data_addfile(GtkWidget *btn, gp
559    gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection);    gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection);
560    GtkTreePath *Lpath = NULL;    GtkTreePath *Lpath = NULL;
561    
562      _REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance);
563    
564        printf("2= ca le fais ? UINT [%d]\n", (guint32) *Ldatasize);
565      if (GTK_IS_WIDGET(Lcontenance)) {
566        printf("2= ici ca le fais\n");
567      }
568    
569    /* focus sur le premier element si pas de focus */    /* focus sur le premier element si pas de focus */
570    if (!Lnumsel) {    if (!Lnumsel) {
571      if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return;      if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return;
# Line 582  void gtk_data_addfile(GtkWidget *btn, gp Line 586  void gtk_data_addfile(GtkWidget *btn, gp
586      save_last_dir(GTK_FILE_CHOOSER(Lfilesel));      save_last_dir(GTK_FILE_CHOOSER(Lfilesel));
587    
588      Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel));      Lfiles = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(Lfilesel));
589            printf("ici tout va bien !!!!\n");      
590      for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) {      for (Lcur = Lfiles; Lcur && Lcur->data; Lcur = Lcur->next) {
591        _add_a_file((gchar *) Lcur->data, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash);        _add_a_file((gchar *) Lcur->data, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash, Ldatasize);
592    
593      }      }
594    printf("ici fin de tout va bien !!!!\n");      
595      g_slist_free(Lfiles);      g_slist_free(Lfiles);
596    
597      if ((Lpath = gtk_tree_model_get_path(Ltreemodel, &Liter))) {      if ((Lpath = gtk_tree_model_get_path(Ltreemodel, &Liter))) {
# Line 596  void gtk_data_addfile(GtkWidget *btn, gp Line 601  void gtk_data_addfile(GtkWidget *btn, gp
601    }    }
602    gtk_widget_destroy(Lfilesel);    gtk_widget_destroy(Lfilesel);
603    
604    printf("switch !!!!\n");
605    if (GTK_IS_WIDGET(Lcontenance)) {
606      printf("pre switch ok\n");
607    }
608    switch_pbar_status(Lcontenance, *Ldatamaxsize, *Ldatasize, PB_UPDATE_DATA);    switch_pbar_status(Lcontenance, *Ldatamaxsize, *Ldatasize, PB_UPDATE_DATA);
609  }  }
610    
# Line 987  void confirm_burn (GtkWidget *Abtn, gpoi Line 996  void confirm_burn (GtkWidget *Abtn, gpoi
996    GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow"));    GtkWidget *Lwindow1 = GTK_WIDGET(g_hash_table_lookup(Lhash, "topwindow"));
997    GtkWidget *Ldevice;    GtkWidget *Ldevice;
998    gboolean Lwritercdrw;    gboolean Lwritercdrw;
999      Ttypeoperation Loperation = WRITE_CD;
1000    
1001    Lname = gtk_widget_get_name(Abtn);    Lname = gtk_widget_get_name(Abtn);
1002    
# Line 1010  void confirm_burn (GtkWidget *Abtn, gpoi Line 1020  void confirm_burn (GtkWidget *Abtn, gpoi
1020      Ltxt = _("Do you really want to create an audio cd ?");      Ltxt = _("Do you really want to create an audio cd ?");
1021      Ltitle = _("Writing audio cd in progress...");      Ltitle = _("Writing audio cd in progress...");
1022      Ldevice = g_hash_table_lookup(Lhash, "dstaudiocombo");      Ldevice = g_hash_table_lookup(Lhash, "dstaudiocombo");
1023    } else if (g_str_has_prefix(Lname, "btnburndata")) {    } else if (g_str_has_prefix(Lname, "btnburndata") || g_str_has_prefix(Lname, "btnburndvddata")) {
1024      GtkTreeIter Liter;      GtkTreeIter Liter;
1025      GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")));      GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list")));
1026      /* gravure cd de donnee, on verifie qu'il y ai au      /* gravure cd de donnee, on verifie qu'il y ai au
1027       * moins un fichier/repertoire dans la liste */       * moins un fichier/repertoire dans la liste */
1028    
1029        if (g_str_has_prefix(Lname, "btnburndvddata")) {
1030          Loperation = WRITE_DVD;
1031        }
1032        
1033      if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter) ||      if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter) ||
1034          !gtk_tree_model_iter_has_child(Ltreemodel, &Liter)) {          !gtk_tree_model_iter_has_child(Ltreemodel, &Liter)) {
1035    
# Line 1027  void confirm_burn (GtkWidget *Abtn, gpoi Line 1041  void confirm_burn (GtkWidget *Abtn, gpoi
1041        gtk_widget_destroy(Lconfirm);        gtk_widget_destroy(Lconfirm);
1042        return;        return;
1043      }      }
1044      Ltxt = _("Do you really want to create a data cd ?");  
1045      Ltitle = _("Writing data cd in progress...");      if (Loperation == WRITE_CD) {
1046      Ldevice = g_hash_table_lookup(Lhash, "dstdatacombo");        Ltxt = _("Do you really want to create a data cd ?");
1047          Ltitle = _("Writing data cd in progress...");
1048          Ldevice = g_hash_table_lookup(Lhash, "dstdatacombo");
1049        } else {
1050          Ltxt = _("Do you really want to create a data dvd ?");
1051          Ltitle = _("Writing data dvd in progress...");
1052        }
1053    } else {    } else {
1054      /* copie de cd */      /* copie de cd */
1055      Ltxt = _("Do you really want to start the copy ?");      Ltxt = _("Do you really want to start the copy ?");
# Line 1038  void confirm_burn (GtkWidget *Abtn, gpoi Line 1058  void confirm_burn (GtkWidget *Abtn, gpoi
1058    }    }
1059    
1060    /* confirmation debut de l'operation */    /* confirmation debut de l'operation */
1061    /* on affiche l'option "effacer le CDRW que lorsque c'est un graveur qui le permet .. */  
1062    Lwritercdrw = DRIVE_CDRW_WRITER(get_drive_cmb(GTK_COMBO_BOX(Ldevice))) ? TRUE : FALSE;    if (Loperation == WRITE_CD) {
1063    Ldialoghash = create_dialog_confirm_operation(Lwindow1, Ltxt,      /* on affiche l'option "effacer le CDRW que lorsque c'est un graveur qui le permet .. */
1064        Lwritercdrw = DRIVE_CDRW_WRITER(get_drive_cmb(GTK_COMBO_BOX(Ldevice))) ? TRUE : FALSE;
1065        Ldialoghash = create_dialog_confirm_operation(Lwindow1, Ltxt,
1066         Lwritercdrw == TRUE ? _("Blank CD-RW before writing") : NULL, conf_get_boolean("autoblank"));         Lwritercdrw == TRUE ? _("Blank CD-RW before writing") : NULL, conf_get_boolean("autoblank"));
1067      } else {
1068        /* confirmation gravure dvd */
1069        Ldialoghash = create_dialog_select_dvdoperation(Lwindow1);
1070      }
1071    Lconfirm = g_hash_table_lookup(Ldialoghash, "window");    Lconfirm = g_hash_table_lookup(Ldialoghash, "window");
1072    
1073    Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm));    Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm));
1074    
1075    if (Lrep == GTK_RESPONSE_YES) {    if (Lrep == GTK_RESPONSE_YES) {
1076      /* ok go ! */      /* ok go ! */
1077      GtkCheckButton *Labcheck = GTK_CHECK_BUTTON(g_hash_table_lookup(Ldialoghash, "checkbox"));      if (Loperation == WRITE_CD) {
1078          GtkCheckButton *Labcheck = GTK_CHECK_BUTTON(g_hash_table_lookup(Ldialoghash, "checkbox"));
1079    
1080          g_assert(GTK_IS_WIDGET(Labcheck));
1081          if (Lwritercdrw == TRUE) {
1082            Luseautoblank = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labcheck));
1083          }
1084        } else {
1085    
     g_assert(GTK_IS_WIDGET(Labcheck));  
     if (Lwritercdrw == TRUE) {  
       Luseautoblank = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labcheck));  
1086      }      }
1087    
1088      gtk_widget_destroy(Lconfirm);      gtk_widget_destroy(Lconfirm);
# Line 1118  gboolean gtk_do_eventbuttonpress(GtkWidg Line 1148  gboolean gtk_do_eventbuttonpress(GtkWidg
1148        const gchar *Lname = glade_get_widget_name(Aliste);        const gchar *Lname = glade_get_widget_name(Aliste);
1149        if (!strcmp(Lname, "LISTEDATA")) {        if (!strcmp(Lname, "LISTEDATA")) {
1150          view_popupmenu_addfile(Aliste, Aevent, Adata);          view_popupmenu_addfile(Aliste, Aevent, Adata);
1151          } else if (!strcmp(Lname, "LISTEDVDDATA")) {
1152            view_popupmenu_addfile(Aliste, Aevent, Adata);
1153        } else if (!strcmp(Lname, "LISTEAUDIO")) {        } else if (!strcmp(Lname, "LISTEAUDIO")) {
1154          view_popupmenu_addaudio(Aliste, Aevent, Adata);          view_popupmenu_addaudio(Aliste, Aevent, Adata);
1155        } else if (!strcmp(Lname, "periphdata")) {        } else if (!strcmp(Lname, "periphdata")) {
# Line 1223  void menu_active_panel(GtkWidget *Amenui Line 1255  void menu_active_panel(GtkWidget *Amenui
1255  void switchpage(GtkNotebook *Anotebook, GtkNotebookPage *Anotebookpage, guint Apagenum, gpointer Adata)  void switchpage(GtkNotebook *Anotebook, GtkNotebookPage *Anotebookpage, guint Apagenum, gpointer Adata)
1256  {  {
1257    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
1258    GtkWidget *Ldatavoli = g_hash_table_lookup(Lhash, "datavoli");    GtkWidget *Ldatavoli;
1259    GtkTreeModel *LTreeModel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")));    GtkTreeModel *Ltreemodel;
1260    GtkTreeIter Liter;    GtkTreeIter Liter;
1261    gchar *Lnom;    gchar *Lnom;
1262        
1263    if (Apagenum != 0 && Apagenum != 2) return;    if (Apagenum != 0 && Apagenum != 2) return;
1264    
1265      if (!strcmp(glade_get_widget_name(GTK_WIDGET(Anotebook)), "bodydata")) {
1266        Ldatavoli = g_hash_table_lookup(Lhash, "datavoli");
1267        Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA")));
1268      } else {
1269        Ldatavoli = g_hash_table_lookup(Lhash, "dvddatavoli");
1270        Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDVDDATA")));
1271      }
1272    
1273    
1274      
1275    /* il devrait normalement toujours y avoir une entree dans la liste, au moins le nom du cd ! */    /* il devrait normalement toujours y avoir une entree dans la liste, au moins le nom du cd ! */
1276    if (!gtk_tree_model_get_iter_first(LTreeModel, &Liter)) return;    if (!gtk_tree_model_get_iter_first(Ltreemodel, &Liter)) return;
1277    
1278    gtk_tree_model_get(LTreeModel, &Liter, 2, &Lnom, -1);    gtk_tree_model_get(Ltreemodel, &Liter, 2, &Lnom, -1);
1279    if (Apagenum == 2) {    if (Apagenum == 2) {
1280      /* mise a jour du champ "Nom du volume" */      /* mise a jour du champ "Nom du volume" */
1281      gtk_entry_set_text(GTK_ENTRY(Ldatavoli), Lnom);      gtk_entry_set_text(GTK_ENTRY(Ldatavoli), Lnom);
1282    } else if (Apagenum == 0) {    } else if (Apagenum == 0) {
1283      /* mise a jour de l'entre contenant le nom du volume */      /* mise a jour de l'entre contenant le nom du volume */
1284      gtk_tree_store_set(GTK_TREE_STORE(LTreeModel), &Liter, 2, gtk_entry_get_text(GTK_ENTRY(Ldatavoli)), -1);      gtk_tree_store_set(GTK_TREE_STORE(Ltreemodel), &Liter, 2, gtk_entry_get_text(GTK_ENTRY(Ldatavoli)), -1);
1285    }    }
1286    
1287    g_free(Lnom);    g_free(Lnom);
# Line 1468  void change_remplissage(GtkWidget *Acomb Line 1511  void change_remplissage(GtkWidget *Acomb
1511    const gchar *Lname = glade_get_widget_name(Acombo);    const gchar *Lname = glade_get_widget_name(Acombo);
1512    gchar *Lvalue = get_combo_value(Acombo);    gchar *Lvalue = get_combo_value(Acombo);
1513    GtkProgressBar *Lcontenance;    GtkProgressBar *Lcontenance;
1514    guint32 *Lmaxlen;    guint64 *Lmaxlen;
1515    guint32 *Llen;    guint64 *Llen;
1516    
1517    if (!strcmp(Lname, "listeremplidata")) {    if (!strcmp(Lname, "listeremplidata")) {  /* cd data */
1518      Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));      Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));
1519      Lmaxlen = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize");      Lmaxlen = (guint64 *)g_hash_table_lookup(Lhash, "datamaxsize");
1520      Llen = (guint32 *)g_hash_table_lookup(Lhash, "datasize");      Llen = (guint64 *)g_hash_table_lookup(Lhash, "datasize");
1521      (*Lmaxlen) = strtoul(Lvalue, NULL, 10) * 1024 * 1024;      (*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10) * 1024 * 1024;
1522    } else {    } else if (!strcmp(Lname, "listeremplidvddata")) {  /* dvd data */
1523        Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "dvddatasizebar"));
1524        Lmaxlen = (guint64 *)g_hash_table_lookup(Lhash, "dvddatamaxsize");
1525        Llen = (guint64 *)g_hash_table_lookup(Lhash, "dvddatasize");
1526        (*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10) * 1024 * 1024;
1527        
1528      } else {  /* cd audio */
1529      Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar"));      Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar"));
1530      Lmaxlen = (guint32 *)g_hash_table_lookup(Lhash, "audiomaxlen");      Lmaxlen = (guint64 *)g_hash_table_lookup(Lhash, "audiomaxlen");
1531      Llen = (guint32 *)g_hash_table_lookup(Lhash, "audiolen");      Llen = (guint64 *)g_hash_table_lookup(Lhash, "audiolen");
1532      (*Lmaxlen) = strtoul(Lvalue, NULL, 10);      (*Lmaxlen) = (unsigned long long)strtoul(Lvalue, NULL, 10);
1533    }    }
1534    
1535    switch_pbar_status(Lcontenance, *Lmaxlen, *Llen, PB_NONE);    switch_pbar_status(Lcontenance, *Lmaxlen, *Llen, PB_NONE);
# Line 1491  void audio_dnd_data_received (GtkWidget Line 1540  void audio_dnd_data_received (GtkWidget
1540  {  {
1541    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
1542    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste));    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste));
1543    guint32 *Laudiolen = (guint32 *)g_hash_table_lookup(Lhash, "audiolen");    guint64 *Laudiolen = (guint64 *)g_hash_table_lookup(Lhash, "audiolen");
1544    guint32 *Laudiomaxlen = (guint32 *)g_hash_table_lookup(Lhash, "audiomaxlen");    guint64 *Laudiomaxlen = (guint64 *)g_hash_table_lookup(Lhash, "audiomaxlen");
1545    GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar"));    GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "audiolenbar"));
1546    
1547    if ((Aseldata->length >= 0) && (Aseldata->format == 8))    if ((Aseldata->length >= 0) && (Aseldata->format == 8))
# Line 1551  void audio_dnd_data_received (GtkWidget Line 1600  void audio_dnd_data_received (GtkWidget
1600  void data_dnd_data_received (GtkWidget *Aliste, GdkDragContext *Acontext, gint Ax, gint Ay, GtkSelectionData *Aseldata, guint Ainfo, guint Atime, gpointer Adata)  void data_dnd_data_received (GtkWidget *Aliste, GdkDragContext *Acontext, gint Ax, gint Ay, GtkSelectionData *Aseldata, guint Ainfo, guint Atime, gpointer Adata)
1601  {  {
1602    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
1603    guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize");    guint64 *Ldatasize; // = (guint64 *)g_hash_table_lookup(Lhash, "datasize");
1604    guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize");    guint64 *Ldatamaxsize; // = (guint64 *)g_hash_table_lookup(Lhash, "datamaxsize");
1605    GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));    GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));
1606    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste));    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste));
1607    
1608      _REMPLISSAGE_VALUE(Lhash, Aliste, Ldatasize, Ldatamaxsize, Lcontenance);
1609    
1610    if ((Aseldata->length >= 0) && (Aseldata->format == 8))    if ((Aseldata->length >= 0) && (Aseldata->format == 8))
1611    {    {
1612      gchar *Lunfic;      gchar *Lunfic;
# Line 1582  void data_dnd_data_received (GtkWidget * Line 1633  void data_dnd_data_received (GtkWidget *
1633    
1634        Lfilename = g_filename_from_uri(Lunfic, NULL, NULL);        Lfilename = g_filename_from_uri(Lunfic, NULL, NULL);
1635    
1636        _add_a_file(Lfilename, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash);        _add_a_file(Lfilename, GTK_TREE_STORE(Ltreemodel), &Liter, Lhash, Ldatasize);
1637                
1638        g_free(Lfilename);        g_free(Lfilename);
1639      }      }
# Line 1720  void menu_start_new(GtkMenuItem *Amenuit Line 1771  void menu_start_new(GtkMenuItem *Amenuit
1771      gtk_list_store_clear(GTK_LIST_STORE(Ltreemodel));      gtk_list_store_clear(GTK_LIST_STORE(Ltreemodel));
1772      switch_pbar_status(Lcontenance, *Laudiomaxlen, *Laudiolen, PB_UPDATE_AUDIO);      switch_pbar_status(Lcontenance, *Laudiomaxlen, *Laudiolen, PB_UPDATE_AUDIO);
1773    
1774    } else if (!strcmp(Lname, "bodycddata")) {    } else if (!strcmp(Lname, "bodycddata") || !strcmp(Lname, "bodydvddata")) {
1775      /* on est sur l'onglet cd data, on vide la liste */      /* on est sur l'onglet cd data, on vide la liste */
1776      GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "LISTEDATA"));      GtkTreeView *Lliste = GTK_TREE_VIEW(g_hash_table_lookup(Lhash, "_current_list"));
1777      GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste));      GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste));
1778      GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));      GtkProgressBar *Lcontenance; // = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "datasizebar"));
1779      guint32 *Ldatasize = (guint32 *)g_hash_table_lookup(Lhash, "datasize");      guint64 *Ldatasize; // = (guint32 *)g_hash_table_lookup(Lhash, "datasize");
1780      guint32 *Ldatamaxsize = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize");      guint64 *Ldatamaxsize; // = (guint32 *)g_hash_table_lookup(Lhash, "datamaxsize");
1781      GtkTreeIter Liter;      GtkTreeIter Liter;
1782  #if 0        
1783      = g_hash_table_lookup(Lhash, "file_imageboot");      _REMPLISSAGE_VALUE(Lhash, Lliste, Ldatasize, Ldatamaxsize, Lcontenance);
1784  #endif  
1785      (*Ldatasize) = 0;      (*Ldatasize) = 0;
1786    
1787      gtk_tree_store_clear(GTK_TREE_STORE(Ltreemodel));      gtk_tree_store_clear(GTK_TREE_STORE(Ltreemodel));
1788      /* icone de base dans la liste des fichiers */      /* icone de base dans la liste des fichiers */
1789      gtk_tree_store_append(GTK_TREE_STORE(Ltreemodel), &Liter, NULL);      gtk_tree_store_append(GTK_TREE_STORE(Ltreemodel), &Liter, NULL);
1790      gtk_tree_store_set(GTK_TREE_STORE(Ltreemodel), &Liter, 0, TYPE_CD, 1, GCDpetiteIcone, 2, _("New CD"), 3, "", 4, "", 5, 0, -1);      gtk_tree_store_set(GTK_TREE_STORE(Ltreemodel), &Liter, 0, TYPE_CD, 1, GCDpetiteIcone, 2,
1791            !strcmp(Lname, "bodycddata") ? _("New CD") : _("New DVD"), 3, "", 4, "", 5, 0, -1);
1792            switch_pbar_status(Lcontenance, *Ldatamaxsize, *Ldatasize, PB_UPDATE_DATA);
     switch_pbar_status(Lcontenance, *Ldatamaxsize, *Ldatasize, PB_UPDATE_AUDIO);  
 #if 0  
     if (Liter) {  
       gtk_tree_iter_free(Liter);  
       g_hash_table_steal(Lhash, "file_imageboot");  
     }  
 #endif  
1793    }    }
1794    
1795    g_free(Lname);    g_free(Lname);
1796  }  }
1797    
1798  /* definir/enlever l'image de boot */  /* definir/enlever l'image de boot */
1799    #if 0
1800  void gtk_def_imageboot(GtkWidget *Abtn, gpointer Adata)  void gtk_def_imageboot(GtkWidget *Abtn, gpointer Adata)
1801  {  {
1802    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
# Line 1772  void gtk_def_imageboot(GtkWidget *Abtn, Line 1817  void gtk_def_imageboot(GtkWidget *Abtn,
1817    
1818    g_hash_table_replace(Lhash, "file_imageboot", gtk_tree_iter_copy(&Lnewiter));    g_hash_table_replace(Lhash, "file_imageboot", gtk_tree_iter_copy(&Lnewiter));
1819  }  }
1820    #endif
1821    
1822  /*  /*
1823   * vim:et:ts=8:sts=2:sw=2   * vim:et:ts=8:sts=2:sw=2

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

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