[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Graveman-cvs] Changes to graveman/current/src/config.c
From: |
sylvain cresto |
Subject: |
[Graveman-cvs] Changes to graveman/current/src/config.c |
Date: |
Thu, 14 Apr 2005 19:23:23 -0400 |
Index: graveman/current/src/config.c
diff -u graveman/current/src/config.c:1.32 graveman/current/src/config.c:1.33
--- graveman/current/src/config.c:1.32 Thu Apr 14 21:56:32 2005
+++ graveman/current/src/config.c Thu Apr 14 23:23:17 2005
@@ -167,13 +167,31 @@
fprintf(Lfic, "manual=%d\n", Ldrive->manual == TRUE ? 1 : 0);
}
+gchar *dump_file_list(char *Abuf, gint Asize)
+{
+ GSList *Llistconfig = get_config_path();
+ GSList *Lcurlist;
+
+ memset(Abuf, 0, Asize);
+
+ for (Lcurlist = Llistconfig; Lcurlist; Lcurlist = g_slist_next(Lcurlist)) {
+ if (*Abuf) strncat(Abuf, "\n", Asize-strlen(Abuf)-5);
+ strncat(Abuf, Lcurlist->data, Asize-strlen(Abuf)-5);
+ }
+
+ g_slist_free(Llistconfig);
+
+ return Abuf;
+}
+
/* ecriture du fichier de configuration */
gboolean write_conf(GError **Aerror)
{
FILE *Lfic;
gchar *Ltmp;
+
if (!get_config_file(W_OK)) return FALSE;
-g_warning("le conf => %s\n", Gfileconf);
+
if (!(Lfic=fopen(Gfileconf, "w"))) {
Ltmp = g_strdup_printf(_("Cannot create %s: %s"), Gfileconf,
g_strerror(errno));
g_set_error(Aerror, G_FILE_ERROR, g_file_error_from_errno(errno), Ltmp,
g_strerror(errno));
@@ -470,6 +488,7 @@
{
TProgRequis *Lcurprog;
gchar *Lprog;
+ gboolean Lstatus = TRUE;
GtkWidget *Lwindow1 = sc_grave_get_widget(Ag, "topwindow");
if (Aop & UPDATE_SAVEONEXIT_VALUE) {
@@ -534,10 +553,24 @@
}
if (Aop & WRITE_CONFIG) {
- return write_conf(Aerror);
+ Lstatus = write_conf(Aerror);
+ if (!Lstatus) {
+ gchar Lbuf[_BUF_SIZE];
+ gchar *Lfullmsg = g_strdup_printf(_("Cannot save configuration file !\nI
have tried on those files:\n%s"),
+ dump_file_list(Lbuf, sizeof(Lbuf)-1));
+ GtkWidget *Ldialog = gtk_message_dialog_new(GTK_IS_WIDGET(Lwindow1) ?
GTK_WINDOW(Lwindow1) : NULL,
+ GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
+ Lfullmsg);
+
+ g_warning(Lfullmsg);
+
+ gtk_dialog_run(GTK_DIALOG(Ldialog));
+ gtk_widget_destroy(Ldialog);
+ g_free(Lfullmsg);
+ }
}
- return TRUE;
+ return Lstatus;
}
/* renvoi une valeur du fichier de configuration */
- [Graveman-cvs] Changes to graveman/current/src/config.c, sylvain cresto, 2005/04/04
- [Graveman-cvs] Changes to graveman/current/src/config.c, sylvain cresto, 2005/04/12
- [Graveman-cvs] Changes to graveman/current/src/config.c, sylvain cresto, 2005/04/14
- [Graveman-cvs] Changes to graveman/current/src/config.c, sylvain cresto, 2005/04/14
- [Graveman-cvs] Changes to graveman/current/src/config.c,
sylvain cresto <=
- [Graveman-cvs] Changes to graveman/current/src/config.c, sylvain cresto, 2005/04/17
- [Graveman-cvs] Changes to graveman/current/src/config.c, sylvain cresto, 2005/04/17
- [Graveman-cvs] Changes to graveman/current/src/config.c, sylvain cresto, 2005/04/19
- [Graveman-cvs] Changes to graveman/current/src/config.c, sylvain cresto, 2005/04/20
- [Graveman-cvs] Changes to graveman/current/src/config.c, sylvain cresto, 2005/04/21