forked from enlightenment/enlightenment
Dragging icon from border to pager now works! But since the menu
doesn't work when dragging is enabled, dragging is disabled. For those who want dragging just remove the #if SVN revision: 14363
This commit is contained in:
parent
1ea24de1b8
commit
bfb6d91905
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2005-04-25 00:34+0200\n"
|
||||
"POT-Creation-Date: 2005-04-25 21:25+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -122,7 +122,7 @@ msgstr ""
|
|||
msgid "About..."
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:381
|
||||
#: src/bin/e_main.c:389
|
||||
msgid "Artificially slowing startup so you can see it all."
|
||||
msgstr ""
|
||||
|
||||
|
@ -158,6 +158,10 @@ msgstr ""
|
|||
msgid "CPU Frequency Controller Module"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/cpufreq/e_mod_main.c:270 src/modules/cpufreq/e_mod_main.c:287
|
||||
msgid "CPU Frequency ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_gadman.c:512
|
||||
msgid "Center Horizontally"
|
||||
msgstr ""
|
||||
|
@ -219,14 +223,10 @@ msgstr ""
|
|||
msgid "Clock"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3483
|
||||
#: src/bin/e_border.c:3498
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dropshadow/e_mod_main.c:364
|
||||
msgid "Near"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_module.c:395
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
@ -235,7 +235,7 @@ msgstr ""
|
|||
msgid "CpuFreq"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3577
|
||||
#: src/bin/e_border.c:3592
|
||||
msgid "Create Icon"
|
||||
msgstr ""
|
||||
|
||||
|
@ -255,14 +255,13 @@ msgstr ""
|
|||
msgid "Dropshadow"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3551
|
||||
#: src/bin/e_border.c:3566
|
||||
msgid "Edit Icon"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_int_menus.c:522 src/modules/clock/e_mod_main.c:309
|
||||
#: src/modules/temperature/e_mod_main.c:721
|
||||
#: src/modules/battery/e_mod_main.c:561
|
||||
#: src/modules/pager/e_mod_main.c:420
|
||||
#: src/modules/ibar/e_mod_main.c:554 src/modules/battery/e_mod_main.c:561
|
||||
#: src/modules/temperature/e_mod_main.c:721 src/modules/pager/e_mod_main.c:420
|
||||
#: src/modules/cpufreq/e_mod_main.c:814
|
||||
msgid "Edit Mode"
|
||||
msgstr ""
|
||||
|
@ -275,7 +274,7 @@ msgstr ""
|
|||
msgid "End Edit Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:365
|
||||
#: src/bin/e_main.c:373
|
||||
msgid "Enlightenment"
|
||||
msgstr ""
|
||||
|
||||
|
@ -295,7 +294,7 @@ msgstr ""
|
|||
msgid "Enlightenment IBar Module"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:350
|
||||
#: src/bin/e_main.c:358
|
||||
msgid "Enlightenment IPC setup error!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -303,7 +302,7 @@ msgstr ""
|
|||
msgid "Enlightenment Pager Module"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:367
|
||||
#: src/bin/e_main.c:375
|
||||
msgid "Enlightenment Starting. Please wait."
|
||||
msgstr ""
|
||||
|
||||
|
@ -379,11 +378,15 @@ msgstr ""
|
|||
msgid "Enlightenment cannot set up its app system."
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:313
|
||||
msgid "Enlightenment cannot set up its bindings system."
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:257
|
||||
msgid "Enlightenment cannot set up its config system."
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:333
|
||||
#: src/bin/e_main.c:341
|
||||
msgid "Enlightenment cannot set up its dnd system."
|
||||
msgstr ""
|
||||
|
||||
|
@ -391,7 +394,7 @@ msgstr ""
|
|||
msgid "Enlightenment cannot set up its font system."
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:325
|
||||
#: src/bin/e_main.c:333
|
||||
msgid "Enlightenment cannot set up its module system."
|
||||
msgstr ""
|
||||
|
||||
|
@ -405,7 +408,7 @@ msgid ""
|
|||
"Perhaps you are out of memory?"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:312 src/bin/e_main.c:351
|
||||
#: src/bin/e_main.c:320 src/bin/e_main.c:359
|
||||
msgid ""
|
||||
"Enlightenment cannot set up the IPC socket.\n"
|
||||
"It likely is already in use by an exisiting copy of Enlightenment.\n"
|
||||
|
@ -510,7 +513,7 @@ msgstr ""
|
|||
msgid "Error loading Module"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3651
|
||||
#: src/bin/e_border.c:3666
|
||||
msgid ""
|
||||
"Error starting icon editor\n"
|
||||
"\n"
|
||||
|
@ -522,14 +525,14 @@ msgstr ""
|
|||
msgid "Exit Enlightenment"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dropshadow/e_mod_main.c:382
|
||||
msgid "Extremely Near"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/ibar/e_mod_main.c:767
|
||||
msgid "Extremely Large"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dropshadow/e_mod_main.c:382
|
||||
msgid "Extremely Near"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/battery/e_mod_main.c:927
|
||||
msgid "FULL"
|
||||
msgstr ""
|
||||
|
@ -591,11 +594,11 @@ msgstr ""
|
|||
msgid "IBar"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3650
|
||||
#: src/bin/e_border.c:3665
|
||||
msgid "Icon Edit Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3491
|
||||
#: src/bin/e_border.c:3506
|
||||
msgid "Iconify"
|
||||
msgstr ""
|
||||
|
||||
|
@ -624,7 +627,7 @@ msgstr ""
|
|||
msgid "Manual"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3512
|
||||
#: src/bin/e_border.c:3527
|
||||
msgid "Maximized"
|
||||
msgstr ""
|
||||
|
||||
|
@ -632,7 +635,7 @@ msgstr ""
|
|||
msgid "Maximum Speed"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/ibar/e_mod_main.c:746 src/modules/dropshadow/e_mod_main.c:277
|
||||
#: src/modules/dropshadow/e_mod_main.c:277 src/modules/ibar/e_mod_main.c:746
|
||||
msgid "Medium"
|
||||
msgstr ""
|
||||
|
||||
|
@ -648,10 +651,10 @@ msgstr ""
|
|||
msgid "Minimum Speed"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/clock/e_mod_main.c:40 src/modules/dropshadow/e_mod_main.c:91
|
||||
#: src/modules/ibar/e_mod_main.c:105 src/modules/test/e_mod_main.c:9
|
||||
#: src/modules/cpufreq/e_mod_main.c:57 src/modules/clock/e_mod_main.c:40
|
||||
#: src/modules/pager/e_mod_main.c:81 src/modules/temperature/e_mod_main.c:43
|
||||
#: src/modules/dropshadow/e_mod_main.c:91 src/modules/battery/e_mod_main.c:45
|
||||
#: src/modules/battery/e_mod_main.c:45 src/modules/temperature/e_mod_main.c:43
|
||||
#: src/modules/pager/e_mod_main.c:81 src/modules/cpufreq/e_mod_main.c:57
|
||||
msgid "Module API Error"
|
||||
msgstr ""
|
||||
|
||||
|
@ -671,7 +674,7 @@ msgstr ""
|
|||
msgid "Modules"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:383
|
||||
#: src/bin/e_main.c:391
|
||||
msgid "Most features do not work yet, and those that do are buggy."
|
||||
msgstr ""
|
||||
|
||||
|
@ -683,6 +686,10 @@ msgstr ""
|
|||
msgid "NO INFO"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dropshadow/e_mod_main.c:364
|
||||
msgid "Near"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_int_menus.c:369
|
||||
msgid "New Column of Desktops"
|
||||
msgstr ""
|
||||
|
@ -735,7 +742,7 @@ msgstr ""
|
|||
msgid "Restart Enlightement"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3535
|
||||
#: src/bin/e_border.c:3550
|
||||
msgid "Send To"
|
||||
msgstr ""
|
||||
|
||||
|
@ -747,8 +754,8 @@ msgstr ""
|
|||
msgid "Set Controller"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/cpufreq/e_mod_main.c:191 src/modules/cpufreq/e_mod_main.c:478
|
||||
#: src/modules/battery/e_mod_main.c:190 src/modules/battery/e_mod_main.c:469
|
||||
#: src/modules/cpufreq/e_mod_main.c:191 src/modules/cpufreq/e_mod_main.c:478
|
||||
msgid "Set Poll Time"
|
||||
msgstr ""
|
||||
|
||||
|
@ -756,7 +763,7 @@ msgstr ""
|
|||
msgid "Set Speed"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3502
|
||||
#: src/bin/e_border.c:3517
|
||||
msgid "Shaded"
|
||||
msgstr ""
|
||||
|
||||
|
@ -780,7 +787,7 @@ msgstr ""
|
|||
msgid "Something Else"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_border.c:3522
|
||||
#: src/bin/e_border.c:3537
|
||||
msgid "Sticky"
|
||||
msgstr ""
|
||||
|
||||
|
@ -800,18 +807,6 @@ msgid ""
|
|||
"module search directories\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/cpufreq/e_mod_main.c:270
|
||||
#: src/modules/cpufreq/e_mod_main.c:288
|
||||
msgid "CPU Frequency ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/cpufreq/e_mod_main.c:271
|
||||
#: src/modules/cpufreq/e_mod_main.c:279
|
||||
msgid ""
|
||||
"There was an error trying to set the cpu frequency\n"
|
||||
"governor via the module's setfreq utility."
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_module.c:109 src/bin/e_module.c:131
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -822,6 +817,18 @@ msgid ""
|
|||
"%s"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/cpufreq/e_mod_main.c:271
|
||||
msgid ""
|
||||
"There was an error trying to set the cpu frequency\n"
|
||||
"governor via the module's setfreq utility."
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/cpufreq/e_mod_main.c:288
|
||||
msgid ""
|
||||
"There was an error trying to set the cpu frequency\n"
|
||||
"setting via the module's setfreq utility."
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_int_menus.c:218
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -833,11 +840,11 @@ msgid ""
|
|||
"Please think of the aardvarks. They need some love too."
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:382
|
||||
#: src/bin/e_main.c:390
|
||||
msgid "This is development code, so be warned."
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:342
|
||||
#: src/bin/e_main.c:350
|
||||
msgid ""
|
||||
"This is program has barely been started on, so it is not complete by a long\n"
|
||||
"shot. Please do NOT expect anything to work properly at this stage. It's\n"
|
||||
|
@ -872,10 +879,6 @@ msgstr ""
|
|||
msgid "Tiny"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dropshadow/e_mod_main.c:373
|
||||
msgid "Very Near"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dropshadow/e_mod_main.c:307
|
||||
msgid "Very Dark"
|
||||
msgstr ""
|
||||
|
@ -896,6 +899,10 @@ msgstr ""
|
|||
msgid "Very Light"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dropshadow/e_mod_main.c:373
|
||||
msgid "Very Near"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dropshadow/e_mod_main.c:295
|
||||
msgid "Very Sharp"
|
||||
msgstr ""
|
||||
|
@ -908,7 +915,7 @@ msgstr ""
|
|||
msgid "Very Small"
|
||||
msgstr ""
|
||||
|
||||
#: src/bin/e_main.c:341
|
||||
#: src/bin/e_main.c:349
|
||||
msgid "Welcome to Enlightenment 0.17"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -3,14 +3,6 @@
|
|||
*/
|
||||
#include "e.h"
|
||||
|
||||
typedef struct _E_Border_Fake_Mouse_Up_Info E_Border_Fake_Mouse_Up_Info;
|
||||
|
||||
struct _E_Border_Fake_Mouse_Up_Info
|
||||
{
|
||||
E_Border *border;
|
||||
int button;
|
||||
};
|
||||
|
||||
//#define INOUTDEBUG 1
|
||||
|
||||
#define RESIZE_NONE 0
|
||||
|
@ -114,7 +106,7 @@ static void _e_border_move_update(E_Border *bd);
|
|||
static void _e_border_reorder_after(E_Border *bd, E_Border *after);
|
||||
static void _e_border_reorder_before(E_Border *bd, E_Border *before);
|
||||
|
||||
static void _e_border_fake_mouse_up_cb(void *data);
|
||||
static void _e_border_drag_cb(void *data, void *event);
|
||||
|
||||
/* local subsystem globals */
|
||||
static Evas_List *handlers = NULL;
|
||||
|
@ -1960,12 +1952,9 @@ static void
|
|||
_e_border_cb_signal_drag(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||
{
|
||||
E_Border *bd;
|
||||
E_Border_Fake_Mouse_Up_Info *info;
|
||||
|
||||
bd = data;
|
||||
|
||||
#if 0
|
||||
printf("drag_start %s %s\n", emission, source);
|
||||
if ((bd->client.icccm.name) && (bd->client.icccm.class))
|
||||
{
|
||||
E_App *a;
|
||||
|
@ -1974,17 +1963,11 @@ _e_border_cb_signal_drag(void *data, Evas_Object *obj, const char *emission, con
|
|||
bd->client.icccm.class);
|
||||
if (a)
|
||||
{
|
||||
e_drag_callback_set(bd, _e_border_drag_cb);
|
||||
e_drag_start(bd->zone, "enlightenment/border", bd,
|
||||
a->path, "icon");
|
||||
|
||||
info = E_NEW(E_Border_Fake_Mouse_Up_Info, 1);
|
||||
info->border = bd;
|
||||
info->button = 1;
|
||||
e_object_ref(E_OBJECT(info->border));
|
||||
ecore_job_add(_e_border_fake_mouse_up_cb, info);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -2763,8 +2746,10 @@ _e_border_eval(E_Border *bd)
|
|||
_e_border_cb_signal_resize_stop, bd);
|
||||
edje_object_signal_callback_add(o, "action", "*",
|
||||
_e_border_cb_signal_action, bd);
|
||||
#if 0
|
||||
edje_object_signal_callback_add(o, "drag", "*",
|
||||
_e_border_cb_signal_drag, bd);
|
||||
#endif
|
||||
if (bd->focused)
|
||||
edje_object_signal_emit(bd->bg_object, "active", "");
|
||||
evas_object_move(o, 0, 0);
|
||||
|
@ -3713,7 +3698,7 @@ _e_border_menu_sendto_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
|||
|
||||
desk = data;
|
||||
bd = e_object_data_get(E_OBJECT(m));
|
||||
if ((bd) && (desk))
|
||||
if ((bd) && (desk) && (bd->desk != desk))
|
||||
{
|
||||
e_border_desk_set(bd, desk);
|
||||
e_border_hide(bd, 1);
|
||||
|
@ -4011,15 +3996,18 @@ _e_border_reorder_before(E_Border *bd, E_Border *before)
|
|||
}
|
||||
|
||||
static void
|
||||
_e_border_fake_mouse_up_cb(void *data)
|
||||
_e_border_drag_cb(void *data, void *event)
|
||||
{
|
||||
E_Border_Fake_Mouse_Up_Info *info;
|
||||
|
||||
info = data;
|
||||
if (info)
|
||||
{
|
||||
evas_event_feed_mouse_up(info->border->bg_evas, info->button, EVAS_BUTTON_NONE, NULL);
|
||||
e_object_unref(E_OBJECT(info->border));
|
||||
free(info);
|
||||
}
|
||||
E_Drag_Event *ev;
|
||||
E_Border *bd;
|
||||
|
||||
ev = event;
|
||||
bd = data;
|
||||
|
||||
printf("_e_border_drag_cb\n");
|
||||
|
||||
if (ev->drag)
|
||||
evas_event_feed_mouse_move(bd->bg_evas, ev->x, ev->y, NULL);
|
||||
evas_event_feed_mouse_up(bd->bg_evas, 1, EVAS_BUTTON_NONE, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,10 @@ static Evas_Object *drag_obj;
|
|||
static char *drag_type;
|
||||
static void *drag_data;
|
||||
|
||||
static int drag;
|
||||
static void (*drag_cb)(void *data, void *event);
|
||||
static void *drag_cb_data;
|
||||
|
||||
static int _e_dnd_cb_mouse_up(void *data, int type, void *event);
|
||||
static int _e_dnd_cb_mouse_move(void *data, int type, void *event);
|
||||
|
||||
|
@ -75,7 +79,8 @@ e_dnd_shutdown(void)
|
|||
}
|
||||
|
||||
void
|
||||
e_drag_start(E_Zone *zone, const char *type, void *data, const char *icon_path, const char *icon)
|
||||
e_drag_start(E_Zone *zone, const char *type, void *data,
|
||||
const char *icon_path, const char *icon)
|
||||
{
|
||||
int w, h;
|
||||
|
||||
|
@ -86,6 +91,8 @@ e_drag_start(E_Zone *zone, const char *type, void *data, const char *icon_path,
|
|||
ecore_x_pointer_confine_grab(drag_win);
|
||||
ecore_x_keyboard_grab(drag_win);
|
||||
|
||||
drag = 0;
|
||||
|
||||
if (drag_ee)
|
||||
{
|
||||
e_canvas_del(drag_ee);
|
||||
|
@ -120,6 +127,8 @@ e_drag_update(int x, int y)
|
|||
int w, h;
|
||||
|
||||
if (!drag_ee) return;
|
||||
|
||||
drag = 1;
|
||||
|
||||
evas_object_geometry_get(drag_obj, NULL, NULL, &w, &h);
|
||||
evas_object_show(drag_obj);
|
||||
|
@ -132,9 +141,7 @@ void
|
|||
e_drag_end(int x, int y)
|
||||
{
|
||||
Evas_List *l;
|
||||
E_Drop_Event *e;
|
||||
|
||||
printf("drag_end\n");
|
||||
E_Drop_Event *ev;
|
||||
|
||||
evas_object_del(drag_obj);
|
||||
if (drag_ee)
|
||||
|
@ -147,10 +154,11 @@ e_drag_end(int x, int y)
|
|||
ecore_x_keyboard_ungrab();
|
||||
ecore_x_window_del(drag_win);
|
||||
|
||||
e = E_NEW(E_Drop_Event, 1);
|
||||
e->data = drag_data;
|
||||
e->x = x;
|
||||
e->y = y;
|
||||
ev = E_NEW(E_Drop_Event, 1);
|
||||
if (!ev) goto end;
|
||||
ev->data = drag_data;
|
||||
ev->x = x;
|
||||
ev->y = y;
|
||||
|
||||
for (l = drop_handlers; l; l = l->next)
|
||||
{
|
||||
|
@ -161,16 +169,24 @@ e_drag_end(int x, int y)
|
|||
if ((x >= h->x) && (x < h->x + h->w) && (y >= h->y) && (y < h->y + h->h)
|
||||
&& (!strcmp(h->type, drag_type)))
|
||||
{
|
||||
h->func(h->data, drag_type, e);
|
||||
h->func(h->data, drag_type, ev);
|
||||
}
|
||||
}
|
||||
|
||||
free(e);
|
||||
free(ev);
|
||||
end:
|
||||
free(drag_type);
|
||||
drag_type = NULL;
|
||||
drag_data = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
e_drag_callback_set(void *data, void (*func)(void *data, void *event))
|
||||
{
|
||||
drag_cb = func;
|
||||
drag_cb_data = data;
|
||||
}
|
||||
|
||||
E_Drop_Handler *
|
||||
e_drop_handler_add(void *data, void (*func)(void *data, const char *type, void *drop), const char *type, int x, int y, int w, int h)
|
||||
{
|
||||
|
@ -209,6 +225,22 @@ _e_dnd_cb_mouse_up(void *data, int type, void *event)
|
|||
|
||||
e_drag_end(ev->x, ev->y);
|
||||
|
||||
if (drag_cb)
|
||||
{
|
||||
E_Drag_Event *e;
|
||||
|
||||
e = E_NEW(E_Drag_Event, 1);
|
||||
if (e)
|
||||
{
|
||||
e->drag = drag;
|
||||
e->x = ev->x;
|
||||
e->y = ev->y;
|
||||
(*drag_cb)(drag_cb_data, e);
|
||||
drag_cb = NULL;
|
||||
free(e);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
typedef struct _E_Drop_Handler E_Drop_Handler;
|
||||
typedef struct _E_Drop_Event E_Drop_Event;
|
||||
typedef struct _E_Drag_Event E_Drag_Event;
|
||||
|
||||
#else
|
||||
#ifndef E_DND_H
|
||||
|
@ -25,14 +26,24 @@ struct _E_Drop_Event
|
|||
int x, y;
|
||||
};
|
||||
|
||||
struct _E_Drag_Event
|
||||
{
|
||||
int drag;
|
||||
int x, y;
|
||||
};
|
||||
|
||||
EAPI int e_dnd_init(void);
|
||||
EAPI int e_dnd_shutdown(void);
|
||||
|
||||
EAPI void e_drag_start(E_Zone *zone, const char *type, void *data, const char *icon_path, const char *icon);
|
||||
EAPI void e_drag_start(E_Zone *zone, const char *type, void *data,
|
||||
const char *icon_path, const char *icon);
|
||||
EAPI void e_drag_update(int x, int y);
|
||||
EAPI void e_drag_end(int x, int y);
|
||||
EAPI void e_drag_callback_set(void *data, void (*func)(void *data, void *event));
|
||||
|
||||
EAPI E_Drop_Handler *e_drop_handler_add(void *data, void (*func)(void *data, const char *type, void *event_info), const char *type, int x, int y, int w, int h);
|
||||
EAPI E_Drop_Handler *e_drop_handler_add(void *data,
|
||||
void (*func)(void *data, const char *type, void *event_info),
|
||||
const char *type, int x, int y, int w, int h);
|
||||
EAPI void e_drop_handler_del(E_Drop_Handler *handler);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1365,17 +1365,28 @@ _pager_desk_cb_intercept_resize(void *data, Evas_Object *o, Evas_Coord w, Evas_C
|
|||
static void
|
||||
_pager_drop_cb(void *data, const char *type, void *event_info)
|
||||
{
|
||||
E_Drop_Event *e;
|
||||
E_Drop_Event *ev;
|
||||
Pager_Face *face;
|
||||
int x, y, w, h;
|
||||
E_Desk *desk;
|
||||
E_Border *bd;
|
||||
int x, y;
|
||||
double w, h;
|
||||
|
||||
e = event_info;
|
||||
ev = event_info;
|
||||
face = data;
|
||||
|
||||
x = e->x - face->fx;
|
||||
y = e->y - face->fy;
|
||||
w = x / face->xnum;
|
||||
h = y / face->ynum;
|
||||
w = face->fw / (double) face->xnum;
|
||||
h = face->fh / (double) face->ynum;
|
||||
|
||||
printf("We have a drop! %d %d\n", w, h);
|
||||
x = (ev->x - face->fx) / w;
|
||||
y = (ev->y - face->fy) / h;
|
||||
|
||||
desk = e_desk_at_xy_get(face->zone, x, y);
|
||||
bd = ev->data;
|
||||
|
||||
if ((bd) && (desk) && (bd->desk != desk))
|
||||
{
|
||||
e_border_desk_set(bd, desk);
|
||||
e_border_hide(bd, 1);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue