171 |
fprintf(Lfic, "[general]\n"); |
fprintf(Lfic, "[general]\n"); |
172 |
fprintf(Lfic, "confversion=%s\n", VERSION); |
fprintf(Lfic, "confversion=%s\n", VERSION); |
173 |
g_hash_table_foreach(Gconfigprog, foreachconfig, (gpointer *)(Lfic)); |
g_hash_table_foreach(Gconfigprog, foreachconfig, (gpointer *)(Lfic)); |
|
|
|
|
/* g_slist_foreach(Gmedialist, foreachmedia, (gpointer *)(fic)); */ |
|
174 |
|
|
175 |
/* ecriture des lecteurs */ |
/* ecriture des lecteurs */ |
176 |
|
|
352 |
|
|
353 |
/* savegarde de la valeur de certains champs du formulaire lorsque |
/* savegarde de la valeur de certains champs du formulaire lorsque |
354 |
* l'option "save on exit" est active */ |
* l'option "save on exit" est active */ |
355 |
void manage_saveonexit_value(GHashTable *Ahash) |
void manage_saveonexit_value(Tgrave *Ag) |
356 |
{ |
{ |
357 |
TProgRequis *Lcurentry; |
TProgRequis *Lcurentry; |
358 |
GtkWidget *Lwidget; |
GtkWidget *Lwidget; |
359 |
|
|
360 |
for (Lcurentry = Glisteprogrequis; Lcurentry->entry; Lcurentry++) { |
for (Lcurentry = Glisteprogrequis; Lcurentry->entry; Lcurentry++) { |
361 |
if (!(Lcurentry->level & CONF_SAVEONEXIT)) continue; |
if (!(Lcurentry->level & CONF_SAVEONEXIT)) continue; |
362 |
Lwidget = g_hash_table_lookup(Ahash, Lcurentry->entry); |
Lwidget = sc_grave_get_widget(Ag, Lcurentry->entry); |
363 |
|
|
364 |
if (!GTK_IS_WIDGET(Lwidget)) { |
if (!GTK_IS_WIDGET(Lwidget)) { |
365 |
g_warning("Error %s is missing!", Lcurentry->entry); |
g_warning("Error %s is missing!", Lcurentry->entry); |
378 |
} |
} |
379 |
|
|
380 |
/* gestion de la configuration (creation/chargement/sauvegarde...) */ |
/* gestion de la configuration (creation/chargement/sauvegarde...) */ |
381 |
gboolean manage_config(GHashTable *Ahash, gshort Aop, GError **Aerror) |
gboolean manage_config(Tgrave *Ag, gshort Aop, GError **Aerror) |
382 |
{ |
{ |
383 |
TProgRequis *Lcurprog; |
TProgRequis *Lcurprog; |
384 |
gchar *Lprog; |
gchar *Lprog; |
385 |
GtkWidget *Lwindow1; |
GtkWidget *Lwindow1 = sc_grave_get_widget(Ag, "topwindow"); |
|
Lwindow1 = g_hash_table_lookup(Ahash, "topwindow"); |
|
386 |
|
|
387 |
if (Aop & UPDATE_SAVEONEXIT_VALUE) { |
if (Aop & UPDATE_SAVEONEXIT_VALUE) { |
388 |
/* mise a jour des valeurs a sauvegarder lorsque l'on quitte */ |
/* mise a jour des valeurs a sauvegarder lorsque l'on quitte */ |
389 |
manage_saveonexit_value(Ahash); |
manage_saveonexit_value(Ag); |
390 |
} |
} |
391 |
|
|
392 |
if (Aop & SEARCH_PROG) { |
if (Aop & SEARCH_PROG) { |
416 |
|
|
417 |
if (Aop & SEARCH_LECTEUR) { |
if (Aop & SEARCH_LECTEUR) { |
418 |
/* maintenant scan des lecteurs */ |
/* maintenant scan des lecteurs */ |
419 |
cherchelecteur(NULL, Ahash); |
cherchelecteur(NULL, Ag); |
420 |
} |
} |
421 |
|
|
422 |
if (Aop & UPDATE_SIZE && GTK_IS_WIDGET(Lwindow1)) { |
if (Aop & UPDATE_SIZE && GTK_IS_WIDGET(Lwindow1)) { |
603 |
|
|
604 |
void maj_foreach_prog(gpointer Akey, gpointer Avalue, gpointer Adata) |
void maj_foreach_prog(gpointer Akey, gpointer Avalue, gpointer Adata) |
605 |
{ |
{ |
606 |
GHashTable *Lhash = (GHashTable *) Adata; |
Tgrave *Lg = (Tgrave *) Adata; |
607 |
GtkWidget *Lobj = g_hash_table_lookup(Lhash, Akey); |
GtkWidget *Lobj = sc_grave_get_widget(Lg, Akey); |
608 |
gchar *Lname; |
gchar *Lname; |
609 |
GtkEntry *Lobjentry; |
GtkEntry *Lobjentry; |
610 |
GtkWidget *Lobjlbl; |
GtkWidget *Lobjlbl; |
611 |
|
|
612 |
if (!Lobj) return; |
if (!Lobj) return; |
613 |
Lname = g_strdup_printf("%s%s", gtk_widget_get_name(Lobj), "para"); |
Lname = g_strdup_printf("%s%s", gtk_widget_get_name(Lobj), "para"); |
614 |
Lobjentry = GTK_ENTRY(g_hash_table_lookup(Lhash, Lname)); |
Lobjentry = GTK_ENTRY(sc_grave_get_widget(Lg, Lname)); |
615 |
gtk_entry_set_text(Lobjentry, *(gchar *)conf_get_string(Lname) ? conf_get_string(Lname) : ""); |
gtk_entry_set_text(Lobjentry, *(gchar *)conf_get_string(Lname) ? conf_get_string(Lname) : ""); |
616 |
g_free(Lname); |
g_free(Lname); |
617 |
|
|
618 |
Lname = g_strdup_printf("%s%s", gtk_widget_get_name(Lobj), "lbl"); |
Lname = g_strdup_printf("%s%s", gtk_widget_get_name(Lobj), "lbl"); |
619 |
Lobjlbl = g_hash_table_lookup(Lhash, Lname); |
Lobjlbl = sc_grave_get_widget(Lg, Lname); |
620 |
g_free(Lname); |
g_free(Lname); |
621 |
|
|
622 |
if (*(gchar *)Avalue) { |
if (*(gchar *)Avalue) { |
630 |
} |
} |
631 |
} |
} |
632 |
|
|
633 |
void maj_proprietes_prog(GHashTable *Ahash) |
void maj_proprietes_prog(Tgrave *Ag) |
634 |
{ |
{ |
635 |
TProgRequis *Lcurentry; |
TProgRequis *Lcurentry; |
636 |
gchar *Lvalue; |
gchar *Lvalue; |
638 |
for (Lcurentry = Glisteprogrequis; Lcurentry->entry; Lcurentry++) { |
for (Lcurentry = Glisteprogrequis; Lcurentry->entry; Lcurentry++) { |
639 |
if (Lcurentry->type == CONF_PROG) { |
if (Lcurentry->type == CONF_PROG) { |
640 |
Lvalue = conf_get_string(Lcurentry->entry); |
Lvalue = conf_get_string(Lcurentry->entry); |
641 |
maj_foreach_prog(Lcurentry->entry, Lvalue, Ahash); |
maj_foreach_prog(Lcurentry->entry, Lvalue, Ag); |
642 |
} |
} |
643 |
} |
} |
644 |
} |
} |
658 |
} |
} |
659 |
|
|
660 |
/* on restaure les dernieres valeurs utilisees pour certains champs */ |
/* on restaure les dernieres valeurs utilisees pour certains champs */ |
661 |
void restore_last_used_values(GHashTable *Ahash) |
void restore_last_used_values(Tgrave *Ag) |
662 |
{ |
{ |
663 |
TProgRequis *Lcurentry; |
TProgRequis *Lcurentry; |
664 |
GtkWidget *Lwidget; |
GtkWidget *Lwidget; |
667 |
if (!(Lcurentry->level & CONF_SAVEONEXIT)) continue; |
if (!(Lcurentry->level & CONF_SAVEONEXIT)) continue; |
668 |
|
|
669 |
if ((Lcurentry->level & CONF_SPIN) || (Lcurentry->level & CONF_CHECK)) { |
if ((Lcurentry->level & CONF_SPIN) || (Lcurentry->level & CONF_CHECK)) { |
670 |
Lwidget = g_hash_table_lookup(Ahash, Lcurentry->entry); |
Lwidget = sc_grave_get_widget(Ag, Lcurentry->entry); |
671 |
if (!GTK_IS_WIDGET(Lwidget)) { |
if (!GTK_IS_WIDGET(Lwidget)) { |
672 |
g_warning("Error %s is missing!", Lcurentry->entry); |
g_warning("Error %s is missing!", Lcurentry->entry); |
673 |
continue; |
continue; |