summaryrefslogtreecommitdiff
path: root/src/bin/e_bg.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2008-10-26 09:04:05 +0000
committerCarsten Haitzler <raster@rasterman.com>2008-10-26 09:04:05 +0000
commit20fd54169271e4cfd58136ca3994baea440cab47 (patch)
treeaa09d9941836d37b616e822f2414e305379b7436 /src/bin/e_bg.c
parent5d77d647ff2f3fb536b0fd7f07976faef9301ea8 (diff)
and now wizard is pretty much required. functionalyl its almost all there.
just the init of ibar/fileman favorites is the old untar code moved to wizard. icons for all profiels are nto done yet - doing. broung some backgrounds back - small .edj files though. SVN revision: 37119
Diffstat (limited to 'src/bin/e_bg.c')
-rw-r--r--src/bin/e_bg.c43
1 files changed, 38 insertions, 5 deletions
diff --git a/src/bin/e_bg.c b/src/bin/e_bg.c
index 61daf6b..365c773 100644
--- a/src/bin/e_bg.c
+++ b/src/bin/e_bg.c
@@ -79,6 +79,7 @@ e_bg_config_get(int container_num, int zone_num, int desk_x, int desk_y)
79{ 79{
80 Eina_List *l, *ll, *entries; 80 Eina_List *l, *ll, *entries;
81 E_Config_Desktop_Background *bg = NULL; 81 E_Config_Desktop_Background *bg = NULL;
82 const char *bgfile = "";
82 int current_spec = 0; /* how specific the setting is - we want the least general one that applies */ 83 int current_spec = 0; /* how specific the setting is - we want the least general one that applies */
83 84
84 /* look for desk specific background. */ 85 /* look for desk specific background. */
@@ -102,8 +103,18 @@ e_bg_config_get(int container_num, int zone_num, int desk_x, int desk_y)
102 else if (cfbg->desk_y >= 0) continue; 103 else if (cfbg->desk_y >= 0) continue;
103 104
104 if (spec <= current_spec) continue; 105 if (spec <= current_spec) continue;
105 106 bgfile = cfbg->file;
106 entries = edje_file_collection_list(cfbg->file); 107 if (bgfile)
108 {
109 if (bgfile[0] != '/')
110 {
111 const char *bf;
112
113 bf = e_path_find(path_backgrounds, bgfile);
114 if (bf) bgfile = bf;
115 }
116 }
117 entries = edje_file_collection_list(bgfile);
107 if (entries) 118 if (entries)
108 { 119 {
109 for (ll = entries; ll; ll = ll->next) 120 for (ll = entries; ll; ll = ll->next)
@@ -133,17 +144,39 @@ e_bg_file_get(int container_num, int zone_num, int desk_x, int desk_y)
133 144
134 /* fall back to default */ 145 /* fall back to default */
135 if (cfbg) 146 if (cfbg)
136 bgfile = cfbg->file; 147 {
148 bgfile = cfbg->file;
149 if (bgfile)
150 {
151 if (bgfile[0] != '/')
152 {
153 const char *bf;
154
155 bf = e_path_find(path_backgrounds, bgfile);
156 if (bf) bgfile = bf;
157 }
158 }
159 }
137 else 160 else
138 { 161 {
139 entries = edje_file_collection_list(e_config->desktop_default_background); 162 bgfile = e_config->desktop_default_background;
163 if (bgfile)
164 {
165 if (bgfile[0] != '/')
166 {
167 const char *bf;
168
169 bf = e_path_find(path_backgrounds, bgfile);
170 if (bf) bgfile = bf;
171 }
172 }
173 entries = edje_file_collection_list(bgfile);
140 if (entries) 174 if (entries)
141 { 175 {
142 for (l = entries; l; l = l->next) 176 for (l = entries; l; l = l->next)
143 { 177 {
144 if (!strcmp(l->data, "e/desktop/background")) 178 if (!strcmp(l->data, "e/desktop/background"))
145 { 179 {
146 bgfile = e_config->desktop_default_background;
147 ok = 1; 180 ok = 1;
148 break; 181 break;
149 } 182 }