Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime
Dir : e_modules/uptime Modified Files: Makefile.am e_mod_config.c e_mod_main.c e_mod_main.h uptime.edc Removed Files: e_mod_config.h Log Message: Convert uptime to the shelf for Gulivert ;) Users will need to remove old module.uptime.cfg for this to work. =================================================================== RCS file: /cvs/e/e_modules/uptime/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- Makefile.am 3 Jun 2006 14:02:35 -0000 1.5 +++ Makefile.am 9 Jun 2006 11:42:59 -0000 1.6 @@ -26,8 +26,7 @@ pkg_LTLIBRARIES = module.la module_la_SOURCES = e_mod_main.c \ e_mod_main.h \ - e_mod_config.c \ - e_mod_config.h + e_mod_config.c module_la_LIBADD = @e_libs@ -lm module_la_LDFLAGS = -module -avoid-version =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_config.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_mod_config.c 5 Apr 2006 17:48:50 -0000 1.3 +++ e_mod_config.c 9 Jun 2006 11:42:59 -0000 1.4 @@ -1,11 +1,9 @@ #include <e.h> #include "e_mod_main.h" -#include "e_mod_config.h" -#include "config.h" struct _E_Config_Dialog_Data { - int check_interval; + double check_interval; }; /* Protos */ @@ -13,15 +11,16 @@ static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); -static void _fill_data(Uptime *c, E_Config_Dialog_Data *cfdata); +static void _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata); /* Config Calls */ void -_configure_uptime_module(E_Container *con, Uptime *c) +_config_ut_module(Config_Item *ci) { E_Config_Dialog *cfd; E_Config_Dialog_View *v; - + E_Container *con; + v = E_NEW(E_Config_Dialog_View, 1); v->create_cfdata = _create_data; @@ -29,36 +28,35 @@ v->basic.apply_cfdata = _basic_apply_data; v->basic.create_widgets = _basic_create_widgets; - cfd = e_config_dialog_new(con, D_("Uptime Configuration"), NULL, 0, v, c); - c->cfd = cfd; + con = e_container_current_get(e_manager_current_get()); + cfd = e_config_dialog_new(con, D_("Uptime Configuration"), NULL, 0, v, ci); + ut_config->config_dialog = cfd; } static void -_fill_data(Uptime *c, E_Config_Dialog_Data *cfdata) +_fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata) { - cfdata->check_interval = c->conf->check_interval; + cfdata->check_interval = ci->check_interval; } static void * _create_data(E_Config_Dialog *cfd) { E_Config_Dialog_Data *cfdata; - Uptime *c; + Config_Item *ci; - c = cfd->data; + ci = cfd->data; cfdata = E_NEW(E_Config_Dialog_Data, 1); - _fill_data(c, cfdata); + _fill_data(ci, cfdata); return cfdata; } static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { - Uptime *c; - - c = cfd->data; - c->cfd = NULL; + if (!ut_config) return; + ut_config->config_dialog = NULL; free(cfdata); } @@ -66,15 +64,12 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { Evas_Object *o, *of, *ob; - Uptime *c; - - c = cfd->data; o = e_widget_list_add(evas, 0, 0); of = e_widget_framelist_add(evas, D_("Uptime Settings"), 0); ob = e_widget_label_add(evas, D_("Check Interval:")); e_widget_framelist_object_append(of, ob); - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1, 60, 1, 0, NULL, &(cfdata->check_interval), 150); + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); e_widget_framelist_object_append(of, ob); e_widget_list_object_append(o, of, 1, 1, 0.5); @@ -84,14 +79,12 @@ static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { - char *tmp; - Uptime *c; - - c = cfd->data; - c->conf->check_interval = cfdata->check_interval; + Config_Item *ci; + + ci = cfd->data; + ci->check_interval = cfdata->check_interval; e_config_save_queue(); - if (c->face->monitor) - ecore_timer_interval_set(c->face->monitor, (double)cfdata->check_interval); + _ut_config_updated(ci->id); return 1; } =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- e_mod_main.c 3 Jun 2006 13:26:01 -0000 1.8 +++ e_mod_main.c 9 Jun 2006 11:42:59 -0000 1.9 @@ -1,394 +1,367 @@ #include <e.h> #include <linux/kernel.h> #include "e_mod_main.h" -#include "e_mod_config.h" -#include "config.h" -static Uptime *_uptime_init(E_Module *m); -static void _uptime_shutdown(Uptime *n); -static void _uptime_config_menu_new(Uptime *n); -static int _uptime_face_init(Uptime_Face *cf); -static void _uptime_face_menu_new(Uptime_Face *cf); -static void _uptime_face_enable(Uptime_Face *cf); -static void _uptime_face_disable(Uptime_Face *cf); -static void _uptime_face_free(Uptime_Face *cf); -static void _uptime_face_cb_gmc_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change); -static void _uptime_face_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void _uptime_face_cb_menu_edit(void *data, E_Menu *mn, E_Menu_Item *mi); -static void _uptime_face_cb_menu_configure(void *data, E_Menu *mn, E_Menu_Item *mi); -static int _uptime_face_update_values(void *data); +typedef struct _Instance Instance; +typedef struct _Uptime Uptime; -static int uptime_count; - -EAPI E_Module_Api e_modapi = { - E_MODULE_API_VERSION, - "Uptime" +struct _Instance +{ + E_Gadcon_Client *gcc; + Evas_Object *ut_obj; + Uptime *ut; + Ecore_Timer *monitor; }; -EAPI void * -e_modapi_init(E_Module *m) +struct _Uptime { - Uptime *c; + Instance *inst; + Evas_Object *ut_obj; +}; - /* Set up module's message catalogue */ - bindtextdomain(PACKAGE, LOCALEDIR); - bind_textdomain_codeset(PACKAGE, "UTF-8"); +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); +static void _gc_orient(E_Gadcon_Client *gcc); +static char *_gc_label(void); +static Evas_Object *_gc_icon(Evas *evas); + +static void _ut_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info); +static void _ut_menu_cb_configure(void *data, E_Menu *m, E_Menu_Item *mi); +static void _ut_menu_cb_post(void *data, E_Menu *m); +static Config_Item *_ut_config_item_get(const char *id); +static Uptime *_ut_new(Evas *evas); +static void _ut_free(Uptime *ut); +static int _ut_cb_check(void *data); + +static E_Config_DD *conf_edd = NULL; +static E_Config_DD *conf_item_edd = NULL; - c = _uptime_init(m); - if (!c) - return NULL; +Config *ut_config = NULL; - return c; -} - -EAPI int -e_modapi_shutdown(E_Module *m) +static const E_Gadcon_Client_Class _gc_class = { - Uptime *c; - - c = m->data; - if (!c) - return 0; + GADCON_CLIENT_CLASS_VERSION, + "uptime", {_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon} +}; - if (c->cfd) - { - e_object_del(E_OBJECT(c->cfd)); - c->cfd = NULL; - } - _uptime_shutdown(c); - return 1; +static E_Gadcon_Client * +_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) +{ + Evas_Object *o; + E_Gadcon_Client *gcc; + Instance *inst; + Config_Item *ci; + Uptime *ut; + char buf[4096]; + + inst = E_NEW(Instance, 1); + ci = _ut_config_item_get(id); + if (!ci->id) ci->id = evas_stringshare_add(id); + + ut = _ut_new(gc->evas); + ut->inst = inst; + inst->ut = ut; + + o = ut->ut_obj; + gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc->data = inst; + inst->gcc = gcc; + inst->ut_obj = o; + + evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _ut_cb_mouse_down, inst); + ut_config->instances = evas_list_append(ut_config->instances, inst); + + if (!inst->monitor) + inst->monitor = ecore_timer_add(ci->check_interval, _ut_cb_check, inst); + + return gcc; } -EAPI int -e_modapi_save(E_Module *m) +static void +_gc_shutdown(E_Gadcon_Client *gcc) { - Uptime *c; + Instance *inst; + Uptime *ut; + + inst = gcc->data; + ut = inst->ut; + + if (inst->monitor) ecore_timer_del(inst->monitor); + + ut_config->instances = evas_list_remove(ut_config->instances, inst); + evas_object_event_callback_del(ut->ut_obj, EVAS_CALLBACK_MOUSE_DOWN, _ut_cb_mouse_down); - c = m->data; - if (!c) - return 0; - e_config_domain_save("module.uptime", c->conf_edd, c->conf); - return 1; + _ut_free(ut); + free(inst); } -EAPI int -e_modapi_about(E_Module *m) +static void +_gc_orient(E_Gadcon_Client *gcc) { - e_module_dialog_show(D_("Enlightenment Uptime Monitor Module"), D_("This module is used to monitor uptime.")); - return 1; + e_gadcon_client_aspect_set(gcc, 16, 16); + e_gadcon_client_min_size_set(gcc, 16, 16); } -EAPI int -e_modapi_config(E_Module *m) +static char * +_gc_label(void) { - Uptime *c; - E_Container *con; - - c = m->data; - if (!c) - return 0; - if (!c->face) - return 0; - - con = e_container_current_get(e_manager_current_get()); - if (c->face->con == con) - _configure_uptime_module(con, c); - - return 1; + return D_("Uptime"); } -static Uptime * -_uptime_init(E_Module *m) +static Evas_Object * +_gc_icon(Evas *evas) { - Uptime *c; - E_Menu_Item *mi; - Evas_List *mans, *l, *l2; - - c = E_NEW(Uptime, 1); - - if (!c) - return NULL; - - c->conf_edd = E_CONFIG_DD_NEW("Uptime_Config", Config); -#undef T -#undef D -#define T Config -#define D c->conf_edd - E_CONFIG_VAL(D, T, check_interval, INT); - - c->conf = e_config_domain_load("module.uptime", c->conf_edd); - if (!c->conf) - { - c->conf = E_NEW(Config, 1); - - c->conf->check_interval = 1; - } - E_CONFIG_LIMIT(c->conf->check_interval, 0, 60); - - _uptime_config_menu_new(c); + Evas_Object *o; + char buf[4096]; + + o = edje_object_add(evas); + snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(ut_config->module)); + edje_object_file_set(o, buf, "icon"); + return o; +} - mans = e_manager_list(); - for (l = mans; l; l = l->next) +static void +_ut_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Instance *inst; + Evas_Event_Mouse_Down *ev; + + if (ut_config->menu) return; + + inst = data; + ev = event_info; + if (ev->button == 3) { - E_Manager *man; - - man = l->data; - for (l2 = man->containers; l2; l2 = l2->next) - { - E_Container *con; - Uptime_Face *cf; - - con = l2->data; - cf = E_NEW(Uptime_Face, 1); - - if (cf) - { - cf->conf_face_edd = E_CONFIG_DD_NEW("Uptime_Face_Config", Config_Face); - -#undef T -#undef D -#define T Config_Face -#define D cf->conf_face_edd - E_CONFIG_VAL(D, T, enabled, UCHAR); - - c->face = cf; - cf->uptime = c; - cf->con = con; - cf->evas = con->bg_evas; - - cf->conf = E_NEW(Config_Face, 1); - - cf->conf->enabled = 1; - - if (!_uptime_face_init(cf)) - return NULL; - - _uptime_face_menu_new(cf); - - mi = e_menu_item_new(c->config_menu); - e_menu_item_label_set(mi, _("Configuration")); - e_menu_item_callback_set(mi, _uptime_face_cb_menu_configure, cf); - - mi = e_menu_item_new(c->config_menu); - e_menu_item_label_set(mi, con->name); - e_menu_item_submenu_set(mi, cf->menu); - - if (!cf->conf->enabled) - _uptime_face_disable(cf); - else - _uptime_face_enable(cf); - } - } + E_Menu *mn; + E_Menu_Item *mi; + int x, y, w, h; + + mn = e_menu_new(); + e_menu_post_deactivate_callback_set(mn, _ut_menu_cb_post, inst); + ut_config->menu = mn; + + mi = e_menu_item_new(mn); + e_menu_item_label_set(mi, D_("Configuration")); + e_util_menu_item_edje_icon_set(mi, "enlightenment/configuration"); + e_menu_item_callback_set(mi, _ut_menu_cb_configure, inst); + + mi = e_menu_item_new(mn); + e_menu_item_separator_set(mi, 1); + + e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, &w, &h); + e_menu_activate_mouse(mn, e_util_zone_current_get(e_manager_current_get()), + x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); + evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); } - return c; } static void -_uptime_shutdown(Uptime *c) +_ut_menu_cb_post(void *data, E_Menu *m) { - _uptime_face_free(c->face); - - E_FREE(c->conf); - E_CONFIG_DD_FREE(c->conf_edd); - E_FREE(c); + if (!ut_config->menu) return; + e_object_del(E_OBJECT(ut_config->menu)); + ut_config->menu = NULL; } static void -_uptime_config_menu_new(Uptime *c) +_ut_menu_cb_configure(void *data, E_Menu *m, E_Menu_Item *mi) { - E_Menu *mn; - - mn = e_menu_new(); - c->config_menu = mn; + Instance *inst; + Config_Item *ci; + + inst = data; + ci = _ut_config_item_get(inst->gcc->id); + _config_ut_module(ci); } -static int -_uptime_face_init(Uptime_Face *cf) +static Config_Item * +_ut_config_item_get(const char *id) { - Evas_Object *o; + Evas_List *l; + Config_Item *ci; char buf[4096]; - - evas_event_freeze(cf->evas); - - o = edje_object_add(cf->evas); - cf->uptime_obj = o; - - if (!e_theme_edje_object_set(o, "base/theme/modules/uptime", "modules/uptime/main")) + + for (l = ut_config->items; l; l = l->next) { - snprintf(buf, sizeof(buf), PACKAGE_DATA_DIR "/uptime.edj"); - edje_object_file_set(o, buf, "modules/uptime/main"); + ci = l->data; + if (!ci->id) continue; + if (!strcmp(ci->id, id)) return ci; } - - evas_object_show(o); - - o = evas_object_rectangle_add(cf->evas); - cf->event_obj = o; - evas_object_layer_set(o, 2); - evas_object_repeat_events_set(o, 1); - evas_object_color_set(o, 0, 0, 0, 0); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _uptime_face_cb_mouse_down, cf); - evas_object_show(o); - - cf->gmc = e_gadman_client_new(cf->con->gadman); - e_gadman_client_domain_set(cf->gmc, "module.uptime", uptime_count++); - e_gadman_client_policy_set(cf->gmc, - E_GADMAN_POLICY_ANYWHERE | - E_GADMAN_POLICY_HMOVE | E_GADMAN_POLICY_HSIZE | E_GADMAN_POLICY_VSIZE | E_GADMAN_POLICY_VMOVE); - e_gadman_client_auto_size_set(cf->gmc, 40, 40); - e_gadman_client_align_set(cf->gmc, 1.0, 1.0); - e_gadman_client_resize(cf->gmc, 160, 20); - e_gadman_client_change_func_set(cf->gmc, _uptime_face_cb_gmc_change, cf); - e_gadman_client_load(cf->gmc); - evas_event_thaw(cf->evas); - - cf->monitor = ecore_timer_add((double)cf->uptime->conf->check_interval, _uptime_face_update_values, cf); - return 1; + ci = E_NEW(Config_Item, 1); + ci->id = evas_stringshare_add(id); + ci->check_interval = 60.0; + + ut_config->items = evas_list_append(ut_config->items, ci); + return ci; +} + +void +_ut_config_updated(const char *id) +{ + Evas_List *l; + Config_Item *ci; + + if (!ut_config) return; + ci = _ut_config_item_get(id); + for (l = ut_config->instances; l; l = l->next) + { + Instance *inst; + + inst = l->data; + if (!inst->gcc->id) continue; + if (!strcmp(inst->gcc->id, ci->id)) + { + if (inst->monitor) ecore_timer_del(inst->monitor); + inst->monitor = ecore_timer_add(ci->check_interval, _ut_cb_check, inst); + break; + } + } + return; } -static void -_uptime_face_menu_new(Uptime_Face *cf) -{ - E_Menu *mn; - E_Menu_Item *mi; - - mn = e_menu_new(); - cf->menu = mn; - - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Configuration")); - e_util_menu_item_edje_icon_set(mi, "enlightenment/configuration"); - e_menu_item_callback_set(mi, _uptime_face_cb_menu_configure, cf); - - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Edit Mode")); - e_util_menu_item_edje_icon_set(mi, "enlightenment/gadgets"); - e_menu_item_callback_set(mi, _uptime_face_cb_menu_edit, cf); -} +EAPI E_Module_Api e_modapi = { + E_MODULE_API_VERSION, + "Uptime" +}; -static void -_uptime_face_enable(Uptime_Face *cf) +EAPI void * +e_modapi_init(E_Module *m) { - cf->conf->enabled = 1; - e_config_save_queue(); - evas_object_show(cf->uptime_obj); - /* evas_object_show(cf->chart_obj); */ - evas_object_show(cf->event_obj); -} + bindtextdomain(PACKAGE, LOCALEDIR); + bind_textdomain_codeset(PACKAGE, "UTF-8"); -static void -_uptime_face_disable(Uptime_Face *cf) -{ - cf->conf->enabled = 0; - e_config_save_queue(); - evas_object_hide(cf->event_obj); - /* evas_object_hide(cf->chart_obj); */ - evas_object_hide(cf->uptime_obj); + conf_item_edd = E_CONFIG_DD_NEW("Uptime_Config_Item", Config_Item); + #undef T + #undef D + #define T Config_Item + #define D conf_item_edd + E_CONFIG_VAL(D, T, id, STR); + E_CONFIG_VAL(D, T, check_interval, DOUBLE); + + conf_edd = E_CONFIG_DD_NEW("Uptime_Config", Config); + #undef T + #undef D + #define T Config + #define D conf_edd + E_CONFIG_LIST(D, T, items, conf_item_edd); + + ut_config = e_config_domain_load("module.uptime", conf_edd); + if (!ut_config) + { + Config_Item *ci; + char buf[4096]; + + ut_config = E_NEW(Config, 1); + ci = E_NEW(Config_Item, 1); + ci->id = evas_stringshare_add("0"); + ci->check_interval = 60.0; + ut_config->items = evas_list_append(ut_config->items, ci); + } + ut_config->module = m; + e_gadcon_provider_register(&_gc_class); + return 1; } -static void -_uptime_face_free(Uptime_Face *cf) +EAPI int +e_modapi_shutdown(E_Module *m) { - if (cf->monitor) - ecore_timer_del(cf->monitor); - if (cf->menu) - e_object_del(E_OBJECT(cf->menu)); - if (cf->event_obj) - evas_object_del(cf->event_obj); - if (cf->uptime_obj) - evas_object_del(cf->uptime_obj); - - /* - * if (cf->chart_obj) - * evas_object_del(cf->chart_obj); - */ - - if (cf->gmc) + ut_config->module = NULL; + e_gadcon_provider_unregister(&_gc_class); + + if (ut_config->config_dialog) + e_object_del(E_OBJECT(ut_config->config_dialog)); + + if (ut_config->menu) { - e_gadman_client_save(cf->gmc); - e_object_del(E_OBJECT(cf->gmc)); + e_menu_post_deactivate_callback_set(ut_config->menu, NULL, NULL); + e_object_del(E_OBJECT(ut_config->menu)); + ut_config->menu = NULL; } - - E_FREE(cf->conf); - E_FREE(cf); - uptime_count--; + while (ut_config->items) + { + Config_Item *ci; + + ci = ut_config->items->data; + ut_config->items = evas_list_remove_list(ut_config->items, ut_config->items); + if (ci->id) evas_stringshare_del(ci->id); + free(ci); + } + free(ut_config); + ut_config = NULL; + E_CONFIG_DD_FREE(conf_item_edd); + E_CONFIG_DD_FREE(conf_edd); + return 1; } -static void -_uptime_face_cb_gmc_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change) +EAPI int +e_modapi_save(E_Module *m) { - Uptime_Face *cf; - Evas_Coord x, y, w, h; - - cf = data; - switch (change) + Evas_List *l; + + for (l = ut_config->instances; l; l = l->next) { - case E_GADMAN_CHANGE_MOVE_RESIZE: - e_gadman_client_geometry_get(cf->gmc, &x, &y, &w, &h); - evas_object_move(cf->uptime_obj, x, y); - /* evas_object_move(cf->chart_obj, x, y); */ - evas_object_move(cf->event_obj, x, y); - evas_object_resize(cf->uptime_obj, w, h); - /* evas_object_resize(cf->chart_obj, w, h); */ - evas_object_resize(cf->event_obj, w, h); - break; - case E_GADMAN_CHANGE_RAISE: - evas_object_raise(cf->uptime_obj); - /* evas_object_raise(cf->chart_obj); */ - evas_object_raise(cf->event_obj); - break; - default: - break; + Instance *inst; + Config_Item *ci; + + inst = l->data; + ci = _ut_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.uptime", conf_edd, ut_config); + return 1; } -static void -_uptime_face_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info) +EAPI int +e_modapi_about(E_Module *m) { - Uptime_Face *cf; - Evas_Event_Mouse_Down *ev; - - ev = event_info; - cf = data; - if (ev->button == 3) - { - e_menu_activate_mouse(cf->menu, e_zone_current_get(cf->con), - ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); - e_util_container_fake_mouse_up_all_later(cf->con); - } + e_module_dialog_show(D_("Enlightenment Uptime Monitor Module"), + D_("This module is used to monitor uptime.")); + return 1; } -static void -_uptime_face_cb_menu_edit(void *data, E_Menu *mn, E_Menu_Item *mi) +static Uptime * +_ut_new(Evas *evas) { - Uptime_Face *cf; + Uptime *ut; + char buf[4096]; + + ut = E_NEW(Uptime, 1); + snprintf(buf, sizeof(buf), "%s/uptime.edj", e_module_dir_get(ut_config->module)); + + ut->ut_obj = edje_object_add(evas); + if (!e_theme_edje_object_set(ut->ut_obj, "base/theme/modules/uptime", "modules/uptime/main")) + edje_object_file_set(ut->ut_obj, buf, "modules/uptime/main"); - cf = data; - e_gadman_mode_set(cf->gmc->gadman, E_GADMAN_MODE_EDIT); + evas_object_show(ut->ut_obj); + return ut; } static void -_uptime_face_cb_menu_configure(void *data, E_Menu *mn, E_Menu_Item *mi) +_ut_free(Uptime *ut) { - Uptime_Face *cf; - - cf = data; - _configure_uptime_module(cf->con, cf->uptime); + evas_object_del(ut->ut_obj); + free(ut); } static int -_uptime_face_update_values(void *data) +_ut_cb_check(void *data) { - Uptime_Face *cf; + Instance *inst; char u_date_time[256]; struct sysinfo s_info; long minute = 60; long hour = minute * 60; long day = hour * 24; - cf = data; + inst = data; + if (!inst) return 0; + sysinfo(&s_info); sprintf(u_date_time, D_("uptime: %ld days, %ld:%02ld:%02ld"), s_info.uptime / day, (s_info.uptime % day) / hour, (s_info.uptime % hour) / minute, s_info.uptime % minute); - edje_object_part_text_set(cf->uptime_obj, "uptime", u_date_time); + edje_object_part_text_set(inst->ut->ut_obj, "uptime", u_date_time); + return 1; } =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_mod_main.h 3 Jun 2006 13:26:01 -0000 1.4 +++ e_mod_main.h 9 Jun 2006 11:42:59 -0000 1.5 @@ -4,47 +4,21 @@ #define E_MOD_MAIN_H typedef struct _Config Config; -typedef struct _Config_Face Config_Face; -typedef struct _Uptime Uptime; -typedef struct _Uptime_Face Uptime_Face; +typedef struct _Config_Item Config_Item; struct _Config { - unsigned char hostname; - int check_interval; -}; - -struct _Config_Face -{ - unsigned char enabled; -}; - -struct _Uptime -{ - E_Menu *config_menu; - Uptime_Face *face; - Config *conf; - - E_Config_DD *conf_edd; - E_Config_Dialog *cfd; + E_Module *module; + E_Config_Dialog *config_dialog; + E_Menu *menu; + Evas_List *instances; + Evas_List *items; }; -struct _Uptime_Face +struct _Config_Item { - Evas *evas; - E_Container *con; - E_Menu *menu; - Uptime *uptime; - - Config_Face *conf; - E_Config_DD *conf_face_edd; - - Evas_Object *uptime_obj; - Evas_Object *event_obj; - - Ecore_Timer *monitor; - - E_Gadman_Client *gmc; + const char *id; + int check_interval; }; EAPI extern E_Module_Api e_modapi; @@ -53,6 +27,8 @@ EAPI int e_modapi_shutdown(E_Module *m); EAPI int e_modapi_save(E_Module *m); EAPI int e_modapi_about(E_Module *m); -EAPI int e_modapi_config(E_Module *m); + +void _config_ut_module(Config_Item *ci); +extern Config *ut_config; #endif =================================================================== RCS file: /cvs/e/e_modules/uptime/uptime.edc,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- uptime.edc 21 May 2006 08:18:19 -0000 1.5 +++ uptime.edc 9 Jun 2006 11:42:59 -0000 1.6 @@ -19,7 +19,7 @@ { name: "base"; type: RECT; - mouse_events: 0; + mouse_events: 1; description { state: "default" 0.0; @@ -33,7 +33,7 @@ type, TEXT; clip_to: "base"; effect, OUTLINE_SOFT_SHADOW; - mouse_events, 0; + mouse_events, 1; description { state: "default" 0.0; @@ -48,7 +48,7 @@ relative: 1.0 1.0; } color: 255 255 255 255; - color2: 64 64 64 255; + color2: 64 64 64 255; color3: 128 128 128 192; text { @@ -60,8 +60,7 @@ } } } - } + } } } - _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs