graveman-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Graveman-cvs] Changes to graveman/current/src/themes.c


From: sylvain cresto
Subject: [Graveman-cvs] Changes to graveman/current/src/themes.c
Date: Wed, 20 Apr 2005 20:37:35 -0400

Index: graveman/current/src/themes.c
diff -u graveman/current/src/themes.c:1.2 graveman/current/src/themes.c:1.3
--- graveman/current/src/themes.c:1.2   Wed Apr 20 01:00:31 2005
+++ graveman/current/src/themes.c       Thu Apr 21 00:37:30 2005
@@ -63,6 +63,7 @@
 
     if (!strncmp(s, THEME_NAME, strlen(THEME_NAME))) {
       g_free(Ltheme->name);
+  fprintf(stderr, "on trouve [%s]\n", s+strlen(THEME_NAME));
       Ltheme->name = g_strdup(ltrim(s+strlen(THEME_NAME)));
     } else if (!strncmp(s, THEME_DESC, strlen(THEME_DESC))) {
       g_free(Ltheme->desc);
@@ -111,7 +112,7 @@
       for (Lcur = Lthemesemp; Lcur && Lcur->data; Lcur = Lcur->next) {
         g_snprintf(Lpath, sizeof(Lpath)-1, "%s/themes/%s/%s%s.png", (gchar 
*)Lcur->data,
             Atheme, Luneimage->code, Aplus ? Aplus : "");
-fprintf(stderr, "on cherche dans [%s]\n", Lpath);
+_DEB("on cherche dans [%s]\n", Lpath);
         if (g_file_test(Lpath, G_FILE_TEST_IS_REGULAR)) {
           Ltrouve = TRUE;
           break;
@@ -150,46 +151,65 @@
   return Laumoinsun ? Lhashimagespath : NULL;
 }
 
-/* retourne une liste de tous les themes */
-GSList *get_theme_list(GError **Aerror)
+/* remple une liststore avec tous les themes */
+void managelistethemes(GtkComboBox *Acombo, gboolean Aadddef, gchar *Asel)
 {
+  GtkListStore *Lmodel = GTK_LIST_STORE(gtk_combo_box_get_model(Acombo));
+  GtkTreeIter Liter;
   GSList *Lthemesemp = get_data_path();
-  GSList *Lthemeslist = NULL;
   GSList *Lcur;
   gchar Lpath[MAXPATHLEN];
   gchar Ltestpath[MAXPATHLEN];
   const gchar *Lcurnom;
   GDir *Ldir;
   Ttheme *Luntheme = NULL;
+  gint i = 0;
+  gint Ltosel = -1, Ldefault = 0;
+
+  gtk_list_store_clear(Lmodel);
 
   for (Lcur = Lthemesemp; Lcur && Lcur->data; Lcur = Lcur->next) {
-    g_snprintf(Lpath, sizeof(Lpath)-1, "%s/themes/", (gchar *)Lcur->data);
-fprintf(stderr, "on test [%s]\n", Lpath);
+    g_snprintf(Lpath, sizeof(Lpath)-1, "%s/themes", (gchar *)Lcur->data);
     if (g_file_test(Lpath, G_FILE_TEST_IS_DIR)==FALSE) continue;
 
     if (!(Ldir = g_dir_open(Lpath, 0, NULL))) continue;
 
     while ((Lcurnom = g_dir_read_name(Ldir))) {
-      g_snprintf(Ltestpath, sizeof(Ltestpath)-1, "%s%s/graveman", Lpath, 
Lcurnom);
-fprintf(stderr, "test 2 sur [%s]\n", Ltestpath);
+      g_snprintf(Ltestpath, sizeof(Ltestpath)-1, "%s/%s/graveman", Lpath, 
Lcurnom);
       
       if (g_file_test(Ltestpath, G_FILE_TEST_IS_REGULAR)) {
 fprintf(stderr, "on a un theme [%s]\n", Ltestpath);
 g_message("oui un fichier !!\n");
         if ((Luntheme = read_theme_desc(Ltestpath, NULL))) {
+          
 g_message("et oui un theme [%s]\n", Luntheme->name);
-          Lthemeslist = g_slist_append(Lthemeslist, Luntheme);
+//          Lthemeslist = g_slist_append(Lthemeslist, Luntheme);
+//
+          if (Ltosel == -1 && !strcmp(Lcurnom, _THEME_DEFAULT)) Ldefault = i;
+    
+          gtk_list_store_append(Lmodel, &Liter);
+
+          gtk_list_store_set(Lmodel, &Liter, 0, i, 1, get_image("Themes"), 2,
+            Luntheme->desc, 3, Ltestpath, -1);
+g_message("om comp [%s] et [%s]\n", Asel, Lcurnom);
+          if (Asel && Ltosel == -1 && !strcmp(Asel, Lcurnom)) {
+            Ltosel = i;
+          }
+
+          Luntheme = free_theme(Luntheme); 
+
+          i++;
         }
       }
     }
 
-
     g_dir_close(Ldir);
   }
 
   g_slist_free(Lthemesemp);
 
-  return Lthemeslist;
+  if (Ltosel == -1) Ltosel = Ldefault;
+  if (i) gtk_combo_box_set_active(Acombo, Ltosel);
 }
 
 /*




reply via email to

[Prev in Thread] Current Thread [Next in Thread]