Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        Makefile.am e_border.c e_includes.h e_main.c e_theme.c 
        e_zone.c 
Added Files:
        e_dnd.c e_dnd.h 


Log Message:
Some cleanup and beginning of internal dnd in E. You can drag the icon from
a window to the pager and get a nice message :)

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/Makefile.am,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- Makefile.am 21 Apr 2005 10:09:25 -0000      1.22
+++ Makefile.am 23 Apr 2005 13:13:45 -0000      1.23
@@ -46,7 +46,8 @@
 e_test.h \
 e_font.h \
 e_intl.h \
-e_theme.h
+e_theme.h \
+e_dnd.h
 
 enlightenment_SOURCES = \
 e_main.c \
@@ -86,6 +87,7 @@
 e_font.c \
 e_intl.c \
 e_theme.c \
+e_dnd.c \
 $(ENLIGHTENMENTHEADERS)
 
 enlightenment_LDFLAGS = -export-dynamic @e_libs@ @dlopen_libs@
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.148
retrieving revision 1.149
diff -u -3 -r1.148 -r1.149
--- e_border.c  23 Apr 2005 05:16:24 -0000      1.148
+++ e_border.c  23 Apr 2005 13:13:45 -0000      1.149
@@ -49,6 +49,7 @@
 static void _e_border_cb_signal_resize_l_start(void *data, Evas_Object *obj, 
const char *emission, const char *source);
 static void _e_border_cb_signal_resize_stop(void *data, Evas_Object *obj, 
const char *emission, const char *source);
 static void _e_border_cb_signal_action(void *data, Evas_Object *obj, const 
char *emission, const char *source);
+static void _e_border_cb_signal_drag(void *data, Evas_Object *obj, const char 
*emission, const char *source);
 static int  _e_border_cb_mouse_in(void *data, int type, void *event);
 static int  _e_border_cb_mouse_out(void *data, int type, void *event);
 static int  _e_border_cb_mouse_down(void *data, int type, void *event);
@@ -75,10 +76,6 @@
 static void _e_border_menu_sendto_pre_cb(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_sendto_cb(void *data, E_Menu *m, E_Menu_Item *mi);
 
-static void _e_border_icon_cb_mouse_down(void *data, Evas *e, Evas_Object 
*obj, void *event_info);
-static void _e_border_icon_cb_mouse_up(void *data, Evas *e, Evas_Object *obj, 
void *event_info);
-static void _e_border_icon_cb_mouse_move(void *data, Evas *e, Evas_Object 
*obj, void *event_info);
-
 static void _e_border_event_border_add_free(void *data, void *ev);
 static void _e_border_event_border_remove_free(void *data, void *ev);
 static void _e_border_event_border_zone_set_free(void *data, void *ev);
@@ -1950,6 +1947,28 @@
 
 }
 
+static void
+_e_border_cb_signal_drag(void *data, Evas_Object *obj, const char *emission, 
const char *source)
+{
+   E_Border *bd;
+
+   bd = data;
+
+   printf("drag_start\n");
+   if ((bd->client.icccm.name) && (bd->client.icccm.class))
+     {
+       E_App *a;
+
+       a = e_app_window_name_class_find(bd->client.icccm.name,
+                                        bd->client.icccm.class);
+       if (a)
+         {
+            e_drag_start(bd->zone, "enlightenment/border", bd, 
+                         a->path, "icon");
+         }
+     }
+}
+
 static int
 _e_border_cb_mouse_in(void *data, int type, void *event)
 {
@@ -2422,11 +2441,6 @@
                         {
                            evas_object_show(bd->icon_object);
                            edje_object_part_swallow(bd->bg_object, 
"icon_swallow", bd->icon_object);
-#if 0
-                           evas_object_callback_add(bd->icon_object, 
EVAS_CALLBACK_MOUSE_DOWN, _e_border_icon_cb_mouse_down, bd);
-                           evas_object_callback_add(bd->icon_object, 
EVAS_CALLBACK_MOUSE_UP, _e_border_icon_cb_mouse_up, bd);
-                           evas_object_callback_add(bd->icon_object, 
EVAS_CALLBACK_MOUSE_MOVE, _e_border_icon_cb_mouse_move, bd);
-#endif
                         }
                       else
                         {
@@ -2733,6 +2747,8 @@
                                        _e_border_cb_signal_resize_stop, bd);
        edje_object_signal_callback_add(o, "action", "*",
                                        _e_border_cb_signal_action, bd);
+       edje_object_signal_callback_add(o, "drag", "*",
+                                       _e_border_cb_signal_drag, bd);
        if (bd->focused)
          edje_object_signal_emit(bd->bg_object, "active", "");
        evas_object_move(o, 0, 0);
@@ -3689,38 +3705,6 @@
 }
 
 static void
-_e_border_icon_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
-{
-   E_Border *bd;
-   Evas_Event_Mouse_Down *ev;
-
-   ev = event_info;
-   bd = data;
-
-   if (ev->button != 2)
-     return;
-   if (ev->flags != EVAS_BUTTON_NONE)
-     return;
-   if (ev->modifiers)
-     return;
-
-#if 0
-   ecore_x_dnd_type_set(win, "enlightenment/border", 1);
-   ecore_x_dnd_begin(win, bd->win, sizeof(bd->win));
-#endif
-}
-
-static void
-_e_border_icon_cb_mouse_up(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
-{
-}
-
-static void
-_e_border_icon_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
-{
-}
-
-static void
 _e_border_event_border_resize_free(void *data, void *ev)
 {
    E_Event_Border_Resize *e;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_includes.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_includes.h        21 Apr 2005 10:09:26 -0000      1.12
+++ e_includes.h        23 Apr 2005 13:13:56 -0000      1.13
@@ -36,3 +36,4 @@
 #include "e_font.h"
 #include "e_intl.h"
 #include "e_theme.h"
+#include "e_dnd.h"
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_main.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -3 -r1.66 -r1.67
--- e_main.c    21 Apr 2005 10:09:26 -0000      1.66
+++ e_main.c    23 Apr 2005 13:13:57 -0000      1.67
@@ -271,7 +271,7 @@
    _e_main_shutdown_push(e_font_shutdown);
    e_font_apply();
    e_canvas_recache();
-   
+
    /* setup init status window/screen */
    if (!e_init_init())
      {
@@ -326,6 +326,14 @@
        _e_main_shutdown(-1);
      }
    _e_main_shutdown_push(e_module_shutdown);
+
+   /* setup dnd */
+   if (!e_dnd_init())
+     {
+       e_error_message_show(_("Enlightenment cannot set up its dnd system."));
+       _e_main_shutdown(-1);
+     }
+   _e_main_shutdown_push(e_dnd_shutdown);
    
    if (!nowelcome)
      {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_theme.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_theme.c   23 Apr 2005 05:16:24 -0000      1.3
+++ e_theme.c   23 Apr 2005 13:13:57 -0000      1.4
@@ -34,6 +34,7 @@
    e_theme_file_set("base/theme/menus", "default.edj");
    e_theme_file_set("base/theme/error", "default.edj");
    e_theme_file_set("base/theme/gadman", "default.edj");
+   e_theme_file_set("base/theme/dnd", "default.edj");
    e_theme_file_set("base/theme/modules", "default.edj");
    e_theme_file_set("base/theme/modules/pager", "default.edj");
    e_theme_file_set("base/theme/modules/ibar", "default.edj");
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- e_zone.c    23 Apr 2005 05:46:49 -0000      1.35
+++ e_zone.c    23 Apr 2005 13:13:57 -0000      1.36
@@ -291,10 +291,11 @@
      {
        Ecore_Event_Handler *h;
 
-       h = l->next;
+       h = l->data;
        ecore_event_handler_del(h);
      }
    evas_list_free(zone->handlers);
+   zone->handlers = NULL;
 
    con = zone->container;
    if (zone->name) free(zone->name);




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to