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 |
{ |
{ |
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; |
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 |
{ |
{ |
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 */ |
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)) { |
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, '='); |