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

Reply via email to