Enlightenment CVS committal

Author  : metrics
Project : e17
Module  : apps/e

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


Modified Files:
        e_mod_main.c 


Log Message:
Fix pager autoscroll dnd issues.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_main.c,v
retrieving revision 1.192
retrieving revision 1.193
diff -u -3 -r1.192 -r1.193
--- e_mod_main.c        24 Oct 2006 17:22:59 -0000      1.192
+++ e_mod_main.c        15 Nov 2006 02:49:49 -0000      1.193
@@ -174,7 +174,7 @@
 
    evas_object_geometry_get(o, &x, &y, &w, &h);
    inst->drop_handler =
-     e_drop_handler_add(E_OBJECT(inst->gcc->gadcon), inst,
+     e_drop_handler_add(E_OBJECT(inst->gcc), inst,
                        _pager_inst_cb_enter, _pager_inst_cb_move,
                        _pager_inst_cb_leave, _pager_inst_cb_drop,
                        drop, 2, x, y, w, h);
@@ -1520,11 +1520,13 @@
    Pager_Desk *pd, *pd2;
    Evas_List *l;
    Evas_Coord xx, yy;
+   int x, y;
 
    ev = event_info;
    inst = data;
    evas_object_geometry_get(inst->pager->o_table, &xx, &yy, NULL, NULL);
-   pd = _pager_desk_at_coord(inst->pager, ev->x + xx, ev->y + yy);
+   e_box_align_pixel_offset_get(inst->gcc->o_box, &x, &y);
+   pd = _pager_desk_at_coord(inst->pager, ev->x + xx + x, ev->y + yy + y);
    /* FIXME: keep track which one its over so we only emit drag in/out
     * when it actually goes form one desk to another */
    for (l = inst->pager->desks; l; l = l->next)
@@ -1535,6 +1537,7 @@
        else
          edje_object_signal_emit(pd2->o_desk, "e,action,drag,out", "e");
      }
+   e_gadcon_client_autoscroll_update(inst->gcc, ev->x, ev->y);
 }
 
 static void
@@ -1568,12 +1571,14 @@
    int dx = 0, dy = 0;
    Pager_Win *pw = NULL;
    Evas_Coord xx, yy;
+   int x, y;
 
    ev = event_info;
    inst = data;
 
    evas_object_geometry_get(inst->pager->o_table, &xx, &yy, NULL, NULL);
-   pd = _pager_desk_at_coord(inst->pager, ev->x + xx, ev->y + yy);
+   e_box_align_pixel_offset_get(inst->gcc->o_box, &x, &y);
+   pd = _pager_desk_at_coord(inst->pager, ev->x + xx + x, ev->y + yy + y);
    if (pd)
      {
        if (!strcmp(type, "enlightenment/pager_win"))
@@ -1608,8 +1613,8 @@
             if ((!pw) || ((pw) && (!pw->drag.no_place)))
               {
                  e_layout_coord_canvas_to_virtual(pd->o_layout, 
-                                                  ev->x + xx + dx,
-                                                  ev->y + yy + dy,
+                                                  ev->x + xx + x + dx,
+                                                  ev->y + yy + y + dy,
                                                   &nx, &ny);
                  e_border_move(bd, nx + pd->desk->zone->x, ny + 
pd->desk->zone->y);
               }



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to