Enlightenment CVS committal

Author  : englebass
Project : e_modules
Module  : tclock

Dir     : e_modules/tclock


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:
Revert gadcon menu change.

===================================================================
RCS file: /cvs/e/e_modules/tclock/e_mod_main.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -3 -r1.53 -r1.54
--- e_mod_main.c        25 Nov 2007 04:42:12 -0000      1.53
+++ e_mod_main.c        2 Dec 2007 16:37:00 -0000       1.54
@@ -22,6 +22,7 @@
 /* Module Protos */
 static void         _tclock_cb_mouse_down     (void *data, Evas *e, 
Evas_Object *obj, void *event_info);
 static void         _tclock_menu_cb_configure (void *data, E_Menu *m, 
E_Menu_Item *mi);
+static void         _tclock_menu_cb_post      (void *data, E_Menu *m);
 static int          _tclock_cb_check          (void *data);
 static Config_Item *_tclock_config_item_get   (const char *id);
 
@@ -105,7 +106,9 @@
        ecore_timer_del (check_timer);
        check_timer = NULL;
      }
-   E_FREE(inst);
+   
+  free (inst);
+  inst = NULL;
 }
 
 static void
@@ -156,13 +159,15 @@
 
   inst = data;
   ev = event_info;
-  if ((ev->button == 3) && (!inst->gcc->menu))
+  if ((ev->button == 3) && (!tclock_config->menu))
     {
       E_Menu *mn;
       E_Menu_Item *mi;
       int x, y, w, h;
 
       mn = e_menu_new ();
+      e_menu_post_deactivate_callback_set (mn, _tclock_menu_cb_post, inst);
+      tclock_config->menu = mn;
 
       mi = e_menu_item_new (mn);
       e_menu_item_label_set (mi, D_ ("Configuration"));
@@ -178,13 +183,22 @@
                             e_util_zone_current_get (e_manager_current_get
                                                      ()), x + ev->output.x,
                             y + ev->output.y, 1, 1,
-                            E_MENU_POP_DIRECTION_AUTO, ev->timestamp);
+                            E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
       evas_event_feed_mouse_up (inst->gcc->gadcon->evas, ev->button,
                                EVAS_BUTTON_NONE, ev->timestamp, NULL);
     }
 }
 
 static void
+_tclock_menu_cb_post (void *data, E_Menu * m)
+{
+  if (!tclock_config->menu)
+    return;
+  e_object_del (E_OBJECT (tclock_config->menu));
+  tclock_config->menu = NULL;
+}
+
+static void
 _tclock_menu_cb_configure (void *data, E_Menu * m, E_Menu_Item * mi)
 {
   Instance *inst;
@@ -373,6 +387,12 @@
 
   if (tclock_config->config_dialog)
     e_object_del (E_OBJECT (tclock_config->config_dialog));
+  if (tclock_config->menu)
+    {
+      e_menu_post_deactivate_callback_set (tclock_config->menu, NULL, NULL);
+      e_object_del (E_OBJECT (tclock_config->menu));
+      tclock_config->menu = NULL;
+    }
 
   while (tclock_config->items)
     {
@@ -387,10 +407,12 @@
        evas_stringshare_del (ci->time_format);
       if (ci->date_format)
        evas_stringshare_del (ci->date_format);
-       E_FREE(ci);
+      free (ci);
+      ci = NULL;
     }
 
-   E_FREE(tclock_config);
+  free (tclock_config);
+  tclock_config = NULL;
   E_CONFIG_DD_FREE (conf_item_edd);
   E_CONFIG_DD_FREE (conf_edd);
   return 1;
@@ -402,3 +424,4 @@
   e_config_domain_save ("module.tclock", conf_edd, tclock_config);
   return 1;
 }
+
===================================================================
RCS file: /cvs/e/e_modules/tclock/e_mod_main.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- e_mod_main.h        25 Nov 2007 04:42:12 -0000      1.22
+++ e_mod_main.h        2 Dec 2007 16:37:00 -0000       1.23
@@ -13,6 +13,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