Enlightenment CVS committal Author : devilhorns Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c e_border.h e_module.c e_module.h Log Message: Module about dialogs now show the module icon in the dialog, and the border. Note: This breaks e_modules until I get them fixed. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.508 retrieving revision 1.509 diff -u -3 -r1.508 -r1.509 --- e_border.c 2 Jul 2006 16:19:51 -0000 1.508 +++ e_border.c 2 Jul 2006 18:55:31 -0000 1.509 @@ -2448,11 +2448,18 @@ if (bd->internal) { o = edje_object_add(evas); - if (!bd->internal_icon) + if ((!bd->internal_icon) && (!bd->module_eap)) e_util_edje_icon_set(o, "enlightenment/e"); - else - if (!e_util_edje_icon_set(o, bd->internal_icon)) - e_util_edje_icon_set(o, "enlightenment/e"); + else if (bd->internal_icon) + { + if (!e_util_edje_icon_set(o, bd->internal_icon)) + e_util_edje_icon_set(o, "enlightenment/e"); + } + else if (bd->module_eap) + { + if (!edje_object_file_set(o, bd->module_eap, "icon")) + e_util_edje_icon_set(o, "enlightenment/e"); + } return o; } if (e_config->use_app_icon) @@ -3030,6 +3037,7 @@ if (bd->client.netwm.name) free(bd->client.netwm.name); if (bd->client.netwm.icon_name) free(bd->client.netwm.icon_name); e_object_del(E_OBJECT(bd->shape)); + if (bd->module_eap) evas_stringshare_del(bd->module_eap); if (bd->internal_icon) evas_stringshare_del(bd->internal_icon); if (bd->icon_object) evas_object_del(bd->icon_object); evas_object_del(bd->bg_object); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.h,v retrieving revision 1.142 retrieving revision 1.143 diff -u -3 -r1.142 -r1.143 --- e_border.h 2 Jul 2006 16:19:51 -0000 1.142 +++ e_border.h 2 Jul 2006 18:55:31 -0000 1.143 @@ -135,7 +135,8 @@ Evas_Object *icon_object; Ecore_X_Window event_win; const char *internal_icon; - + const char *module_eap; + struct { Ecore_X_Window shell_win; Ecore_X_Window win; =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_module.c,v retrieving revision 1.56 retrieving revision 1.57 diff -u -3 -r1.56 -r1.57 --- e_module.c 1 Jun 2006 06:44:35 -0000 1.56 +++ e_module.c 2 Jul 2006 18:55:31 -0000 1.57 @@ -26,6 +26,7 @@ static void _e_module_control_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_module_dialog_disable_show(const char *title, const char *body, E_Module *m); static void _e_module_cb_dialog_disable(void *data, E_Dialog *dia); +static void _e_module_dialog_icon_set(E_Dialog *dia, const char *icon); /* local subsystem globals */ static Evas_List *_e_modules = NULL; @@ -356,20 +357,30 @@ } EAPI void -e_module_dialog_show(const char *title, const char *body) +e_module_dialog_show(E_Module *m, const char *title, const char *body) { E_Dialog *dia; + E_Border *bd; + char eap[4096]; + + if (!m) return; + snprintf(eap, sizeof(eap), "%s/module.eap", e_module_dir_get(m)); + dia = e_dialog_new(e_container_current_get(e_manager_current_get())); if (!dia) return; e_dialog_title_set(dia, title); - e_dialog_icon_set(dia, "enlightenment/modules", 64); + _e_module_dialog_icon_set(dia, eap); e_dialog_text_set(dia, body); e_dialog_button_add(dia, _("OK"), NULL, NULL, NULL); e_dialog_button_focus_num(dia, 0); e_win_centered_set(dia->win, 1); e_dialog_show(dia); + if (!eap) return; + bd = dia->win->border; + if (!bd) return; + bd->module_eap = evas_stringshare_add(eap); } /* local subsystem functions */ @@ -421,7 +432,7 @@ m = e_menu_new(); mi = e_menu_item_new(m); - e_menu_item_label_set(mi, _("Aboutâ¦")); + e_menu_item_label_set(mi, _("About...")); e_menu_item_callback_set(mi, _e_module_control_menu_about, mod); mi = e_menu_item_new(m); @@ -528,4 +539,18 @@ e_object_del(E_OBJECT(m)); e_object_del(E_OBJECT(dia)); e_config_save_queue(); +} + +static void +_e_module_dialog_icon_set(E_Dialog *dia, const char *icon) +{ + /* These should never happen, but just in case */ + if (!dia) return; + if (!icon) return; + + dia->icon_object = edje_object_add(e_win_evas_get(dia->win)); + edje_object_file_set(dia->icon_object, icon, "icon"); + edje_extern_object_min_size_set(dia->icon_object, 64, 64); + edje_object_part_swallow(dia->bg_object, "icon_swallow", dia->icon_object); + evas_object_show(dia->icon_object); } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_module.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- e_module.h 1 Jun 2006 06:44:35 -0000 1.12 +++ e_module.h 2 Jul 2006 18:55:31 -0000 1.13 @@ -57,7 +57,7 @@ EAPI int e_module_save_all(void); EAPI E_Module *e_module_find(const char *name); EAPI Evas_List *e_module_list(void); -EAPI void e_module_dialog_show(const char *title, const char *body); +EAPI void e_module_dialog_show(E_Module *m, const char *title, const char *body); #endif #endif
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs