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

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

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

revision 1.19 by scresto, Sat Feb 26 16:15:40 2005 UTC revision 1.20 by scresto, Sun Feb 27 03:34:11 2005 UTC
# Line 133  void foreachmedia(gpointer Amedia, gpoin Line 133  void foreachmedia(gpointer Amedia, gpoin
133    fprintf(Lfic, "audiolabel=%s\n", Amediaentry->labelaudio);    fprintf(Lfic, "audiolabel=%s\n", Amediaentry->labelaudio);
134  }  }
135    
136    /* callback ecriture d'un charset */
137    void foreachcharsets(gpointer Acharset, gpointer Adata)
138    {
139      FILE *Lfic = (FILE *) Adata;
140      Tdata *Lcharset = (Tdata *) Acharset;
141    
142      fprintf(Lfic, "[charsets]\n");
143      fprintf(Lfic, "code=%s\n", Lcharset->data);
144      fprintf(Lfic, "label=%s\n", Lcharset->label);
145    }
146    
147  /* callback ecriture d'un lecteur */  /* callback ecriture d'un lecteur */
148  void foreachdrives(gpointer Adrive, gpointer Adata)  void foreachdrives(gpointer Adrive, gpointer Adata)
149  {  {
# Line 173  gboolean write_conf(GError **Aerror) Line 184  gboolean write_conf(GError **Aerror)
184    g_hash_table_foreach(Gconfigprog, foreachconfig, (gpointer *)(Lfic));    g_hash_table_foreach(Gconfigprog, foreachconfig, (gpointer *)(Lfic));
185        
186    /* ecriture des lecteurs */    /* ecriture des lecteurs */
   
187    g_slist_foreach(Glistdrives, foreachdrives, (gpointer *)(Lfic));    g_slist_foreach(Glistdrives, foreachdrives, (gpointer *)(Lfic));
188    
189      /* ecriture des charsets */
190      g_slist_foreach(Gcharsetlist, foreachcharsets, (gpointer *)(Lfic));
191    
192    fclose(Lfic);    fclose(Lfic);
193    
194    return TRUE;    return TRUE;
# Line 331  gint config_find_media_callback(gconstpo Line 344  gint config_find_media_callback(gconstpo
344    return -1;    return -1;
345  }  }
346    
347    /* ajout d'un charset a  la liste des charsets */
348    gboolean config_append_charset(gchar *Acode, gchar *Alabel)
349    {
350      Tdata *Lnewcharset = g_malloc(sizeof(Tdata));
351    
352      Lnewcharset->data = g_strdup(Acode);
353      Lnewcharset->label = g_strdup(Alabel && *Alabel ? Alabel : Acode);
354    
355      Gcharsetlist = g_slist_append(Gcharsetlist, Lnewcharset);
356    
357      return TRUE;
358    }
359    
360  /* ajout d'un media a la liste des media */  /* ajout d'un media a la liste des media */
361  gboolean config_append_media(gulong Alen, gchar *Alabeldata, gchar *Alabelaudio)  gboolean config_append_media(gulong Alen, gchar *Alabeldata, gchar *Alabelaudio)
362  {  {
# Line 419  gboolean manage_config(Tgrave *Ag, gshor Line 445  gboolean manage_config(Tgrave *Ag, gshor
445      cherchelecteur(NULL, Ag);      cherchelecteur(NULL, Ag);
446    }    }
447    
448      if (Aop & SEARCH_CHARSETS) {
449        /* scan des charsets definie dans mkisofs */
450        cherchecharset(NULL, Ag);
451      }
452    
453    if (Aop & UPDATE_SIZE && GTK_IS_WIDGET(Lwindow1)) {    if (Aop & UPDATE_SIZE && GTK_IS_WIDGET(Lwindow1)) {
454      gint Lx = 0, Ly = 0, Lwidth = 0, Lheight = 0;      gint Lx = 0, Ly = 0, Lwidth = 0, Lheight = 0;
455      /* mise a jour position et taille de la fenetre */      /* mise a jour position et taille de la fenetre */
# Line 497  gboolean read_config(GError **Aerror) Line 528  gboolean read_config(GError **Aerror)
528    gchar *Lkey, *Lvalue;    gchar *Lkey, *Lvalue;
529    gchar **Llignes;    gchar **Llignes;
530    gchar *Luneligne;    gchar *Luneligne;
531    gchar Lemplacement[50] = "";    gchar Lemplacement[_BUF_SIZE] = "";
532    gint i;    gint i;
533    gulong Lmedialen = 0;    gulong Lmedialen = 0;
534    gchar Lmedialabeldata[50];    gchar Lmedialabeldata[_BUF_SIZE] = "", Lcharsetcode[_BUF_SIZE] = "";
535    gchar Lmedialabelaudio[50];    gchar Lmedialabelaudio[_BUF_SIZE] = "", Lcharsetlabel[_BUF_SIZE] = "";
536    Tdriveinfo *Ldriveinfo = NULL;    Tdriveinfo *Ldriveinfo = NULL;
537    
538    if (!g_file_get_contents(Gfileconf, &Lcontents, NULL, Aerror)) {    if (!g_file_get_contents(Gfileconf, &Lcontents, NULL, Aerror)) {
# Line 537  gboolean read_config(GError **Aerror) Line 568  gboolean read_config(GError **Aerror)
568        Lkey = Luneligne;        Lkey = Luneligne;
569    
570        g_hash_table_insert(Gconfigprog, g_strdup(Lkey), g_strdup(Lvalue));        g_hash_table_insert(Gconfigprog, g_strdup(Lkey), g_strdup(Lvalue));
571        } else if (!strcmp(Lemplacement, "[charsets]")) {
572          /* section charsets */
573          Lvalue = strchr(Luneligne, '=');
574          if (Lvalue) { *(Lvalue++)=0; } else { continue; }
575          Lkey = Luneligne;
576    
577          if (!strcmp(Lkey, "code")) {
578            g_strlcpy(Lcharsetcode, Lvalue, sizeof(Lcharsetcode)-1);
579          } else if (!strcmp(Lkey, "label")) {
580            g_strlcpy(Lcharsetlabel, Lvalue, sizeof(Lcharsetlabel)-1);
581          }
582    
583          if (*Lcharsetcode && *Lcharsetlabel) {
584            config_append_charset(Lcharsetcode, Lcharsetlabel);
585    
586            *Lcharsetcode = *Lcharsetlabel = 0;
587          }
588      } else if (!strcmp(Lemplacement, "[media]")) {      } else if (!strcmp(Lemplacement, "[media]")) {
589        /* section liste des medias */        /* section liste des medias */
590        Lvalue = strchr(Luneligne, '=');        Lvalue = strchr(Luneligne, '=');

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.20

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