[Top][All Lists]
[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);
}
/*