Enlightenment CVS committal

Author  : englebass
Project : e_modules
Module  : calendar

Dir     : e_modules/calendar


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:
Revert gadcon menu change.

===================================================================
RCS file: /cvs/e/e_modules/calendar/e_mod_main.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- e_mod_main.c        25 Nov 2007 05:05:58 -0000      1.13
+++ e_mod_main.c        2 Dec 2007 16:16:02 -0000       1.14
@@ -38,6 +38,7 @@
 static void _cb_mouse_in(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
 static void _cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
 static void _cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
+static void _menu_cb_post(void *data, E_Menu *m);
 
 static int days_in_month[2][12] =
 {
@@ -54,8 +55,7 @@
 static const E_Gadcon_Client_Class _gc_class = 
 {
    GADCON_CLIENT_CLASS_VERSION, "calendar", 
-     {_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, 
NULL},
-   E_GADCON_CLIENT_STYLE_PLAIN
+     {_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, 
NULL}
 };
 
 static E_Gadcon_Client *
@@ -353,12 +353,15 @@
      {
        e_gadcon_popup_toggle_pinned(inst->popup);
      }
-   if ((ev->button == 3) && (!inst->gcc->menu))
+   if ((ev->button == 3) && (!calendar_conf->menu))
      {
        E_Menu *mn;
        int cx, cy, cw, ch;
 
        mn = e_menu_new();
+       calendar_conf->menu = mn;
+
+       e_menu_post_deactivate_callback_set(mn, _menu_cb_post, inst);
 
        e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0);
        e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &cx, &cy, &cw, 
&ch);
@@ -369,6 +372,14 @@
         evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button,
                                 EVAS_BUTTON_NONE, ev->timestamp, NULL);
      } 
+}
+
+static void
+_menu_cb_post(void *data, E_Menu *m)
+{
+   if (!calendar_conf->menu) return;
+   e_object_del(E_OBJECT(calendar_conf->menu));
+   calendar_conf->menu = NULL;
 }
 
 EAPI E_Module_Api e_modapi = 
===================================================================
RCS file: /cvs/e/e_modules/calendar/e_mod_main.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_mod_main.h        25 Nov 2007 05:05:58 -0000      1.4
+++ e_mod_main.h        2 Dec 2007 16:16:02 -0000       1.5
@@ -10,6 +10,7 @@
 {
    E_Module        *module;
    E_Config_Dialog *config_dialog;
+   E_Menu          *menu;
    Evas_List       *instances;
    Evas_List       *items;
 };



-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to