Go to the source code of this file.
Data Structures | |
struct | _dEvian_Main |
struct | _dEvian |
Defines | |
#define | DEVIAN_THEME_DEFAULT "default.edc" |
#define | DEVIAN_MAX_PATH 200 |
#define | DEVIAN_NAME_LEN 50 |
Functions | |
int | devian_devian_main_init (E_Module *m) |
void | devian_devian_main_shutdown (void) |
dEvian * | devian_devian_add (Config_dEvian *cfg_devian) |
void | devian_devian_del (dEvian *devian, int now) |
void | devian_devian_del_all (void) |
void | devian_devian_set_name (dEvian *devian, int source, char *c2) |
char * | devian_display_init (void) |
void | devian_display_shutdown (void) |
int | devian_devian_edje_load (Evas_Object *edje_obj, char *part) |
Variables | |
dEvian_Main * | dEvianM |
|
Definition at line 11 of file e_mod_devian.h. Referenced by _menu_theme_generate(), _picture_list_local_add_dir(), _was_set_bg_add(), devian_config_main_new(), devian_data_picture_get_name_from_path(), devian_devian_edje_load(), and e_modapi_info(). |
|
Definition at line 12 of file e_mod_devian.h. Referenced by devian_devian_set_name(). |
|
Definition at line 10 of file e_mod_devian.h. |
|
Definition at line 88 of file e_mod_devian.c. References devian_config_devian_new(), devian_container_change(), devian_devian_del(), devian_devian_set_name(), devian_menu_init(), devian_source_change(), dEvianM, DMAIN, and SOURCE_NO. Referenced by _devian_main_menu_cb_add_devian(), _main_advanced_apply_data(), _main_basic_apply_data(), devian_container_theme_set(), and devian_devian_main_init(). 00089 { 00090 dEvian *devian; 00091 00092 devian = E_NEW(dEvian, 1); 00093 devian->menu = NULL; 00094 devian->name = NULL; 00095 devian->source = NULL; 00096 devian->container = NULL; 00097 devian->dying = 0; 00098 devian->dialog_conf = NULL; 00099 devian->conf = NULL; 00100 devian->menu = NULL; 00101 00102 /* Append new devian to the list of devians */ 00103 dEvianM->devians = evas_list_append (dEvianM->devians, 00104 devian); 00105 00106 /* Name */ 00107 devian_devian_set_name(devian, SOURCE_NO, NULL); 00108 00109 /* Config */ 00110 if (cfg_devian) 00111 { 00112 /* Use existing config */ 00113 devian->conf = cfg_devian; 00114 } 00115 else 00116 { 00117 /* New config */ 00118 devian->conf = devian_config_devian_new(NULL); 00119 if (!devian->conf) 00120 { 00121 devian_devian_del(devian, 1); 00122 return NULL; 00123 } 00124 } 00125 00126 /* Menu */ 00127 devian->menu = devian_menu_init(devian); 00128 if (!devian->menu) 00129 { 00130 devian_devian_del(devian, 1); 00131 return NULL; 00132 } 00133 00134 /* Source */ 00135 if ( devian_source_change(devian, devian->conf->source_type) ) 00136 { 00137 devian_devian_del(devian, 1); 00138 return NULL; 00139 } 00140 00141 /* Container */ 00142 if ( devian_container_change(devian, devian->conf->container_type) ) 00143 { 00144 devian_devian_del(devian, 1); 00145 return NULL; 00146 } 00147 00148 DMAIN(("dEvian: New devian OK")); 00149 00150 return devian; 00151 }
|
|
Definition at line 153 of file e_mod_devian.c. References CONTAINER_NO, devian_config_devian_free(), devian_config_dialog_devian_shutdown(), devian_container_change(), devian_container_devian_dying(), devian_devian_set_name(), devian_menu_main_menu_refresh(), devian_menu_shutdown(), devian_source_change(), dEvianM, DMAIN, and SOURCE_NO. Referenced by _cb_ecore_animator(), _devian_menu_cb_devian_delete(), _main_advanced_apply_data(), _main_basic_apply_data(), devian_container_box_resize_auto(), devian_container_theme_set(), devian_devian_add(), and devian_devian_del_all(). 00154 { 00155 if (!now) 00156 { 00157 devian->dying = 1; 00158 if (devian_container_devian_dying(devian)) 00159 return; 00160 } 00161 00162 DMAIN(("dEvian: del devian container")); 00163 devian_container_change(devian, CONTAINER_NO); 00164 DMAIN(("dEvian: del devian source")); 00165 devian_source_change(devian, SOURCE_NO); 00166 DMAIN(("dEvian: Free devian menu")); 00167 devian_menu_shutdown(devian); 00168 DMAIN(("dEvian: Free devian config dialog")); 00169 devian_config_dialog_devian_shutdown(devian); 00170 DMAIN(("dEvian: Free devian config")); 00171 devian_config_devian_free(devian); 00172 DMAIN(("dEvian: Free devian remove")); 00173 dEvianM->devians = evas_list_remove (dEvianM->devians, 00174 devian); 00175 DMAIN(("Rename dEvians")); 00176 devian_devian_set_name(NULL, 0, NULL); 00177 DMAIN(("dEvian: Free devian refresh main menu")); 00178 devian_menu_main_menu_refresh(); 00179 DMAIN(("dEvian: Free devian free")); 00180 00181 if (devian->name) 00182 E_FREE(devian->name); 00183 E_FREE(devian); 00184 00185 DMAIN(("dEvian: Free devian OK")); 00186 }
|
|
Definition at line 188 of file e_mod_devian.c. References devian_devian_del(), dEvianM, and DMAIN. Referenced by _devian_main_menu_cb_delete_all_devians(), and devian_devian_main_shutdown(). 00189 { 00190 while (dEvianM->devians) 00191 { 00192 DMAIN(("dEvian: devian_del")); 00193 devian_devian_del(evas_list_data(dEvianM->devians), 1); 00194 } 00195 }
|
|
Definition at line 336 of file e_mod_devian.c. References DEVIAN_MAX_PATH, and dEvianM. Referenced by _picture_list_local_popup_load_start(), and devian_container_edje_load(). 00337 { 00338 char path[DEVIAN_MAX_PATH]; 00339 00340 snprintf(path, DEVIAN_MAX_PATH, "%s/%s/%s%s", 00341 e_module_dir_get(dEvianM->module), "themes", 00342 dEvianM->conf->theme, 00343 ".edj"); 00344 if ( !edje_object_file_set(edje_obj, path, part) ) 00345 { 00346 char buf[4096]; 00347 snprintf(buf, sizeof(buf), 00348 _( 00349 "<hilight>Error !</hilight><br>" 00350 "Did not find <hilight>theme</hilight> %s group %s"), 00351 path, part); 00352 e_module_dialog_show(_("dEvian Module Error"), buf); 00353 return 0; 00354 } 00355 #ifdef DEBUG_MAIN 00356 else 00357 { 00358 fprintf(stderr, "Edje loaded %s group %s\n" , path, part); 00359 } 00360 #endif 00361 00362 return 1; 00363 }
|
|
Definition at line 4 of file e_mod_devian.c. References devian_config_init(), devian_data_picture_cache_init(), devian_data_picture_list_local_init(), devian_devian_add(), devian_display_init(), devian_menu_main_menu_init(), dEvianM, and DMAIN. Referenced by e_modapi_init(). 00005 { 00006 Config_dEvian *cfg_devian; 00007 int i; 00008 00009 dEvianM = E_NEW(dEvian_Main, 1); 00010 00011 dEvianM->container = e_container_current_get(e_manager_current_get()); 00012 evas_output_viewport_get(dEvianM->container->bg_evas, NULL, NULL, &dEvianM->canvas_w, &dEvianM->canvas_h); 00013 DMAIN(("dEvian : Canvas %d x %d",dEvianM->canvas_w,dEvianM->canvas_h)); 00014 00015 dEvianM->module = m; 00016 00017 dEvianM->devians = NULL; 00018 dEvianM->themes_menu = NULL; 00019 dEvianM->container_box_count = 0; 00020 00021 dEvianM->display = devian_display_init(); 00022 00023 dEvianM->conf = devian_config_init(); 00024 if (!dEvianM->conf) 00025 return 0; 00026 00027 devian_menu_main_menu_init(); 00028 if (!dEvianM->main_menu) 00029 return 0; 00030 00031 if ( devian_data_picture_list_local_init() ) 00032 { 00033 fprintf(stderr, "dEvian: can't init picture list (local) !\n"); 00034 return 0; 00035 } 00036 00037 if ( !devian_data_picture_cache_init() ) 00038 { 00039 fprintf(stderr, "dEvian: can't init picture cache !\n"); 00040 return 0; 00041 } 00042 00043 /* Init devians like it is in the config file */ 00044 DMAIN(("%d devians to create", dEvianM->conf->nb_devian)); 00045 for (i=0; i<dEvianM->conf->nb_devian; i++) 00046 { 00047 cfg_devian = evas_list_nth(dEvianM->conf->devians_conf, i); 00048 if (!devian_devian_add(cfg_devian)) 00049 { 00050 fprintf(stderr, "dEvian: Not good, a devian couldnt be created\n"); 00051 evas_list_remove (dEvianM->conf->devians_conf, 00052 cfg_devian); 00053 } 00054 } 00055 00056 DMAIN(("dEvian : init_devian OK\n")); 00057 00058 return 1; 00059 }
|
|
Definition at line 62 of file e_mod_devian.c. References devian_config_dialog_main_shutdown(), devian_config_free(), devian_data_picture_cache_shutdown(), devian_data_picture_list_local_shutdown(), devian_devian_del_all(), devian_display_shutdown(), devian_menu_main_menu_shutdown(), dEvianM, and DMAIN. Referenced by e_modapi_shutdown(). 00063 { 00064 DMAIN(("Main shutdown begins")); 00065 00066 devian_devian_del_all(); 00067 00068 devian_data_picture_cache_shutdown(); 00069 devian_data_picture_list_local_shutdown(); 00070 00071 devian_menu_main_menu_shutdown(); 00072 devian_config_dialog_main_shutdown(); 00073 devian_config_free(); 00074 devian_display_shutdown(); 00075 00076 E_FREE(dEvianM); 00077 }
|
|
Definition at line 205 of file e_mod_devian.c. References devian_container_update_name_devian(), devian_menu_main_menu_refresh(), DEVIAN_NAME_LEN, dEvianM, SOURCE_NO, and SOURCE_PICTURE. Referenced by devian_devian_add(), devian_devian_del(), and devian_source_picture_add(). 00206 { 00207 char *name; 00208 int n; 00209 00210 if (!devian) 00211 { 00212 Evas_List *l; 00213 dEvian *d; 00214 00215 n=1; 00216 for (l=dEvianM->devians; l; l=evas_list_next(l)) 00217 { 00218 name = E_NEW(char, DEVIAN_NAME_LEN); 00219 d = evas_list_data(l); 00220 if (d->name && d->conf) 00221 { 00222 E_FREE(d->name); 00223 switch (d->conf->source_type) 00224 { 00225 case SOURCE_PICTURE: 00226 snprintf(name, DEVIAN_NAME_LEN, "Picture %d", n); 00227 break; 00228 case SOURCE_NO: 00229 snprintf(name, DEVIAN_NAME_LEN, "No source %d", n); 00230 break; 00231 } 00232 } 00233 else 00234 { 00235 if (d->name) 00236 E_FREE(d->name); 00237 snprintf(name, DEVIAN_NAME_LEN, "Invalid devian %d", n); 00238 } 00239 d->name = name; 00240 devian_container_update_name_devian(d); 00241 n++; 00242 } 00243 devian_menu_main_menu_refresh(); 00244 } 00245 else 00246 { 00247 name = E_NEW(char, DEVIAN_NAME_LEN); 00248 n = evas_list_count(dEvianM->devians); 00249 switch (source) 00250 { 00251 case SOURCE_PICTURE: 00252 if (extra) 00253 snprintf(name, DEVIAN_NAME_LEN, "Picture %d %s", n, extra); 00254 else 00255 snprintf(name, DEVIAN_NAME_LEN, "Picture %d", n); 00256 break; 00257 case SOURCE_NO: 00258 if (extra) 00259 snprintf(name, DEVIAN_NAME_LEN, "No source %d %s", n, extra); 00260 else 00261 snprintf(name, DEVIAN_NAME_LEN, "No source %d", n); 00262 break; 00263 default: 00264 if (extra) 00265 snprintf(name, DEVIAN_NAME_LEN, "Invalid dEvian %d %s", n, extra); 00266 else 00267 snprintf(name, DEVIAN_NAME_LEN, "Invalid dEvian %d", n); 00268 break; 00269 } 00270 if (devian->name) 00271 E_FREE(devian->name); 00272 devian->name = name; 00273 if (devian->container) 00274 devian_container_update_name_devian(devian); 00275 if (devian->menu) 00276 devian_menu_main_menu_refresh(); 00277 } 00278 00279 return; 00280 }
|
|
Definition at line 282 of file e_mod_devian.c. Referenced by devian_devian_main_init(). 00283 { 00284 char *display = NULL; 00285 char *tmp; 00286 00287 tmp = getenv("DISPLAY"); 00288 if (tmp) display = strdup(tmp); 00289 00290 /* make sure the display var is of the form name:0.0 or :0.0 */ 00291 if (display) 00292 { 00293 char *p; 00294 char buf[1024]; 00295 00296 p = strrchr(display, ':'); 00297 if (!p) 00298 { 00299 snprintf(buf, sizeof(buf), "%s:0.0", display); 00300 free(display); 00301 display = strdup(buf); 00302 } 00303 else 00304 { 00305 p = strrchr(p, '.'); 00306 if (!p) 00307 { 00308 snprintf(buf, sizeof(buf), "%s.0", display); 00309 free(display); 00310 display = strdup(buf); 00311 } 00312 } 00313 } 00314 else 00315 display = strdup(":0.0"); 00316 00317 /* Init E Lib */ 00318 if (display) 00319 e_lib_init(display); 00320 else 00321 { 00322 display = strdup(":0.0"); 00323 e_lib_init(display); 00324 } 00325 00326 return display; 00327 }
|
|
Definition at line 329 of file e_mod_devian.c. References dEvianM. Referenced by devian_devian_main_shutdown(). 00330 { 00331 free(dEvianM->display); 00332 dEvianM->display = NULL; 00333 e_lib_shutdown(); 00334 }
|
|