diff --git a/src/e_mod_config.c b/src/e_mod_config.c index b94dff0..f875ac6 100644 --- a/src/e_mod_config.c +++ b/src/e_mod_config.c @@ -1,6 +1,6 @@ #include -#include "e_mod_main.h" #include "e_mod_config.h" +#include "e_mod_main.h" #include "e_mod_net.h" EAPI Config_Item * @@ -78,28 +78,22 @@ _config_devices_get(void) } EAPI void -_config_updated(const char *id) +_config_updated(Config_Item *ci) { Evas_List *l; - Config_Item *ci; if (!cfg) return; - ci = _config_item_get(id); for (l = cfg->instances; l; l = l->next) { Instance *inst; inst = l->data; - if (!inst) continue; - if (!inst->gcc->id) continue; - if (strcmp(inst->gcc->id, id)) continue; + if (inst->ci != ci) continue; if (!inst->timer) inst->timer = ecore_timer_add(0.5, _cb_poll, inst); if (!ci->show_text) edje_object_signal_emit(inst->o_net, "e,state,text,hide", "e"); else edje_object_signal_emit(inst->o_net, "e,state,text,show", "e"); - - break; } } diff --git a/src/e_mod_configure.c b/src/e_mod_configure.c index 78695fe..3b146e3 100644 --- a/src/e_mod_configure.c +++ b/src/e_mod_configure.c @@ -1,7 +1,7 @@ #include +#include "e_mod_config.h" #include "e_mod_main.h" #include "e_mod_configure.h" -#include "e_mod_config.h" struct _E_Config_Dialog_Data { @@ -169,6 +169,6 @@ _apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) ci->app = evas_stringshare_add(cfdata->app); e_config_save_queue(); - _config_updated(ci->id); + _config_updated(ci); return 1; } diff --git a/src/e_mod_gadcon.c b/src/e_mod_gadcon.c index 850dd62..4ef9dae 100644 --- a/src/e_mod_gadcon.c +++ b/src/e_mod_gadcon.c @@ -1,8 +1,8 @@ #include +#include "e_mod_config.h" #include "e_mod_main.h" #include "e_mod_gadcon.h" #include "e_mod_net.h" -#include "e_mod_config.h" static E_Gadcon_Client *_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style); static void _gc_shutdown(E_Gadcon_Client *gcc); @@ -22,15 +22,14 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) { Instance *inst; E_Gadcon_Client *gcc; - Config_Item *ci; char buf[PATH_MAX]; snprintf(buf, sizeof(buf), "%s/net.edj", e_module_dir_get(cfg->mod)); - ci = _config_item_get(id); - if (!ci->id) evas_stringshare_add(id); - inst = E_NEW(Instance, 1); + inst->ci = _config_item_get(id); + if (!inst->ci->id) evas_stringshare_add(id); + inst->o_net = edje_object_add(gc->evas); if (!e_theme_edje_object_set(inst->o_net, "base/theme/modules/net", "modules/net/main")) @@ -41,7 +40,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) _cb_mouse_out, inst); evas_object_show(inst->o_net); - if (!ci->show_text) + if (!inst->ci->show_text) edje_object_signal_emit(inst->o_net, "e,state,text,hide", "e"); else edje_object_signal_emit(inst->o_net, "e,state,text,show", "e"); diff --git a/src/e_mod_main.c b/src/e_mod_main.c index e08de61..c1db905 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -1,7 +1,7 @@ #include +#include "e_mod_config.h" #include "e_mod_main.h" #include "e_mod_gadcon.h" -#include "e_mod_config.h" static E_Config_DD *conf_edd = NULL; static E_Config_DD *item_edd = NULL; @@ -77,19 +77,6 @@ e_modapi_shutdown(E_Module *m) EAPI int e_modapi_save(E_Module *m) { - Evas_List *l; - - for (l = cfg->instances; l; l = l->next) - { - Instance *inst; - Config_Item *ci; - - inst = l->data; - ci = _config_item_get(inst->gcc->id); - if (ci->id) evas_stringshare_del(ci->id); - ci->id = evas_stringshare_add(inst->gcc->id); - } - e_config_domain_save("module.net", conf_edd, cfg); return 1; } diff --git a/src/e_mod_main.h b/src/e_mod_main.h index 10dfc89..72de7f4 100644 --- a/src/e_mod_main.h +++ b/src/e_mod_main.h @@ -15,6 +15,8 @@ struct _Instance short popup_locked; bytes_t in, out; + + Config_Item *ci; }; EAPI extern E_Module_Api e_modapi; diff --git a/src/e_mod_net.c b/src/e_mod_net.c index ce80421..c4a2673 100644 --- a/src/e_mod_net.c +++ b/src/e_mod_net.c @@ -2,9 +2,9 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ #include +#include "e_mod_config.h" #include "e_mod_main.h" #include "e_mod_net.h" -#include "e_mod_config.h" #include "e_mod_configure.h" #ifdef __FreeBSD__ #include @@ -43,13 +43,11 @@ EAPI int _cb_poll(void *data) { Instance *inst; - Config_Item *ci; char buf[256], popbuf[256], tmp[100]; long bin, bout; bytes_t in, out = 0; inst = data; - ci = _config_item_get(inst->gcc->id); #ifndef __FreeBSD__ FILE *f; @@ -73,7 +71,7 @@ _cb_poll(void *data) &dummy, &dummy, &dummy, &dummy, &dummy, &dummy) < 17) continue; - if (!strcmp(dev, ci->device)) found = 1; + if (!strcmp(dev, inst->ci->device)) found = 1; if (found) break; } fclose(f); @@ -89,7 +87,7 @@ _cb_poll(void *data) for(i=1; i <= count; ++i) { get_ifmib_general(i, ifmd); - if (!strcmp(ifmd->ifmd_name, ci->device)) break; + if (!strcmp(ifmd->ifmd_name, inst->ci->device)) break; } in = ifmd->ifmd_data.ifi_ibytes; @@ -105,11 +103,11 @@ _cb_poll(void *data) inst->in = in; inst->out = out; - if (bin <= ci->limit) + if (bin <= inst->ci->limit) edje_object_signal_emit(inst->o_net, "e,state,receive,idle", "e"); else edje_object_signal_emit(inst->o_net, "e,state,receive,active", "e"); - if (bout <= ci->limit) + if (bout <= inst->ci->limit) edje_object_signal_emit(inst->o_net, "e,state,send,idle", "e"); else edje_object_signal_emit(inst->o_net, "e,state,send,active", "e"); @@ -141,18 +139,16 @@ EAPI void _cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event) { Instance *inst; - Config_Item *ci; Ecore_Exe *x; Evas_Event_Mouse_Down *ev; inst = data; ev = event; - ci = _config_item_get(inst->gcc->id); if ((ev->button == 1) && (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)) { - if (ci->app != NULL) + if (inst->ci->app != NULL) { - x = ecore_exe_run(ci->app, NULL); + x = ecore_exe_run(inst->ci->app, NULL); if (x) ecore_exe_free(x); } } @@ -191,15 +187,12 @@ EAPI void _cb_mouse_in(void *data, Evas_Object *obj, const char *emission, const char *source) { Instance *inst; - Config_Item *ci; Evas_Object *bg; - Evas_Coord gw, gh; char buf[PATH_MAX], tmp[100]; inst = data; if (inst->popup != NULL) return; - ci = _config_item_get(inst->gcc->id); - if (!ci->show_popup) return; + if (!inst->ci->show_popup) return; inst->popup = e_gadcon_popup_new(inst->gcc, NULL); snprintf(buf, sizeof(buf), "%s/net.edj", e_module_dir_get(cfg->mod)); @@ -208,7 +201,7 @@ _cb_mouse_in(void *data, Evas_Object *obj, const char *emission, const char *sou if (!e_theme_edje_object_set(bg, "base/theme/modules", "modules/net/popup")) edje_object_file_set(bg, buf, "modules/net/popup"); - snprintf(buf, sizeof(buf), D_("Device - %s"), ci->device); + snprintf(buf, sizeof(buf), D_("Device - %s"), inst->ci->device); edje_object_part_text_set(bg, "e.text.title", buf); inst->pop_bg = bg; @@ -259,9 +252,7 @@ static void _cb_configure(void *data, E_Menu *m, E_Menu_Item *mi) { Instance *inst; - Config_Item *ci; inst = data; - ci = _config_item_get(inst->gcc->id); - _configure_net_module(ci); + _configure_net_module(inst->ci); }