diff --git a/src/bin/e_config.c b/src/bin/e_config.c index 5818c0d15..6b5c59b3f 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -1182,39 +1182,39 @@ e_config_init(void) /* the default shelf on the default head/zone */ CFG_GADCON("shelf", "0"); - CFG_GADCON_CLIENT("start", "default", 800, 32, + CFG_GADCON_CLIENT("start", "0.start.0", 800, 32, 0, NULL, 0, 0); - CFG_GADCON_CLIENT("pager", "default", 800, 120, + CFG_GADCON_CLIENT("pager", "0.pager.0", 800, 120, 32, NULL, 0, 0); - CFG_GADCON_CLIENT("ibox", "default", 800, 32, + CFG_GADCON_CLIENT("ibox", "0.ibox.0", 800, 32, 32 + 120, NULL, 0, 0); - CFG_GADCON_CLIENT("ibar", "default", 800, 200, + CFG_GADCON_CLIENT("ibar", "0.ibar.0", 800, 200, (800 / 2) - (100 / 2), NULL, 0, 0); - CFG_GADCON_CLIENT("temperature", "default", 800, 32, + CFG_GADCON_CLIENT("temperature", "0.temperature.0", 800, 32, 800 - 128, NULL, 0, 0); - CFG_GADCON_CLIENT("cpufreq", "default", 800, 32, + CFG_GADCON_CLIENT("cpufreq", "0.cpufreq.0", 800, 32, 800 - 96, NULL, 0, 0); - CFG_GADCON_CLIENT("battery", "default", 800, 32, + CFG_GADCON_CLIENT("battery", "0.battery.0", 800, 32, 800 - 64, NULL, 0, 0); - CFG_GADCON_CLIENT("clock", "default", 800, 32, + CFG_GADCON_CLIENT("clock", "0.clock.0", 800, 32, 800 - 32, NULL, 0, 0); /* additional shelves for up to 3 more heads by default */ CFG_GADCON("shelf", "1"); - CFG_GADCON_CLIENT("pager", "default2", 800, 120, + CFG_GADCON_CLIENT("pager", "1.pager.0", 800, 120, 0, NULL, 0, 0); - CFG_GADCON_CLIENT("ibox", "default", 800, 32, + CFG_GADCON_CLIENT("ibox", "1.ibox.0", 800, 32, 800 - 32, NULL, 0, 0); CFG_GADCON("shelf", "2"); - CFG_GADCON_CLIENT("pager", "default3", 800, 120, + CFG_GADCON_CLIENT("pager", "2.pager.0", 800, 120, 0, NULL, 0, 0); - CFG_GADCON_CLIENT("ibox", "default", 800, 32, + CFG_GADCON_CLIENT("ibox", "2.ibox.0", 800, 32, 800 - 32, NULL, 0, 0); CFG_GADCON("shelf", "3"); - CFG_GADCON_CLIENT("pager", "default4", 800, 120, + CFG_GADCON_CLIENT("pager", "3.pager.0", 800, 120, 0, NULL, 0, 0); - CFG_GADCON_CLIENT("ibox", "default", 800, 32, + CFG_GADCON_CLIENT("ibox", "3.ibox.0", 800, 32, 800 - 32, NULL, 0, 0); } IFCFGEND; diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c index cd8a6c7fa..8fc0d3e26 100644 --- a/src/bin/e_gadcon.c +++ b/src/bin/e_gadcon.c @@ -170,6 +170,33 @@ e_gadcon_shutdown(void) return 1; } +EAPI E_Config_Gadcon * +e_gadcon_config_get(const char *name, const char *id) +{ + Evas_List *l; + E_Config_Gadcon *cf_gc = NULL; + + if (!name) return NULL; + + for (l = e_config->gadcons; l; l = l->next) + { + cf_gc = l->data; + if ((!strcmp(cf_gc->name, name)) && + (!strcmp(cf_gc->id, id))) + { + return cf_gc; + } + } + + cf_gc = E_NEW(E_Config_Gadcon, 1); + if (!cf_gc) return NULL; + cf_gc->name = evas_stringshare_add(name); + cf_gc->id = evas_stringshare_add(id); + e_config->gadcons = evas_list_append(e_config->gadcons, cf_gc); + e_config_save_queue(); + return cf_gc; +} + EAPI void e_gadcon_provider_register(const E_Gadcon_Client_Class *cc) { @@ -302,78 +329,56 @@ EAPI void e_gadcon_populate(E_Gadcon *gc) { Evas_List *l; - int ok; E_Config_Gadcon *cf_gc; E_Config_Gadcon_Client *cf_gcc; E_OBJECT_CHECK(gc); E_OBJECT_TYPE_CHECK(gc, E_GADCON_TYPE); - ok = 0; e_gadcon_layout_freeze(gc->o_container); - for (l = e_config->gadcons; l; l = l->next) + cf_gc = e_gadcon_config_get(gc->name, gc->id); + if (!cf_gc) return; + for (l = cf_gc->clients; l; l = l->next) { - cf_gc = l->data; - if ((!strcmp(cf_gc->name, gc->name)) && - (!strcmp(cf_gc->id, gc->id))) + E_Gadcon_Client_Class *cc; + + cf_gcc = l->data; + if (!cf_gcc->name) continue; + cc = evas_hash_find(providers, cf_gcc->name); + if (cc) { - ok = 1; - break; - } - } - if (ok) - { - for (l = cf_gc->clients; l; l = l->next) - { - E_Gadcon_Client_Class *cc; - - cf_gcc = l->data; - if (!cf_gcc->name) continue; - cc = evas_hash_find(providers, cf_gcc->name); - if (cc) + E_Gadcon_Client *gcc; + + if (!cf_gcc->style) { - E_Gadcon_Client *gcc; - - if (!cf_gcc->style) - { - gcc = cc->func.init(gc, cf_gcc->name, cf_gcc->id, - cc->default_style); - } - else - gcc = cc->func.init(gc, cf_gcc->name, cf_gcc->id, - cf_gcc->style); - - if (gcc) - { - gcc->client_class = cc; - gcc->config.pos = cf_gcc->geom.pos; - gcc->config.size = cf_gcc->geom.size; - gcc->config.res = cf_gcc->geom.res; - gcc->state_info.seq = cf_gcc->state_info.seq; - gcc->state_info.flags = cf_gcc->state_info.flags; - if (gcc->o_frame) - e_gadcon_layout_pack_options_set(gcc->o_frame, gcc); - else - e_gadcon_layout_pack_options_set(gcc->o_base, gcc); - - e_gadcon_client_autoscroll_set(gcc, cf_gcc->autoscroll); - e_gadcon_client_resizable_set(gcc, cf_gcc->resizable); - if (gcc->client_class->func.orient) - gcc->client_class->func.orient(gcc); - - _e_gadcon_client_save(gcc); - } + gcc = cc->func.init(gc, cf_gcc->name, cf_gcc->id, + cc->default_style); + } + else + gcc = cc->func.init(gc, cf_gcc->name, cf_gcc->id, + cf_gcc->style); + + if (gcc) + { + gcc->name = evas_stringshare_add(cf_gcc->name); + gcc->id = evas_stringshare_add(cf_gcc->id); + gcc->client_class = cc; + gcc->config.pos = cf_gcc->geom.pos; + gcc->config.size = cf_gcc->geom.size; + gcc->config.res = cf_gcc->geom.res; + gcc->state_info.seq = cf_gcc->state_info.seq; + gcc->state_info.flags = cf_gcc->state_info.flags; + if (gcc->o_frame) + e_gadcon_layout_pack_options_set(gcc->o_frame, gcc); + else + e_gadcon_layout_pack_options_set(gcc->o_base, gcc); + + e_gadcon_client_autoscroll_set(gcc, cf_gcc->autoscroll); + e_gadcon_client_resizable_set(gcc, cf_gcc->resizable); + if (gcc->client_class->func.orient) + gcc->client_class->func.orient(gcc); + + _e_gadcon_client_save(gcc); } - } - } - else - { - cf_gc = E_NEW(E_Config_Gadcon, 1); - if (cf_gc) - { - cf_gc->name = evas_stringshare_add(gc->name); - cf_gc->id = evas_stringshare_add(gc->id); - e_config->gadcons = evas_list_append(e_config->gadcons, cf_gc); - e_config_save_queue(); } } e_gadcon_layout_thaw(gc->o_container); @@ -403,56 +408,43 @@ EAPI void e_gadcon_populate_class(E_Gadcon *gc, const E_Gadcon_Client_Class *cc) { Evas_List *l; - int ok; E_Config_Gadcon *cf_gc; E_Config_Gadcon_Client *cf_gcc; E_OBJECT_CHECK(gc); E_OBJECT_TYPE_CHECK(gc, E_GADCON_TYPE); - ok = 0; e_gadcon_layout_freeze(gc->o_container); - for (l = e_config->gadcons; l; l = l->next) + cf_gc = e_gadcon_config_get(gc->name, gc->id); + if (!cf_gc) return; + for (l = cf_gc->clients; l; l = l->next) { - cf_gc = l->data; - if ((cf_gc->name) && (gc->name) && - (cf_gc->id) && (gc->id) && - (!strcmp(cf_gc->name, gc->name)) && - (!strcmp(cf_gc->id, gc->id))) + cf_gcc = l->data; + if ((cf_gcc->name) && (cc->name) && + (!strcmp(cf_gcc->name, cc->name))) { - ok = 1; - break; - } - } - if (ok) - { - for (l = cf_gc->clients; l; l = l->next) - { - cf_gcc = l->data; - if ((cf_gcc->name) && (cc->name) && - (!strcmp(cf_gcc->name, cc->name))) - { - E_Gadcon_Client *gcc; - - gcc = cc->func.init(gc, cf_gcc->name, cf_gcc->id, - cf_gcc->style); - if (gcc) - { - gcc->client_class = cc; - gcc->config.pos = cf_gcc->geom.pos; - gcc->config.size = cf_gcc->geom.size; - gcc->config.res = cf_gcc->geom.res; - gcc->state_info.seq = cf_gcc->state_info.seq; - gcc->state_info.flags = cf_gcc->state_info.flags; - if (gcc->o_frame) - e_gadcon_layout_pack_options_set(gcc->o_frame, gcc); - else - e_gadcon_layout_pack_options_set(gcc->o_base, gcc); + E_Gadcon_Client *gcc; - if (gcc->client_class->func.orient) - gcc->client_class->func.orient(gcc); - - _e_gadcon_client_save(gcc); - } + gcc = cc->func.init(gc, cf_gcc->name, cf_gcc->id, + cf_gcc->style); + if (gcc) + { + gcc->name = evas_stringshare_add(cf_gcc->name); + gcc->id = evas_stringshare_add(cf_gcc->id); + gcc->client_class = cc; + gcc->config.pos = cf_gcc->geom.pos; + gcc->config.size = cf_gcc->geom.size; + gcc->config.res = cf_gcc->geom.res; + gcc->state_info.seq = cf_gcc->state_info.seq; + gcc->state_info.flags = cf_gcc->state_info.flags; + if (gcc->o_frame) + e_gadcon_layout_pack_options_set(gcc->o_frame, gcc); + else + e_gadcon_layout_pack_options_set(gcc->o_base, gcc); + + if (gcc->client_class->func.orient) + gcc->client_class->func.orient(gcc); + + _e_gadcon_client_save(gcc); } } } @@ -638,9 +630,47 @@ e_gadcon_dnd_window_get(E_Gadcon *gc) E_OBJECT_TYPE_CHECK_RETURN(gc, E_GADCON_TYPE, 0); return gc->dnd_win; } - + +EAPI E_Config_Gadcon_Client * +e_gadcon_client_config_get(E_Gadcon *gc, const char *name, const char *id) +{ + Evas_List *l; + E_Config_Gadcon *cf_gc = NULL; + E_Config_Gadcon_Client *cf_gcc = NULL; + + E_OBJECT_CHECK_RETURN(gc, NULL); + E_OBJECT_TYPE_CHECK_RETURN(gc, E_GADCON_TYPE, NULL); + if (!name) return NULL; + + cf_gc = e_gadcon_config_get(gc->name, gc->id); + if (!cf_gc) return NULL; + for (l = cf_gc->clients; l; l = l->next) + { + cf_gcc = l->data; + if ((!strcmp(cf_gcc->name, name)) && + (!strcmp(cf_gcc->id, id))) + { + return cf_gcc; + } + } + + cf_gcc = E_NEW(E_Config_Gadcon_Client, 1); + if (!cf_gcc) return NULL; + cf_gcc->name = evas_stringshare_add(name); + cf_gcc->id = evas_stringshare_add(id); + cf_gcc->geom.res = 800; + cf_gcc->geom.size = 80; + cf_gcc->geom.pos = cf_gcc->geom.res - cf_gcc->geom.size; + cf_gcc->style = NULL; + cf_gcc->autoscroll = 0; + cf_gcc->resizable = 0; + cf_gc->clients = evas_list_append(cf_gc->clients, cf_gcc); + e_config_save_queue(); + return cf_gcc; +} + EAPI E_Gadcon_Client * -e_gadcon_client_new(E_Gadcon *gc, const char *name, const char *id, const char *style, Evas_Object *base_obj) +e_gadcon_client_new(E_Gadcon *gc, const char *style, Evas_Object *base_obj) { E_Gadcon_Client *gcc; @@ -650,8 +680,6 @@ e_gadcon_client_new(E_Gadcon *gc, const char *name, const char *id, const char * if (!gcc) return NULL; gcc->gadcon = gc; gcc->o_base = base_obj; - gcc->name = evas_stringshare_add(name); - gcc->id = evas_stringshare_add(id); gc->clients = evas_list_append(gc->clients, gcc); if ((gc->frame_request.func) && (style)) { @@ -1057,46 +1085,27 @@ _e_gadcon_client_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi) static void _e_gadcon_client_cb_menu_remove(void *data, E_Menu *m, E_Menu_Item *mi) { + E_Gadcon *gc; E_Gadcon_Client *gcc; E_Config_Gadcon *cf_gc; - Evas_List *l; - + E_Config_Gadcon_Client *cf_gcc; + gcc = data; - for (l = e_config->gadcons; l; l = l->next) - { - cf_gc = l->data; - if ((!cf_gc->name) || (!cf_gc->id) || - (!gcc->gadcon->name) || (!gcc->gadcon->id)) continue; - if ((!strcmp(cf_gc->name, gcc->gadcon->name)) && - (!strcmp(cf_gc->id, gcc->gadcon->id))) - { - for (l = cf_gc->clients; l; l = l->next) - { - E_Config_Gadcon_Client *cf_gcc; - - cf_gcc = l->data; - if ((!cf_gcc->name) || (!cf_gcc->id) || (!gcc->name) || - (!gcc->id)) continue; - if ((!strcmp(cf_gcc->name, gcc->name)) && - (!strcmp(cf_gcc->id, gcc->id))) - { - E_Gadcon *gc; + gc = gcc->gadcon; + + cf_gc = e_gadcon_config_get(gcc->gadcon->name, gcc->gadcon->id); + if (!cf_gc) return; + cf_gcc = e_gadcon_client_config_get(gcc->gadcon, gcc->name, gcc->id); + if (!cf_gcc) return; - gc = gcc->gadcon; - if (cf_gcc->name) evas_stringshare_del(cf_gcc->name); - if (cf_gcc->id) evas_stringshare_del(cf_gcc->id); - if (cf_gcc->style) evas_stringshare_del(cf_gcc->style); - free(cf_gcc); - cf_gc->clients = evas_list_remove_list(cf_gc->clients, l); - e_gadcon_unpopulate(gc); - e_gadcon_populate(gc); - e_config_save_queue(); - return; - } - } - break; - } - } + if (cf_gcc->name) evas_stringshare_del(cf_gcc->name); + if (cf_gcc->id) evas_stringshare_del(cf_gcc->id); + if (cf_gcc->style) evas_stringshare_del(cf_gcc->style); + free(cf_gcc); + cf_gc->clients = evas_list_remove(cf_gc->clients, cf_gcc); + e_gadcon_unpopulate(gc); + e_gadcon_populate(gc); + e_config_save_queue(); } EAPI void @@ -1418,74 +1427,26 @@ _e_gadcon_cb_client_frame_moveresize(void *data, Evas *e, Evas_Object *obj, void static void _e_gadcon_client_save(E_Gadcon_Client *gcc) { - Evas_List *l, *l2; E_Config_Gadcon *cf_gc; E_Config_Gadcon_Client *cf_gcc; - int ok; - ok = 0; - for (l = e_config->gadcons; l; l = l->next) - { - cf_gc = l->data; - if ((cf_gc->name) && (gcc->gadcon->name) && - (cf_gc->id) && (gcc->gadcon->id) && - (!strcmp(cf_gc->name, gcc->gadcon->name)) && - (!strcmp(cf_gc->id, gcc->gadcon->id))) - { - ok++; - for (l2 = cf_gc->clients; l2; l2 = l2->next) - { - cf_gcc = l2->data; - - if ((cf_gcc->name) && (gcc->name) && - (cf_gcc->id) && (gcc->id) && - (!strcmp(cf_gcc->name, gcc->name)) && - (!strcmp(cf_gcc->id, gcc->id))) - { - cf_gcc->geom.pos = gcc->config.pos; - cf_gcc->geom.size = gcc->config.size; - cf_gcc->geom.res = gcc->config.res; - cf_gcc->state_info.seq = gcc->state_info.seq; - cf_gcc->state_info.flags = gcc->state_info.flags; - cf_gcc->autoscroll = gcc->autoscroll; - if (cf_gcc->style) evas_stringshare_del(cf_gcc->style); - cf_gcc->style = NULL; - if (gcc->style) - cf_gcc->style = evas_stringshare_add(gcc->style); - cf_gcc->resizable = gcc->resizable; - ok++; - break; - } - } - break; - } - } - if (ok == 0) - { - cf_gc = E_NEW(E_Config_Gadcon, 1); - cf_gc->name = evas_stringshare_add(gcc->gadcon->name); - cf_gc->id = evas_stringshare_add(gcc->gadcon->id); - e_config->gadcons = evas_list_append(e_config->gadcons, cf_gc); - ok++; - } - if (ok == 1) - { - cf_gcc = E_NEW(E_Config_Gadcon_Client, 1); - cf_gcc->name = evas_stringshare_add(gcc->name); - cf_gcc->id = evas_stringshare_add(gcc->id); - cf_gcc->geom.pos = gcc->config.pos; - cf_gcc->geom.size = gcc->config.size; - cf_gcc->geom.res = gcc->config.res; - cf_gcc->state_info.seq = gcc->state_info.seq; - cf_gcc->state_info.flags = gcc->state_info.flags; - cf_gcc->autoscroll = gcc->autoscroll; - if (cf_gcc->style) evas_stringshare_del(cf_gcc->style); - cf_gcc->style = NULL; - if (gcc->style) - cf_gcc->style = evas_stringshare_add(gcc->style); - cf_gcc->resizable = gcc->resizable; - cf_gc->clients = evas_list_append(cf_gc->clients, cf_gcc); - } + cf_gc = e_gadcon_config_get(gcc->gadcon->name, gcc->gadcon->id); + if (!cf_gc) return; + cf_gcc = e_gadcon_client_config_get(gcc->gadcon, gcc->name, gcc->id); + if (!cf_gcc) return; + + cf_gcc->geom.pos = gcc->config.pos; + cf_gcc->geom.size = gcc->config.size; + cf_gcc->geom.res = gcc->config.res; + cf_gcc->state_info.seq = gcc->state_info.seq; + cf_gcc->state_info.flags = gcc->state_info.flags; + cf_gcc->autoscroll = gcc->autoscroll; + if (cf_gcc->style) evas_stringshare_del(cf_gcc->style); + cf_gcc->style = NULL; + if (gcc->style) + cf_gcc->style = evas_stringshare_add(gcc->style); + cf_gcc->resizable = gcc->resizable; + e_config_save_queue(); } diff --git a/src/bin/e_gadcon.h b/src/bin/e_gadcon.h index 88c5442cb..678f7b2df 100644 --- a/src/bin/e_gadcon.h +++ b/src/bin/e_gadcon.h @@ -152,6 +152,7 @@ struct _E_Gadcon_Client EAPI int e_gadcon_init(void); EAPI int e_gadcon_shutdown(void); +EAPI E_Config_Gadcon *e_gadcon_config_get(const char *name, const char *id); EAPI void e_gadcon_provider_register(const E_Gadcon_Client_Class *cc); EAPI void e_gadcon_provider_unregister(const E_Gadcon_Client_Class *cc); EAPI Evas_List *e_gadcon_provider_list(void); @@ -177,7 +178,8 @@ EAPI void e_gadcon_util_menu_attach_func_set(E_Gadcon *gc, void (*fu EAPI void e_gadcon_dnd_window_set(E_Gadcon *gc, Ecore_X_Window win); EAPI Ecore_X_Window e_gadcon_dnd_window_get(E_Gadcon *gc); -EAPI E_Gadcon_Client *e_gadcon_client_new(E_Gadcon *gc, const char *name, const char *id, const char *style, Evas_Object *base_obj); +EAPI E_Config_Gadcon_Client *e_gadcon_client_config_get(E_Gadcon *gc, const char *name, const char *id); +EAPI E_Gadcon_Client *e_gadcon_client_new(E_Gadcon *gc, const char *style, Evas_Object *base_obj); EAPI void e_gadcon_client_edit_begin(E_Gadcon_Client *gcc); EAPI void e_gadcon_client_edit_end(E_Gadcon_Client *gcc); EAPI void e_gadcon_client_size_request(E_Gadcon_Client *gcc, Evas_Coord w, Evas_Coord h); diff --git a/src/bin/e_int_gadcon_config.c b/src/bin/e_int_gadcon_config.c index 356fd9189..c4c589a5a 100644 --- a/src/bin/e_int_gadcon_config.c +++ b/src/bin/e_int_gadcon_config.c @@ -14,8 +14,8 @@ static void _load_selected_gadgets(void *data); struct _E_Config_Dialog_Data { E_Gadcon *gc; - char *cname; - char *ciname; + char *name_add; + char *id_remove; Evas_Object *o_add, *o_remove, *o_instances, *o_avail; E_Config_Gadcon *cf_gc; @@ -47,24 +47,9 @@ e_int_gadcon_config(E_Gadcon *gc) static void _fill_data(E_Config_Dialog_Data *cfdata) { - Evas_List *l; - - cfdata->cname = NULL; - cfdata->ciname = NULL; - cfdata->cf_gc = NULL; - - for (l = e_config->gadcons; l; l = l->next) - { - cfdata->cf_gc = l->data; - if ((!cfdata->cf_gc->name) || (!cfdata->cf_gc->id) || - (!cfdata->gc->name) || (!cfdata->gc->id)) continue; - if ((!strcmp(cfdata->cf_gc->name, cfdata->gc->name)) && - (!strcmp(cfdata->cf_gc->id, cfdata->gc->id))) - { - break; - } - cfdata->cf_gc = NULL; - } + cfdata->name_add = NULL; + cfdata->id_remove = NULL; + cfdata->cf_gc = e_gadcon_config_get(cfdata->gc->name, cfdata->gc->id); } static void * @@ -82,8 +67,8 @@ static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { cfdata->gc->config_dialog = NULL; - if (cfdata->cname) free(cfdata->cname); - if (cfdata->ciname) free(cfdata->ciname); + if (cfdata->name_add) free(cfdata->name_add); + if (cfdata->id_remove) free(cfdata->id_remove); free(cfdata); } @@ -108,52 +93,24 @@ _cb_select_client_instance(void *data) static void _cb_add_instance(void *data, void *data2) { - char buf[256]; - int i, ok; + char buf[1024]; + int id = 0; E_Config_Dialog_Data *cfdata; - E_Config_Gadcon *cf_gc; E_Config_Gadcon_Client *cf_gcc; - Evas_List *l, *l2; + Evas_List *l; cfdata = data; if (!cfdata) return; - snprintf(buf, sizeof(buf), "default"); - for (i = 0; ; i++) + for (l = cfdata->cf_gc->clients; l; l = l->next) { - ok = 1; - for (l = e_config->gadcons; l; l = l->next) - { - cf_gc = l->data; - for (l2 = cf_gc->clients; l2; l2 = l2->next) - { - cf_gcc = l2->data; - if ((!cf_gcc->name) || (!cf_gcc->id)) continue; - if ((!strcmp(cf_gcc->name, cfdata->cname)) && - (!strcmp(cf_gcc->id, buf))) - { - ok = 0; - goto done; - } - } - } - if (ok) break; - done: - snprintf(buf, sizeof(buf), "other-%i", i); + cf_gcc = l->data; + if (!strcmp(cfdata->name_add, cf_gcc->name)) id++; } + snprintf(buf, sizeof(buf), "%s.%s.%i", cfdata->cf_gc->id, cfdata->name_add, id); - cf_gcc = E_NEW(E_Config_Gadcon_Client, 1); - cf_gcc->name = evas_stringshare_add(cfdata->cname); - cf_gcc->id = evas_stringshare_add(buf); - cf_gcc->geom.res = 800; - cf_gcc->geom.size = 80; - cf_gcc->geom.pos = cf_gcc->geom.res - cf_gcc->geom.size; - cf_gcc->style = NULL; - cf_gcc->autoscroll = 0; - cf_gcc->resizable = 0; - - cfdata->cf_gc->clients = evas_list_append(cfdata->cf_gc->clients, cf_gcc); - + e_gadcon_client_config_get(cfdata->gc, cfdata->name_add, buf); + e_gadcon_unpopulate(cfdata->gc); e_gadcon_populate(cfdata->gc); e_config_save_queue(); @@ -180,7 +137,7 @@ _cb_remove_instance(void *data, void *data2) cf_gcc = l->data; if (!cf_gcc) continue; if (!cf_gcc->name) continue; - if (!strcmp(cf_gcc->name, cfdata->ciname)) + if (!strcmp(cf_gcc->id, cfdata->id_remove)) { if (cf_gcc->name) evas_stringshare_del(cf_gcc->name); if (cf_gcc->id) evas_stringshare_del(cf_gcc->id); @@ -218,7 +175,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf of = e_widget_framelist_add(evas, _("Available Gadgets"), 0); - oi = e_widget_ilist_add(evas, 24, 24, &(cfdata->cname)); + oi = e_widget_ilist_add(evas, 24, 24, &(cfdata->name_add)); cfdata->o_avail = oi; _load_available_gadgets(cfdata); e_widget_min_size_get(oi, &wmw, &wmh); @@ -234,7 +191,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf e_widget_list_object_append(o, of, 1, 1, 0.5); of = e_widget_framelist_add(evas, _("Selected Gadgets"), 0); - oi = e_widget_ilist_add(evas, 24, 24, &(cfdata->ciname)); + oi = e_widget_ilist_add(evas, 24, 24, &(cfdata->id_remove)); cfdata->o_instances = oi; _load_selected_gadgets(cfdata); e_widget_min_size_get(oi, &wmw, &wmh); @@ -331,7 +288,7 @@ _load_selected_gadgets(void *data) if (!label) label = cc->name; if (cc->func.icon) icon = cc->func.icon(evas); e_widget_ilist_append(oi, icon, label, _cb_select_client_instance, - cfdata, cf_gcc->name); + cfdata, cf_gcc->id); } } } diff --git a/src/modules/battery/e_mod_main.c b/src/modules/battery/e_mod_main.c index 9f089831a..cf365fb66 100644 --- a/src/modules/battery/e_mod_main.c +++ b/src/modules/battery/e_mod_main.c @@ -91,7 +91,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) e_theme_edje_object_set(o, "base/theme/modules/battery", "e/modules/battery/main"); - gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc = e_gadcon_client_new(gc, style, o); gcc->data = inst; inst->gcc = gcc; diff --git a/src/modules/clock/e_mod_main.c b/src/modules/clock/e_mod_main.c index d5c50e039..467d780f2 100644 --- a/src/modules/clock/e_mod_main.c +++ b/src/modules/clock/e_mod_main.c @@ -53,7 +53,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) "e/modules/clock/main"); evas_object_show(o); - gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc = e_gadcon_client_new(gc, style, o); gcc->data = inst; inst->gcc = gcc; diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c index a8c99b584..10eea8df6 100644 --- a/src/modules/cpufreq/e_mod_main.c +++ b/src/modules/cpufreq/e_mod_main.c @@ -86,7 +86,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) edje_object_signal_callback_add(o, "e,action,frequency,increase", "*", _cpufreq_face_cb_set_frequency, NULL); edje_object_signal_callback_add(o, "e,action,frequency,decrease", "*", _cpufreq_face_cb_set_frequency, NULL); - gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc = e_gadcon_client_new(gc, style, o); gcc->data = inst; inst->gcc = gcc; diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index 97387502c..92f503d12 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -141,7 +141,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) b->inst = inst; inst->ibar = b; o = b->o_box; - gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc = e_gadcon_client_new(gc, style, o); gcc->data = inst; inst->gcc = gcc; diff --git a/src/modules/ibox/e_mod_main.c b/src/modules/ibox/e_mod_main.c index a298e122d..99d127a24 100644 --- a/src/modules/ibox/e_mod_main.c +++ b/src/modules/ibox/e_mod_main.c @@ -151,7 +151,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) b->inst = inst; inst->ibox = b; o = b->o_box; - gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc = e_gadcon_client_new(gc, style, o); gcc->data = inst; inst->gcc = gcc; diff --git a/src/modules/pager/e_mod_main.c b/src/modules/pager/e_mod_main.c index c6ba9d1e2..e1f665cce 100644 --- a/src/modules/pager/e_mod_main.c +++ b/src/modules/pager/e_mod_main.c @@ -171,7 +171,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) p->inst = inst; inst->pager = p; o = p->o_table; - gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc = e_gadcon_client_new(gc, style, o); gcc->data = inst; inst->gcc = gcc; diff --git a/src/modules/start/e_mod_main.c b/src/modules/start/e_mod_main.c index c273fe209..6375e36f7 100644 --- a/src/modules/start/e_mod_main.c +++ b/src/modules/start/e_mod_main.c @@ -56,7 +56,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) e_theme_edje_object_set(o, "base/theme/modules/start", "e/modules/start/main"); edje_object_signal_emit(o, "e,state,unfocused", "e"); - gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc = e_gadcon_client_new(gc, style, o); gcc->data = inst; inst->gcc = gcc; diff --git a/src/modules/temperature/e_mod_main.c b/src/modules/temperature/e_mod_main.c index 1f07814a1..ece2293fe 100644 --- a/src/modules/temperature/e_mod_main.c +++ b/src/modules/temperature/e_mod_main.c @@ -77,7 +77,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) e_theme_edje_object_set(o, "base/theme/modules/temperature", "e/modules/temperature/main"); - gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc = e_gadcon_client_new(gc, style, o); gcc->data = inst; inst->gcc = gcc;