Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_fileman.c e_fileman_smart.c 


Log Message:
- move keyboard code to evas callbacks, thanks raster
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- e_fileman.c 5 Nov 2005 01:01:26 -0000       1.21
+++ e_fileman.c 5 Nov 2005 11:13:13 -0000       1.22
@@ -72,7 +72,7 @@
    e_win_title_set(fileman->win, dir);
 
    evas_event_freeze(fileman->evas);   
-   fileman->smart = e_fm_add(fileman->evas);
+   fileman->smart = e_fm_add(fileman->evas); 
    e_fm_e_win_set(fileman->smart, fileman->win);
    
    fileman->main = e_scrollframe_add(fileman->evas);
@@ -91,6 +91,10 @@
    
    evas_event_thaw(fileman->evas);
    
+   evas_object_focus_set(fileman->main, 0);
+   //evas_object_focus_set(fileman->smart, 1);
+   evas_object_propagate_events_set(fileman->smart, 0);
+   
    fileman->event_handlers = evas_list_append(fileman->event_handlers,
                                              
ecore_event_handler_add(E_EVENT_FM_RECONFIGURE,
                                                                      
_e_fileman_reconfigure_cb,
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_smart.c,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -3 -r1.86 -r1.87
--- e_fileman_smart.c   5 Nov 2005 01:51:20 -0000       1.86
+++ e_fileman_smart.c   5 Nov 2005 11:13:13 -0000       1.87
@@ -222,6 +222,7 @@
 static void                _e_fm_fake_mouse_up_all_later (Evas *evas);
 static void                _e_fm_fake_mouse_up_cb        (void *data);
 
+static void                _e_fm_key_down_cb        (void *data, Evas *e, 
Evas_Object *obj, void *event_info);
 static void                _e_fm_mouse_down_cb      (void *data, Evas *e, 
Evas_Object *obj, void *event_info);
 static void                _e_fm_mouse_move_cb      (void *data, Evas *e, 
Evas_Object *obj, void *event_info);
 static void                _e_fm_mouse_up_cb        (void *data, Evas *e, 
Evas_Object *obj, void *event_info);
@@ -231,7 +232,6 @@
 static void                _e_fm_icon_mouse_out_cb  (void *data, Evas *e, 
Evas_Object *obj, void *event_info);
 static int                 _e_fm_win_mouse_move_cb  (void *data, int type, 
void *event);
 static int                 _e_fm_win_mouse_up_cb    (void *data, int type, 
void *event);
-static int                 _e_fm_win_key_down_cb    (void *data, int type, 
void *event);
 
 static int                 _e_fm_drop_enter_cb     (void *data, int type, void 
*event);
 static int                 _e_fm_drop_leave_cb     (void *data, int type, void 
*event);
@@ -519,7 +519,6 @@
    evas_object_repeat_events_set(sd->layout, 1);
    evas_object_smart_member_add(sd->layout, object);   
    e_icon_layout_spacing_set(sd->layout, sd->icon_info.x_space, 
sd->icon_info.y_space);
-   evas_object_stack_above(sd->layout, sd->bg);
    evas_object_show(sd->layout);
 
    sd->clip = evas_object_rectangle_add(sd->evas);
@@ -538,6 +537,11 @@
                           "base/theme/fileman/rubberband",
                           "fileman/rubberband");
 
+   evas_object_focus_set(sd->object, 1);
+   evas_object_event_callback_add(sd->object, 
EVAS_CALLBACK_KEY_DOWN,_e_fm_key_down_cb, sd);
+   
+   evas_object_stack_below(sd->bg, sd->layout);
+   
    sd->event_handlers = NULL;
 
    sd->event_handlers = evas_list_append(sd->event_handlers,
@@ -564,10 +568,6 @@
                                         
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_MOVE,
                                                                 
_e_fm_win_mouse_move_cb,
                                                                 sd));
-   sd->event_handlers = evas_list_append(sd->event_handlers,
-                                        
ecore_event_handler_add(ECORE_X_EVENT_KEY_DOWN,
-                                                                
_e_fm_win_key_down_cb,
-                                                                sd));
    
    sd->monitor = NULL;
    sd->position = 0.0;
@@ -647,7 +647,7 @@
    sd->y = y;   
    evas_object_move(sd->bg, x, y);
    evas_object_move(sd->clip, x, y); 
-   evas_object_move(sd->layout, sd->x - sd->child.x, sd->y - sd->child.y);   
+   evas_object_move(sd->layout, sd->x - sd->child.x, sd->y - sd->child.y);
 }
 
 static void
@@ -2354,7 +2354,7 @@
             if(!E_CONTAINS(sd->x, sd->y, sd->w, sd->h, x, y, w, h))
               {
                  E_Event_Fm_Reconfigure *ev;
-                 
+                 printf("!E_CONTAINS %s\n", icon->file->name);
                  ev = E_NEW(E_Event_Fm_Reconfigure, 1);
                  if (ev)
                    {                       
@@ -2524,32 +2524,24 @@
      }
 }
 
-static int
-_e_fm_win_key_down_cb(void *data, int type, void *event)
+static void
+_e_fm_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
-   Ecore_X_Event_Key_Down *ev;
+   Evas_Event_Key_Up *ev;
    E_Fm_Smart_Data *sd;
    
-   ev = event;
+   ev = event_info;
    sd = data;
-
-   /* FIXME: do NOT use ecore_x key events. NOT! use evas key callbacks on
-    * a focused onject!!!!
-    */
-   return 1;
-   // make this call generic
-   if (!sd->win) return 1;
-   if (ev->win != sd->win->evas_sub_win) return 1;
    
-   if (!strcmp(ev->keysymbol, "Up"))
+   if (!strcmp(ev->keyname, "Up"))
      _e_fm_icon_select_up(sd);
-   else if (!strcmp(ev->keysymbol, "Down"))
+   else if (!strcmp(ev->keyname, "Down"))
      _e_fm_icon_select_down(sd);
-   else if (!strcmp(ev->keysymbol, "Left"))
+   else if (!strcmp(ev->keyname, "Left"))
      _e_fm_icon_select_left(sd);
-   else if (!strcmp(ev->keysymbol, "Right"))
+   else if (!strcmp(ev->keyname, "Right"))
      _e_fm_icon_select_right(sd);
-   else if (!strcmp(ev->keysymbol, "Return"))
+   else if (!strcmp(ev->keyname, "Return"))
      _e_fm_icon_run(sd);      
 
    return 1;




-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to