On Mon, 27 Nov 2006 07:57:03 +0100 Anders Troback <[EMAIL PROTECTED]> wrote:
> Just want to say: Good idea :-) I now have to go through all categories to find what I am looking for. Its probably just me though. I don't mind much because I only look at... never. > \\troback > > On Sun, 26 Nov 2006 11:10:49 -0500 (EST) > Enlightenment CVS <[EMAIL PROTECTED]> wrote: > > > Enlightenment CVS committal > > > > Author : devilhorns > > Project : e17 > > Module : apps/e > > > > Dir : e17/apps/e/src/bin > > > > > > Modified Files: > > e_configure.h e_configure.c > > > > > > Log Message: > > Redo Config Panel as per conversation with raster, using 2 lists now. > > > > =================================================================== > > RCS file: /cvs/e/e17/apps/e/src/bin/e_configure.h,v > > retrieving revision 1.6 > > retrieving revision 1.7 > > diff -u -3 -r1.6 -r1.7 > > --- e_configure.h 27 Mar 2006 14:46:26 -0000 1.6 > > +++ e_configure.h 26 Nov 2006 16:10:48 -0000 1.7 > > @@ -1,6 +1,10 @@ > > #ifdef E_TYPEDEFS > > > > typedef struct _E_Configure E_Configure; > > +typedef struct _E_Configure_CB E_Configure_CB; > > + > > +typedef struct _E_Configure_Category E_Configure_Category; > > +typedef struct _E_Configure_Item E_Configure_Item; > > > > #else > > #ifndef E_CONFIGURE_H > > @@ -8,23 +12,46 @@ > > > > #define E_CONFIGURE_TYPE 0xE0b01014 > > > > -struct _E_Configure > > +struct _E_Configure > > { > > - E_Object e_obj_inherit; > > - > > + E_Object e_obj_inherit; > > + > > E_Container *con; > > - E_Win *win; > > - Evas *evas; > > + E_Win *win; > > + Evas *evas; > > Evas_Object *edje; > > - Evas_Object *ilist; > > + > > + Evas_Object *o_list; > > + Evas_Object *cat_list; > > + Evas_Object *item_list; > > Evas_Object *close; > > > > - Evas_List *cblist; > > + Evas_List *cats; > > +}; > > + > > +struct _E_Configure_CB > > +{ > > + E_Configure *eco; > > + E_Config_Dialog *(*func) (E_Container *con); > > +}; > > + > > +struct _E_Configure_Category > > +{ > > + E_Configure *eco; > > + const char *label; > > + > > + Evas_List *items; > > +}; > > + > > +struct _E_Configure_Item > > +{ > > + E_Configure_CB *cb; > > + > > + const char *label; > > + const char *icon; > > }; > > > > EAPI E_Configure *e_configure_show(E_Container *con); > > -EAPI void e_configure_standard_item_add(E_Configure *eco, > > char *icon, char *label, E_Config_Dialog *(*func) (E_Container > > *con)); -EAPI void e_configure_header_item_add(E_Configure > > *eco, char *icon, char *label); > > - > > + > > #endif > > #endif > > =================================================================== > > RCS file: /cvs/e/e17/apps/e/src/bin/e_configure.c,v > > retrieving revision 1.72 > > retrieving revision 1.73 > > diff -u -3 -r1.72 -r1.73 > > --- e_configure.c 16 Nov 2006 17:44:20 -0000 1.72 > > +++ e_configure.c 26 Nov 2006 16:10:48 -0000 1.73 > > @@ -1,242 +1,318 @@ > > #include "e.h" > > > > -typedef struct _E_Configure_CB E_Configure_CB; > > - > > -struct _E_Configure_CB > > -{ > > - E_Configure *eco; > > - E_Config_Dialog *(*func) (E_Container *con); > > -}; > > - > > -static void _e_configure_free(E_Configure *app); > > +static void _e_configure_free(E_Configure *eco); > > static void _e_configure_cb_del_req(E_Win *win); > > static void _e_configure_cb_resize(E_Win *win); > > -static void _e_configure_cb_standard(void *data); > > static void _e_configure_cb_close(void *data, void *data2); > > +static E_Configure_Category *_e_configure_category_add(E_Configure > > *eco, char *label, char *icon); +static void > > _e_configure_category_cb(void *data); +static E_Configure_Item > > *_e_configure_item_add(E_Configure_Category *cat, char *label, char > > *icon, E_Config_Dialog *(*func) (E_Container *con)); +static void > > _e_configure_item_cb(void *data); static E_Configure *_e_configure = > > NULL; > > EAPI E_Configure * > > -e_configure_show(E_Container *con) > > +e_configure_show(E_Container *con) > > { > > E_Configure *eco; > > + E_Configure_Category *cat; > > E_Manager *man; > > Evas_Coord ew, eh, mw, mh; > > - > > - if (_e_configure) > > + > > + if (_e_configure) > > { > > - E_Zone *z; > > + E_Zone *z, *z2; > > > > eco = _e_configure; > > z = e_util_zone_current_get(e_manager_current_get()); > > - e_border_uniconify(eco->win->border); > > + z2 = eco->win->border->zone; > > e_win_show(eco->win); > > e_win_raise(eco->win); > > - if (z->container == eco->win->border->zone->container) > > + if (z->container == z2->container) > > e_border_desk_set(eco->win->border, e_desk_current_get(z)); > > - else > > + else > > { > > if (!eco->win->border->sticky) > > e_desk_show(eco->win->border->desk); > > - > > ecore_x_pointer_warp(eco->win->border->zone->container->win, > > - eco->win->border->zone->x + > > (eco->win->border->zone->w / 2), > > - eco->win->border->zone->y + > > (eco->win->border->zone->h / 2)); > > + ecore_x_pointer_warp(z2->container->win, > > + z2->x + (z2->w / 2), z2->y + > > (z2->h / 2)); } > > e_border_unshade(eco->win->border, E_DIRECTION_DOWN); > > return NULL; > > } > > > > - if (!con) > > + if (!con) > > { > > man = e_manager_current_get(); > > if (!man) return NULL; > > con = e_container_current_get(man); > > - if (!con) con = e_container_number_get(man, 0); > > + if (!con) > > + con = e_container_number_get(man, 0); > > if (!con) return NULL; > > } > > - > > + > > eco = E_OBJECT_ALLOC(E_Configure, E_CONFIGURE_TYPE, > > _e_configure_free); if (!eco) return NULL; > > - eco->win = e_win_new(con); > > - if (!eco->win) > > + eco->win = e_win_new(con); > > + if (!eco->win) > > { > > free(eco); > > return NULL; > > } > > eco->win->data = eco; > > - > > eco->con = con; > > + eco->evas = e_win_evas_get(eco->win); > > > > e_win_title_set(eco->win, _("Enlightenment Configuration")); > > e_win_name_class_set(eco->win, "E", "_configure"); > > e_win_dialog_set(eco->win, 1); > > - eco->evas = e_win_evas_get(eco->win); > > e_win_delete_callback_set(eco->win, _e_configure_cb_del_req); > > - e_win_resize_callback_set(eco->win, _e_configure_cb_resize); > > + e_win_resize_callback_set(eco->win, _e_configure_cb_resize); > > e_win_centered_set(eco->win, 1); > > - > > + > > eco->edje = edje_object_add(eco->evas); > > - e_theme_edje_object_set(eco->edje, "base/theme/configure", > > - "e/widgets/configure/main"); > > - > > - /* 24 */ > > - eco->ilist = e_widget_ilist_add(eco->evas, 32, 32, NULL); > > - e_widget_ilist_selector_set(eco->ilist, 1); > > - e_widget_min_size_get(eco->ilist, &mw, &mh); > > - edje_extern_object_min_size_set(eco->ilist, mw, mh); > > - edje_object_part_swallow(eco->edje, "e.swallow.content", > > eco->ilist); > > - edje_object_part_text_set(eco->edje, "title", _("Configuration > > Panel")); - > > - /* add items here */ > > - e_configure_header_item_add(eco, "enlightenment/appearance", > > _("Appearance")); > > - e_configure_standard_item_add(eco, "enlightenment/background", > > _("Wallpaper"), e_int_config_wallpaper); > > - e_configure_standard_item_add(eco, "enlightenment/themes", > > _("Theme"), e_int_config_theme); > > - e_configure_standard_item_add(eco, "enlightenment/colors", > > _("Colors"), e_int_config_color_classes); > > - e_configure_standard_item_add(eco, "enlightenment/fonts", > > _("Fonts"), e_int_config_fonts); > > - e_configure_standard_item_add(eco, "enlightenment/windows", > > _("Borders"), e_int_config_borders); > > - e_configure_standard_item_add(eco, "enlightenment/icon_theme", > > _("Icon Theme"), e_int_config_icon_themes); > > - e_configure_standard_item_add(eco, "enlightenment/mouse", > > _("Mouse Cursor"), e_int_config_cursor); > > - e_configure_standard_item_add(eco, "enlightenment/windows", > > _("Window Display"), e_int_config_window_display); > > - e_configure_standard_item_add(eco, "enlightenment/transitions", > > _("Transitions"), e_int_config_transitions); > > - e_configure_standard_item_add(eco, "enlightenment/shelf", > > _("Shelves"), e_int_config_shelf); > > - > > - e_configure_header_item_add(eco, "enlightenment/screen_setup", > > _("Screen")); > > - e_configure_standard_item_add(eco, "enlightenment/desktops", > > _("Virtual Desktops"), e_int_config_desks); > > - e_configure_standard_item_add(eco, > > "enlightenment/screen_resolution", _("Screen Resolution"), > > e_int_config_display); > > - e_configure_standard_item_add(eco, "enlightenment/desklock", > > _("Screen Lock"), e_int_config_desklock); > > - > > - e_configure_header_item_add(eco, "enlightenment/behavior", > > _("Behavior")); > > - e_configure_standard_item_add(eco, "enlightenment/focus", > > _("Window Focus"), e_int_config_focus); > > - e_configure_standard_item_add(eco, "enlightenment/keys", _("Key > > Bindings"), e_int_config_keybindings); > > - e_configure_standard_item_add(eco, "enlightenment/mouse_clean", > > _("Mouse Bindings"), e_int_config_mousebindings); > > - e_configure_standard_item_add(eco, "enlightenment/menus", > > _("Menus"), e_int_config_menus); > > - > > - e_configure_header_item_add(eco, "enlightenment/misc", > > _("Miscellaneous")); > > + e_theme_edje_object_set(eco->edje, "base/theme/configure", > > "e/widgets/configure/main"); + > > + eco->o_list = e_widget_list_add(eco->evas, 0, 1); > > + edje_object_part_swallow(eco->edje, "e.swallow.content", > > eco->o_list); + > > + /* Category List */ > > + eco->cat_list = e_widget_ilist_add(eco->evas, 32, 32, NULL); > > + e_widget_list_object_append(eco->o_list, eco->cat_list, 1, 1, > > 0.5); > > + > > + /* Item List */ > > + eco->item_list = e_widget_ilist_add(eco->evas, 32, 32, NULL); > > + e_widget_list_object_append(eco->o_list, eco->item_list, 1, 1, > > 0.5); > > + > > + /* Add "Categories" & "Items" Here */ > > + cat = _e_configure_category_add(eco, _("Appearance"), > > "enlightenment/appearance"); > > + _e_configure_item_add(cat, _("Wallpaper"), > > "enlightenment/background", e_int_config_wallpaper); > > + _e_configure_item_add(cat, _("Theme"), "enlightenment/themes", > > e_int_config_theme); > > + _e_configure_item_add(cat, _("Colors"), "enlightenment/colors", > > e_int_config_color_classes); > > + _e_configure_item_add(cat, _("Fonts"), "enlightenment/fonts", > > e_int_config_fonts); > > + _e_configure_item_add(cat, _("Borders"), "enlightenment/windows", > > e_int_config_borders); > > + _e_configure_item_add(cat, _("Icon Theme"), > > "enlightenment/icon_theme", e_int_config_icon_themes); > > + _e_configure_item_add(cat, _("Mouse Cursor"), > > "enlightenment/mouse", e_int_config_cursor); > > + _e_configure_item_add(cat, _("Window Display"), > > "enlightenment/windows", e_int_config_window_display); > > + _e_configure_item_add(cat, _("Transitions"), > > "enlightenment/transitions", e_int_config_transitions); > > + _e_configure_item_add(cat, _("Shelves"), "enlightenment/shelf", > > e_int_config_shelf); + > > + /* Preselect "Appearance" */ > > + e_widget_ilist_selected_set(eco->cat_list, 0); > > + _e_configure_category_cb(cat); > > + > > + cat = _e_configure_category_add(eco, _("Screen"), > > "enlightenment/screen_setup"); > > + _e_configure_item_add(cat, _("Virtual Desktops"), > > "enlightenment/desktops", e_int_config_desks); > > + _e_configure_item_add(cat, _("Screen Resolution"), > > "enlightenment/screen_resolution", e_int_config_display); > > + _e_configure_item_add(cat, _("Screen Lock"), > > "enlightenment/desklock", e_int_config_desklock); + > > + cat = _e_configure_category_add(eco, _("Behavior"), > > "enlightenment/behavior"); > > + _e_configure_item_add(cat, _("Window Focus"), > > "enlightenment/focus", e_int_config_focus); > > + _e_configure_item_add(cat, _("Key Bindings"), > > "enlightenment/keys", e_int_config_keybindings); > > + _e_configure_item_add(cat, _("Mouse Bindings"), > > "enlightenment/mouse_clean", e_int_config_mousebindings); > > + _e_configure_item_add(cat, _("Menus"), "enlightenment/menus", > > e_int_config_menus); + > > + cat = _e_configure_category_add(eco, _("Miscellaneous"), > > "enlightenment/misc"); #ifdef ENABLE_FAVORITES > > - e_configure_standard_item_add(eco, "enlightenment/applications", > > _("Application Menus"), e_int_config_apps); > > + _e_configure_item_add(cat, _("Application Menus"), > > "enlightenment/applications", e_int_config_apps); #else > > - e_configure_standard_item_add(eco, "enlightenment/applications", > > _("Applications Menu"), e_int_config_apps); > > + _e_configure_item_add(cat, _("Applications Menu"), > > "enlightenment/applications", e_int_config_apps); #endif > > - e_configure_standard_item_add(eco, "enlightenment/performance", > > _("Performance"), e_int_config_performance); > > - e_configure_standard_item_add(eco, "enlightenment/configuration", > > _("Configuration Dialogs"), e_int_config_cfgdialogs); > > - e_configure_standard_item_add(eco, "enlightenment/intl", > > _("Language Settings"), e_int_config_intl); > > - > > - e_configure_header_item_add(eco, "enlightenment/advanced", > > _("Advanced")); > > - e_configure_standard_item_add(eco, "enlightenment/startup", > > _("Startup"), e_int_config_startup); > > - e_configure_standard_item_add(eco, "enlightenment/winlist", > > _("Window List"), e_int_config_winlist); > > - e_configure_standard_item_add(eco, > > "enlightenment/window_manipulation", _("Window Manipulation"), > > e_int_config_window_manipulation); > > - e_configure_standard_item_add(eco, "enlightenment/run", _("Run > > Command"), e_int_config_exebuf); > > - e_configure_standard_item_add(eco, "enlightenment/directories", > > _("Search Directories"), e_int_config_paths); > > - e_configure_standard_item_add(eco, "enlightenment/e", _("File > > Associations"), e_int_config_mime); > > + _e_configure_item_add(cat, _("Performance"), > > "enlightenment/performance", e_int_config_performance); > > + _e_configure_item_add(cat, _("Configuration Dialogs"), > > "enlightenment/configuration", e_int_config_cfgdialogs); > > + _e_configure_item_add(cat, _("Language Settings"), > > "enlightenment/intl", e_int_config_intl); + > > + cat = _e_configure_category_add(eco, _("Advanced"), > > "enlightenment/advanced"); > > + _e_configure_item_add(cat, _("Startup"), "enlightenment/startup", > > e_int_config_startup); > > + _e_configure_item_add(cat, _("Window List"), > > "enlightenment/winlist", e_int_config_winlist); > > + _e_configure_item_add(cat, _("Window Manipulation"), > > "enlightenment/window_manipulation", > > e_int_config_window_manipulation); > > + _e_configure_item_add(cat, _("Run Command"), "enlightenment/run", > > e_int_config_exebuf); > > + _e_configure_item_add(cat, _("Search Directories"), > > "enlightenment/directories", e_int_config_paths); > > + _e_configure_item_add(cat, _("File Associations"), > > "enlightenment/e", e_int_config_mime); > > - e_configure_header_item_add(eco, "enlightenment/extensions", > > _("Extensions")); > > - e_configure_standard_item_add(eco, "enlightenment/modules", > > _("Modules"), e_int_config_modules); > > - > > - /* FIXME: we should have a way for modules to hook in here and > > add their > > - * own entries > > + cat = _e_configure_category_add(eco, _("Extensions"), > > "enlightenment/extensions"); > > + _e_configure_item_add(cat, _("Modules"), "enlightenment/modules", > > e_int_config_modules); + > > + /* FIXME: we should have a way for modules to hook in here and > > add their own entries > > * > > - * e_configure_header_item_add(eco, > > "enlightenment/extension_config", _("Extension Configuration")); > > + * cat = _e_configure_category_add(eco, _("Extension > > Configuration"), "enlightenment/extension_config"); */ > > > > - eco->close = e_widget_button_add(eco->evas, _("Close"), NULL, > > _e_configure_cb_close, eco, NULL); > > + /* Resize the "Category" list */ > > + e_widget_min_size_get(eco->cat_list, &mw, &mh); > > + edje_extern_object_min_size_set(eco->cat_list, mw, mh); > > + > > + /* Close Button */ > > + eco->close = e_widget_button_add(eco->evas, _("Close"), NULL, > > + _e_configure_cb_close, eco, > > NULL); e_widget_min_size_get(eco->close, &mw, &mh); > > edje_extern_object_min_size_set(eco->close, mw, mh); > > edje_object_part_swallow(eco->edje, "e.swallow.button", > > eco->close); - > > + > > edje_object_size_min_calc(eco->edje, &ew, &eh); > > e_win_resize(eco->win, ew, eh); > > e_win_size_min_set(eco->win, ew, eh); > > > > - evas_object_show(eco->ilist); > > - evas_object_show(eco->close); > > evas_object_show(eco->edje); > > - > > e_win_show(eco->win); > > eco->win->border->internal_icon = > > evas_stringshare_add("enlightenment/configuration"); > > - e_widget_focus_set(eco->ilist, 1); > > - e_widget_ilist_go(eco->ilist); > > - > > - _e_configure = eco; > > + e_widget_focus_set(eco->cat_list, 1); > > + e_widget_ilist_go(eco->cat_list); > > > > + _e_configure = eco; > > return eco; > > } > > > > -EAPI void > > -e_configure_standard_item_add(E_Configure *eco, char *icon, char > > *label, E_Config_Dialog *(*func) (E_Container *con)) -{ > > - Evas_Object *o; > > - E_Configure_CB *ecocb; > > - > > - o = edje_object_add(eco->evas); > > - e_util_edje_icon_set(o, icon); > > - ecocb = E_NEW(E_Configure_CB, 1); > > - ecocb->eco = eco; > > - ecocb->func = func; > > - eco->cblist = evas_list_append(eco->cblist, ecocb); > > - e_widget_ilist_append(eco->ilist, o, label, > > _e_configure_cb_standard, ecocb, NULL); -} > > - > > -EAPI void > > -e_configure_header_item_add(E_Configure *eco, char *icon, char > > *label) -{ > > - Evas_Object *o; > > - > > - o = edje_object_add(eco->evas); > > - e_util_edje_icon_set(o, icon); > > - e_widget_ilist_header_append(eco->ilist, o, label); > > -} > > - > > -/* local subsystem functions */ > > -static void > > -_e_configure_free(E_Configure *eco) > > +static void > > +_e_configure_free(E_Configure *eco) > > { > > _e_configure = NULL; > > - while (eco->cblist) > > + while (eco->cats) > > { > > - free(eco->cblist->data); > > - eco->cblist = evas_list_remove_list(eco->cblist, > > eco->cblist); > > + E_Configure_Category *cat; > > + > > + cat = eco->cats->data; > > + if (!cat) continue; > > + if (cat->label) > > + evas_stringshare_del(cat->label); > > + > > + while (cat->items) > > + { > > + E_Configure_Item *ci; > > + > > + ci = cat->items->data; > > + if (!ci) continue; > > + if (ci->label) > > + evas_stringshare_del(ci->label); > > + if (ci->icon) > > + evas_stringshare_del(ci->icon); > > + if (ci->cb) > > + free(ci->cb); > > + cat->items = evas_list_remove_list(cat->items, > > cat->items); > > + E_FREE(ci); > > + } > > + eco->cats = evas_list_remove_list(eco->cats, eco->cats); > > + E_FREE(cat); > > } > > evas_object_del(eco->edje); > > - evas_object_del(eco->ilist); > > e_object_del(E_OBJECT(eco->win)); > > free(eco); > > } > > > > -static void > > -_e_configure_cb_del_req(E_Win *win) > > +static void > > +_e_configure_cb_del_req(E_Win *win) > > { > > E_Configure *eco; > > - > > + > > eco = win->data; > > - if (eco) e_object_del(E_OBJECT(eco)); > > + if (!eco) return; > > + e_object_del(E_OBJECT(eco)); > > } > > > > -static void > > -_e_configure_cb_resize(E_Win *win) > > +static void > > +_e_configure_cb_resize(E_Win *win) > > { > > - Evas_Coord w, h; > > E_Configure *eco; > > - > > - ecore_evas_geometry_get(win->ecore_evas, NULL, NULL, &w, &h); > > + Evas_Coord w, h; > > + > > eco = win->data; > > + if (!eco) return; > > + ecore_evas_geometry_get(win->ecore_evas, NULL, NULL, &w, &h); > > evas_object_resize(eco->edje, w, h); > > } > > > > -static void > > -_e_configure_cb_standard(void *data) > > +static void > > +_e_configure_cb_close(void *data, void *data2) > > { > > - E_Configure_CB *ecocb; > > + E_Configure *eco; > > > > - ecocb = data; > > - ecocb->func(ecocb->eco->con); > > + eco = data; > > + if (!eco) return; > > + e_object_del(E_OBJECT(eco)); > > } > > > > -static void > > -_e_configure_cb_close(void *data, void *data2) > > +static E_Configure_Category * > > +_e_configure_category_add(E_Configure *eco, char *label, char *icon) > > { > > + Evas_Object *o = NULL; > > + E_Configure_Category *cat; > > + > > + if (!eco) return NULL; > > + if (!label) return NULL; > > + > > + cat = E_NEW(E_Configure_Category, 1); > > + cat->eco = eco; > > + cat->label = evas_stringshare_add(label); > > + if (icon) > > + { > > + o = edje_object_add(eco->evas); > > + e_util_edje_icon_set(o, icon); > > + } > > + eco->cats = evas_list_append(eco->cats, cat); > > + > > + e_widget_ilist_append(eco->cat_list, o, label, > > _e_configure_category_cb, cat, NULL); > > + return cat; > > +} > > + > > +static void > > +_e_configure_category_cb(void *data) > > +{ > > + E_Configure_Category *cat; > > E_Configure *eco; > > + Evas_List *l; > > > > - eco = data; > > - if (eco) e_object_del(E_OBJECT(eco)); > > + cat = data; > > + if (!cat) return; > > + eco = cat->eco; > > + > > + e_widget_ilist_clear(eco->item_list); > > + for (l = cat->items; l; l = l->next) > > + { > > + E_Configure_Item *ci; > > + Evas_Object *o = NULL; > > + > > + ci = l->data; > > + if (!ci) continue; > > + if (ci->icon) > > + { > > + o = edje_object_add(eco->evas); > > + e_util_edje_icon_set(o, ci->icon); > > + } > > + e_widget_ilist_append(eco->item_list, o, ci->label, > > _e_configure_item_cb, ci, NULL); > > + } > > + e_widget_ilist_go(eco->item_list); > > +} > > + > > +static E_Configure_Item * > > +_e_configure_item_add(E_Configure_Category *cat, char *label, char > > *icon, E_Config_Dialog *(*func) (E_Container *con)) +{ > > + E_Configure_Item *ci; > > + E_Configure_CB *cb; > > + > > + if (!cat) return NULL; > > + if (!label) return NULL; > > + > > + ci = E_NEW(E_Configure_Item, 1); > > + cb = E_NEW(E_Configure_CB, 1); > > + cb->eco = cat->eco; > > + cb->func = func; > > + ci->cb = cb; > > + ci->label = evas_stringshare_add(label); > > + if (icon) > > + ci->icon = evas_stringshare_add(icon); > > + cat->items = evas_list_append(cat->items, ci); > > + return ci; > > +} > > + > > +static void > > +_e_configure_item_cb(void *data) > > +{ > > + E_Configure_Item *ci; > > + E_Configure_CB *cb; > > + > > + ci = data; > > + if (!ci) return; > > + cb = ci->cb; > > + cb->func(cb->eco->con); > > } > > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to > > share your opinions on IT & business topics through brief surveys - > > and earn cash > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ enlightenment-cvs > > mailing list enlightenment-cvs@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs > > > -- > > ============================================ > Microsoft is not the answer. > Microsoft is the question. > And 'No' is the answer! > -------------------------------------------- > Anders Trobäck > http://www.troback.com > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Stafford M. Horne Senior Engineer 高级工程师 SurfControl plc 美讯智科技 Peoples Republic of China, Beijing 中华人民共和国, 北京 Mobile: +86 13611014044 手机:+86 13611014044 (Website) http://blog.shorne-pla.net/ (网站) ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel