Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/modules/start


Modified Files:
        e_mod_main.c 


Log Message:


fix remote type
start module actualyl has a semblance of working well... :)

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/start/e_mod_main.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_mod_main.c        18 May 2005 05:06:04 -0000      1.1
+++ e_mod_main.c        18 May 2005 10:18:02 -0000      1.2
@@ -13,6 +13,7 @@
 static void _start_face_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _start_face_cb_gmc_change(void *data, E_Gadman_Client *gmc, 
E_Gadman_Change change);
 static void _start_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, 
void *event_info);
+static void _start_menu_cb_post_deactivate(void *data, E_Menu *m);
 
 static int button_count;
 static E_Config_DD *conf_edd;
@@ -37,7 +38,6 @@
    /* Create the button */
    e = _start_new();
    m->config_menu = e->config_menu;
-   //m->main_menu = e_int_menus_main_new();
    return e;
 }
 
@@ -179,6 +179,7 @@
    face->button_object = o;
    
    e_theme_edje_object_set(o, "base/theme/modules/start", 
"modules/start/main");
+   edje_object_signal_emit(o, "passive", "");
    evas_object_show(o);
    
    o = evas_object_rectangle_add(con->bg_evas);
@@ -234,7 +235,6 @@
    e_menu_item_label_set(mi, _("Edit Mode"));
    e_menu_item_callback_set(mi, _start_face_cb_menu_edit, face);
    
-   face->main_menu = e_int_menus_main_new();
 }
 
 static void
@@ -264,7 +264,7 @@
    evas_object_del(face->button_object);
    evas_object_del(face->event_object);
    e_object_del(E_OBJECT(face->menu));
-   e_object_del(E_OBJECT(face->main_menu));
+   if (face->main_menu) e_object_del(E_OBJECT(face->main_menu));
 
    free(face->conf);
    free(face);
@@ -341,13 +341,34 @@
    ev = event_info;
    if (ev->button == 3)
      {
-       e_menu_activate_mouse(face->menu, e_zone_current_get(face->con), 
ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN);
+       e_menu_activate_mouse(face->menu, e_zone_current_get(face->con), 
+                             ev->output.x, ev->output.y, 1, 1, 
+                             E_MENU_POP_DIRECTION_AUTO);
        e_util_container_fake_mouse_up_all_later(face->con);
      }
    else if (ev->button == 1)
      {
-       /* Pop up main menu */
-       e_menu_activate_mouse(face->main_menu, e_zone_current_get(face->con), 
ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN);
+       Evas_Coord x, y, w, h;
+       
+        e_gadman_client_geometry_get(face->gmc, &x, &y, &w, &h);
+       if (!face->main_menu)
+         face->main_menu = e_int_menus_main_new();
+       e_menu_post_deactivate_callback_set(face->main_menu, 
_start_menu_cb_post_deactivate, face);
+       e_menu_activate_mouse(face->main_menu, e_zone_current_get(face->con), 
+                             x, y, w, h,
+                             E_MENU_POP_DIRECTION_AUTO);
        e_util_container_fake_mouse_up_all_later(face->con);
+       edje_object_signal_emit(face->button_object, "active", "");
      }
 }
+
+static void
+_start_menu_cb_post_deactivate(void *data, E_Menu *m)
+{
+   Start_Face *face;
+   
+   face = data;
+   if (!face->main_menu) return;
+   edje_object_signal_emit(face->button_object, "passive", "");
+   face->main_menu = NULL;
+}




-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to