Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_configure.c e_configure.h e_desklock.c e_int_border_menu.c e_int_config_apps.c e_int_config_borders.c e_int_config_borders.h e_int_config_desk.c e_int_config_desk.h e_int_config_dpms.c e_int_config_theme.h e_int_config_wallpaper.c e_int_config_wallpaper.h e_int_menus.c e_test.c e_widget_desk_preview.c Log Message: abstract config dialogs more - include params. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_configure.c,v retrieving revision 1.100 retrieving revision 1.101 diff -u -3 -r1.100 -r1.101 --- e_configure.c 3 Jul 2007 15:19:09 -0000 1.100 +++ e_configure.c 4 Jul 2007 11:11:02 -0000 1.101 @@ -60,14 +60,14 @@ const char *label; const char *icon_file; const char *icon; - E_Config_Dialog *(*func) (E_Container *con); + E_Config_Dialog *(*func) (E_Container *con, const char *params); }; static E_Configure *_e_configure = NULL; static Evas_List *_e_configure_registry = NULL; EAPI void -e_configure_registry_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con)) +e_configure_registry_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params)) { Evas_List *l; char *cat; @@ -215,7 +215,7 @@ } EAPI void -e_configure_registry_call(const char *path, E_Container *con) +e_configure_registry_call(const char *path, E_Container *con, const char *params) { Evas_List *l; char *cat; @@ -242,7 +242,7 @@ printf("%s == %s\n", item, eci->item); if (!strcmp(item, eci->item)) { - if (eci->func) eci->func(con); + if (eci->func) eci->func(con, params); goto done; } } @@ -478,6 +478,17 @@ e_configure_registry_category_add("extensions", 90, _("Extensions"), NULL, "enlightenment/extensions"); e_configure_registry_item_add("extensions/modules", 10, _("Modules"), NULL, "enlightenment/modules", e_int_config_modules); e_configure_registry_item_add("extensions/shelves", 20, _("Shelves"), NULL, "enlightenment/shelf", e_int_config_shelf); + + /* internal calls - not in config dialog but accessible from other code + * that knows these config dialogs exist and how to interact. they require + * parameters to be passed and will not work without them being set and + * set properly + */ + e_configure_registry_category_add("internal", -1, _("Internal"), NULL, "enlightenment/internal"); + e_configure_registry_item_add("internal/borders_border", -1, _("Border"), NULL, "enlightenment/windows", e_int_config_borders_border); + e_configure_registry_item_add("internal/wallpaper_desk", -1, _("Wallpaper"), NULL, "enlightenment/windows", e_int_config_wallpaper_desk); + e_configure_registry_item_add("internal/desk", -1, _("Desk"), NULL, "enlightenment/windows", e_int_config_desk); + e_configure_registry_item_add("internal/ibar_other", -1, _("IBar Other"), NULL, "enlightenment/windows", e_int_config_apps_ibar_other); } static void @@ -644,7 +655,7 @@ ci = data; if (!ci) return; cb = ci->cb; - if (cb->path) e_configure_registry_call(cb->path, cb->eco->con); + if (cb->path) e_configure_registry_call(cb->path, cb->eco->con, NULL); } static void @@ -748,7 +759,7 @@ E_Configure_Cat *ecat; ecat = l->data; - if (ecat->items) + if ((ecat->pri >= 0) && (ecat->items)) { cat = _e_configure_category_add(eco, ecat->label, ecat->icon); for (ll = ecat->items; ll; ll = ll->next) @@ -757,8 +768,11 @@ char buf[1024]; eci = ll->data; - snprintf(buf, sizeof(buf), "%s/%s", ecat->cat, eci->item); - _e_configure_item_add(cat, eci->label, eci->icon, buf); + if (eci->pri >= 0) + { + snprintf(buf, sizeof(buf), "%s/%s", ecat->cat, eci->item); + _e_configure_item_add(cat, eci->label, eci->icon, buf); + } } } } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_configure.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- e_configure.h 3 Jul 2007 15:19:09 -0000 1.8 +++ e_configure.h 4 Jul 2007 11:11:02 -0000 1.9 @@ -25,11 +25,11 @@ Evas_List *cats; }; -EAPI void e_configure_registry_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con)); +EAPI void e_configure_registry_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params)); EAPI void e_configure_registry_item_del(const char *path); EAPI void e_configure_registry_category_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon); EAPI void e_configure_registry_category_del(const char *path); -EAPI void e_configure_registry_call(const char *path, E_Container *con); +EAPI void e_configure_registry_call(const char *path, E_Container *con, const char *params); EAPI int e_configure_registry_exists(const char *path); EAPI E_Configure *e_configure_show(E_Container *con); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_desklock.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -3 -r1.42 -r1.43 --- e_desklock.c 3 Jul 2007 15:19:09 -0000 1.42 +++ e_desklock.c 4 Jul 2007 11:11:02 -0000 1.43 @@ -158,7 +158,7 @@ zone = e_util_zone_current_get(e_manager_current_get()); if (zone) - e_configure_registry_call("screen/screen_lock", zone->container); + e_configure_registry_call("screen/screen_lock", zone->container, NULL); return 0; } #ifdef HAVE_PAM =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_border_menu.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- e_int_border_menu.c 18 Jun 2007 18:46:33 -0000 1.64 +++ e_int_border_menu.c 4 Jul 2007 11:11:02 -0000 1.65 @@ -431,9 +431,12 @@ _e_border_menu_cb_border(void *data, E_Menu *m, E_Menu_Item *mi) { E_Border *bd; + char buf[256]; + bd = data; if (bd->border_border_dialog) return; - e_int_config_borders_border(bd); + snprintf(buf, sizeof(buf), "%p", bd); + e_configure_registry_call("internal/borders_border", bd->zone->container, buf); } static void =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_apps.c,v retrieving revision 1.70 retrieving revision 1.71 diff -u -3 -r1.70 -r1.71 --- e_int_config_apps.c 9 Jun 2007 22:08:56 -0000 1.70 +++ e_int_config_apps.c 4 Jul 2007 11:11:02 -0000 1.71 @@ -125,6 +125,7 @@ { E_Config_Once *once; + if (!path) return NULL; once = E_NEW(E_Config_Once, 1); once->title = _("IBar Applications"); once->icon = "enlightenment/ibar_applications"; =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_borders.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- e_int_config_borders.c 17 Apr 2007 08:58:58 -0000 1.12 +++ e_int_config_borders.c 4 Jul 2007 11:11:02 -0000 1.13 @@ -33,11 +33,16 @@ } EAPI E_Config_Dialog * -e_int_config_borders_border(E_Border *bd) +e_int_config_borders_border(E_Container *con, const char *params) { E_Config_Dialog *cfd; E_Config_Dialog_View *v; + E_Border *bd; + if (!params) return NULL; + bd = NULL; + sscanf(params, "%p", &bd); + if (!bd) return NULL; v = _config_view_new(); if (!v) return NULL; cfd = e_config_dialog_new(bd->zone->container, =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_borders.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_int_config_borders.h 14 Oct 2006 09:43:12 -0000 1.1 +++ e_int_config_borders.h 4 Jul 2007 11:11:02 -0000 1.2 @@ -4,7 +4,7 @@ #define E_INT_CONFIG_BORDERS_H EAPI E_Config_Dialog *e_int_config_borders(E_Container *con); -EAPI E_Config_Dialog *e_int_config_borders_border(E_Border *border); +EAPI E_Config_Dialog *e_int_config_borders_border(E_Container *con, const char *params); #endif #endif =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_desk.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_int_config_desk.c 14 Dec 2006 19:25:19 -0000 1.4 +++ e_int_config_desk.c 4 Jul 2007 11:11:02 -0000 1.5 @@ -21,12 +21,18 @@ }; EAPI E_Config_Dialog * -e_int_config_desk(E_Container *con, int con_num, int zone_num, int dx, int dy) +e_int_config_desk(E_Container *con, const char *params) { E_Config_Dialog *cfd; E_Config_Dialog_View *v; E_Config_Dialog_Data *cfdata; + int con_num, zone_num, dx, dy; + if (!params) return NULL; + con_num = zone_num = dx = dy = -1; + if (sscanf(params, "%i %i %i %i", &con_num, &zone_num, &dx, &dy) != 4) + return NULL; + if (e_config_dialog_find("E", "_config_desk_dialog")) return NULL; v = E_NEW(E_Config_Dialog_View, 1); @@ -169,10 +175,13 @@ _cb_config(void *data, void *data2) { E_Config_Dialog_Data *cfdata; + char buf[256]; cfdata = data; if (!cfdata) return; - e_int_config_wallpaper_desk(cfdata->con_num, cfdata->zone_num, cfdata->desk_x, cfdata->desk_y); + snprintf(buf, sizeof(buf), "%i %i %i %i", + cfdata->con_num, cfdata->zone_num, cfdata->desk_x, cfdata->desk_y); + e_configure_registry_call("internal/wallpaper_desk", e_container_current_get(e_manager_current_get()), buf); } static int =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_desk.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_int_config_desk.h 15 Nov 2006 11:31:30 -0000 1.1 +++ e_int_config_desk.h 4 Jul 2007 11:11:02 -0000 1.2 @@ -3,7 +3,7 @@ #ifndef E_INT_CONFIG_DESK_H #define E_INT_CONFIG_DESK_H -EAPI E_Config_Dialog *e_int_config_desk(E_Container *con, int con_num, int zone_num, int dx, int dy); +EAPI E_Config_Dialog *e_int_config_desk(E_Container *con, const char *params); #endif #endif =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_dpms.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- e_int_config_dpms.c 14 Apr 2007 18:43:49 -0000 1.10 +++ e_int_config_dpms.c 4 Jul 2007 11:11:02 -0000 1.11 @@ -9,8 +9,8 @@ static void _cb_suspend_slider_change(void *data, Evas_Object *obj); static void _cb_off_slider_change(void *data, Evas_Object *obj); -static int _e_int_config_dpms_available(); -static int _e_int_config_dpms_capable(); +static int _e_int_config_dpms_available(void); +static int _e_int_config_dpms_capable(void); struct _E_Config_Dialog_Data { @@ -44,7 +44,7 @@ } static int -_e_int_config_dpms_capable() +_e_int_config_dpms_capable(void) { if (ecore_x_dpms_capable_get()) return 1; @@ -65,7 +65,7 @@ } static int -_e_int_config_dpms_available() +_e_int_config_dpms_available(void) { if (ecore_x_dpms_query()) return 1; =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_theme.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_int_config_theme.h 1 Sep 2006 17:21:23 -0000 1.2 +++ e_int_config_theme.h 4 Jul 2007 11:11:02 -0000 1.3 @@ -7,6 +7,7 @@ #define E_INT_CONFIG_THEME_H EAPI E_Config_Dialog *e_int_config_theme(E_Container *con); + EAPI void e_int_config_theme_import_done(E_Config_Dialog *dia); EAPI void e_int_config_theme_update(E_Config_Dialog *dia, char *file); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_wallpaper.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -3 -r1.32 -r1.33 --- e_int_config_wallpaper.c 2 May 2007 02:25:13 -0000 1.32 +++ e_int_config_wallpaper.c 4 Jul 2007 11:11:02 -0000 1.33 @@ -12,6 +12,8 @@ static int _advanced_apply_data (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_advanced_create_widgets (E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); +static E_Config_Dialog *_e_int_config_wallpaper_desk(E_Container *con, int con_num, int zone_num, int desk_x, int desk_y); + #define E_CONFIG_WALLPAPER_ALL 0 #define E_CONFIG_WALLPAPER_DESK 1 #define E_CONFIG_WALLPAPER_SCREEN 2 @@ -48,16 +50,27 @@ EAPI E_Config_Dialog * e_int_config_wallpaper(E_Container *con) { - return e_int_config_wallpaper_desk(-1, -1, -1, -1); + return _e_int_config_wallpaper_desk(con, -1, -1, -1, -1); } EAPI E_Config_Dialog * -e_int_config_wallpaper_desk(int con_num, int zone_num, int desk_x, int desk_y) +e_int_config_wallpaper_desk(E_Container *con, const char *params) +{ + int con_num, zone_num, desk_x, desk_y; + + if (!params) return NULL; + con_num = zone_num = desk_x = desk_y = -1; + if (sscanf(params, "%i %i %i %i", &con_num, &zone_num, &desk_x, &desk_y) != 4) + return NULL; + _e_int_config_wallpaper_desk(con, con_num, zone_num, desk_x, desk_y); +} + +static E_Config_Dialog * +_e_int_config_wallpaper_desk(E_Container *con, int con_num, int zone_num, int desk_x, int desk_y) { E_Config_Dialog *cfd; E_Config_Dialog_View *v; E_Config_Wallpaper *cw; - E_Container *con; if (e_config_dialog_find("E", "_config_wallpaper_dialog")) return NULL; v = E_NEW(E_Config_Dialog_View, 1); @@ -82,8 +95,6 @@ cw->zone_num = zone_num; cw->desk_x = desk_x; cw->desk_y = desk_y; - - con = e_container_current_get(e_manager_current_get()); cfd = e_config_dialog_new(con, _("Wallpaper Settings"), =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_wallpaper.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_int_config_wallpaper.h 20 Oct 2006 03:23:46 -0000 1.3 +++ e_int_config_wallpaper.h 4 Jul 2007 11:11:02 -0000 1.4 @@ -8,7 +8,8 @@ #define E_INT_CONFIG_WALLPAPER_H EAPI E_Config_Dialog *e_int_config_wallpaper(E_Container *con); -EAPI E_Config_Dialog *e_int_config_wallpaper_desk(int con_num, int zone_num, int desk_x, int desk_y); +EAPI E_Config_Dialog *e_int_config_wallpaper_desk(E_Container *con, const char *params); + EAPI void e_int_config_wallpaper_update(E_Config_Dialog *dia, char *file); EAPI void e_int_config_wallpaper_import_done(E_Config_Dialog *dia); EAPI void e_int_config_wallpaper_gradient_done(E_Config_Dialog *dia); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_menus.c,v retrieving revision 1.216 retrieving revision 1.217 diff -u -3 -r1.216 -r1.217 --- e_int_menus.c 3 Jul 2007 15:19:09 -0000 1.216 +++ e_int_menus.c 4 Jul 2007 11:11:02 -0000 1.217 @@ -714,7 +714,7 @@ static void _e_int_menus_desk_item_cb(void *data, E_Menu *m, E_Menu_Item *mi) { - e_configure_registry_call("screen/virtual_desktops", m->zone->container); + e_configure_registry_call("screen/virtual_desktops", m->zone->container, NULL); } static void @@ -728,25 +728,25 @@ static void _e_int_menus_background_item_cb(void *data, E_Menu *m, E_Menu_Item *mi) { - e_configure_registry_call("appearance/wallpaper", m->zone->container); + e_configure_registry_call("appearance/wallpaper", m->zone->container, NULL); } static void _e_int_menus_theme_item_cb(void *data, E_Menu *m, E_Menu_Item *mi) { - e_configure_registry_call("appearance/theme", m->zone->container); + e_configure_registry_call("appearance/theme", m->zone->container, NULL); } static void _e_int_menus_module_item_cb(void *data, E_Menu *m, E_Menu_Item *mi) { - e_configure_registry_call("extensions/modules", m->zone->container); + e_configure_registry_call("extensions/modules", m->zone->container, NULL); } static void _e_int_menus_shelf_item_cb(void *data, E_Menu *m, E_Menu_Item *mi) { - e_configure_registry_call("extensions/shelves", m->zone->container); + e_configure_registry_call("extensions/shelves", m->zone->container, NULL); } static void @@ -1629,5 +1629,5 @@ static void _e_int_menus_shelves_del_cb(void *data, E_Menu *m, E_Menu_Item *mi) { - e_configure_registry_call("extensions/shelves", m->zone->container); + e_configure_registry_call("extensions/shelves", m->zone->container, NULL); } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_test.c,v retrieving revision 1.77 retrieving revision 1.78 diff -u -3 -r1.77 -r1.78 --- e_test.c 28 Mar 2007 05:58:01 -0000 1.77 +++ e_test.c 4 Jul 2007 11:11:02 -0000 1.78 @@ -217,7 +217,7 @@ { E_Config_Dialog *dia; - dia = e_int_config_focus(con); + dia = e_int_config_modules(con); return dia; } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_desk_preview.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- e_widget_desk_preview.c 3 Jul 2007 15:19:09 -0000 1.13 +++ e_widget_desk_preview.c 4 Jul 2007 11:11:02 -0000 1.14 @@ -257,10 +257,12 @@ if (ev->button == 1) { E_Container *con; + char buf[256]; con = e_container_current_get(e_manager_current_get()); - /* FIXME: this isn't abstracted like the rest of the config. */ - e_int_config_desk(con, dd->container, dd->zone, dd->x, dd->y); + snprintf(buf, sizeof(buf), "%i %i %i %i", + dd->container, dd->zone, dd->x, dd->y); + e_configure_registry_call("internal/desk", con, buf); } } ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs