forked from enlightenment/enlightenment
- add e_view_machine_get_view_by_[base|main]_window
- use it in about a zillion places - now VM->views is only accessed from within e_view_machine.c SVN revision: 6005
This commit is contained in:
parent
5a88ba9d13
commit
cf83b660f7
|
@ -7,6 +7,7 @@
|
|||
#include "icccm.h"
|
||||
#include "keys.h"
|
||||
#include "view.h"
|
||||
#include "e_view_machine.h"
|
||||
#include "util.h"
|
||||
#include "guides.h"
|
||||
#include "bordermenu.h"
|
||||
|
@ -1566,7 +1567,7 @@ e_act_exit_start (E_Object *object, E_Action *a, void *data, int x, int y, int r
|
|||
{
|
||||
D_ENTER;
|
||||
|
||||
e_view_close_all();
|
||||
e_view_machine_close_all_views();
|
||||
|
||||
ecore_focus_mode_reset();
|
||||
ecore_sync();
|
||||
|
@ -1591,7 +1592,7 @@ e_act_restart_start (E_Object *object, E_Action *a, void *data, int x, int y, in
|
|||
{
|
||||
D_ENTER;
|
||||
|
||||
e_view_close_all();
|
||||
e_view_machine_close_all_views();
|
||||
|
||||
ecore_focus_mode_reset();
|
||||
ecore_sync();
|
||||
|
|
|
@ -43,6 +43,18 @@ e_view_machine_unregister_view(E_View *v)
|
|||
D_RETURN;
|
||||
}
|
||||
|
||||
void
|
||||
e_view_machine_close_all_views(void)
|
||||
{
|
||||
Evas_List l;
|
||||
D_ENTER;
|
||||
for (l=VM->views;l;l=l->next)
|
||||
{
|
||||
E_View *v = l->data;
|
||||
e_view_machine_unregister_view(v);
|
||||
}
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
E_View_Model *
|
||||
e_view_machine_model_lookup(char *path)
|
||||
|
@ -76,5 +88,30 @@ e_view_machine_model_lookup(char *path)
|
|||
D_RETURN_(NULL);
|
||||
}
|
||||
|
||||
E_View *
|
||||
e_view_machine_get_view_by_main_window(Window win)
|
||||
{
|
||||
Evas_List l;
|
||||
D_ENTER;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v = l->data;
|
||||
if (v && win == v->win.main)
|
||||
D_RETURN_(v);
|
||||
}
|
||||
D_RETURN_(NULL);
|
||||
}
|
||||
|
||||
|
||||
E_View *
|
||||
e_view_machine_get_view_by_base_window(Window win)
|
||||
{
|
||||
Evas_List l;
|
||||
D_ENTER;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v = l->data;
|
||||
if (v && win == v->win.base)
|
||||
D_RETURN_(v);
|
||||
}
|
||||
D_RETURN_(NULL);
|
||||
}
|
||||
|
|
|
@ -12,5 +12,9 @@ typedef struct _e_view_machine E_View_Machine;
|
|||
void e_view_machine_init(void);
|
||||
void e_view_machine_register_view(E_View *v);
|
||||
void e_view_machine_unregister_view(E_View *v);
|
||||
void e_view_machine_close_all_views(void);
|
||||
E_View_Model *e_view_machine_model_lookup(char *path);
|
||||
E_View *e_view_machine_get_view_by_main_window(Window win);
|
||||
E_View *e_view_machine_get_view_by_base_window(Window win);
|
||||
|
||||
#endif
|
||||
|
|
389
src/view.c
389
src/view.c
|
@ -864,17 +864,14 @@ static void
|
|||
e_configure(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Configure *e;
|
||||
Evas_List l;
|
||||
E_View *v;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
if (e && e->win)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
/* win, root, x, y, w, h, wm_generated */
|
||||
D("Configure for view: %s\n", v->name);
|
||||
|
@ -924,7 +921,6 @@ e_configure(Ecore_Event * ev)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -932,21 +928,16 @@ static void
|
|||
e_property(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Configure *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -954,21 +945,16 @@ static void
|
|||
e_unmap(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Unmap *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -976,21 +962,16 @@ static void
|
|||
e_visibility(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Unmap *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -998,21 +979,16 @@ static void
|
|||
e_focus_in(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Focus_In *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1020,21 +996,16 @@ static void
|
|||
e_focus_out(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Focus_Out *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1042,23 +1013,17 @@ static void
|
|||
e_delete(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Delete *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
e_object_unref(E_OBJECT(v));
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1081,19 +1046,14 @@ e_dnd_status(Ecore_Event * ev)
|
|||
* int ok;
|
||||
* } Ecore_Event_Dnd_Drop_Status;
|
||||
*/
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
|
||||
if( dnd_pending_mode != E_DND_DELETED &&
|
||||
dnd_pending_mode != E_DND_COPIED )
|
||||
{
|
||||
|
@ -1106,14 +1066,11 @@ e_dnd_status(Ecore_Event * ev)
|
|||
else
|
||||
dnd_pending_mode = E_DND_ASK;
|
||||
}
|
||||
|
||||
ecore_window_dnd_ok(e->ok);
|
||||
|
||||
v->changed = 1;
|
||||
v->drag.icon_hide = 1;
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1122,21 +1079,16 @@ static void
|
|||
e_wheel(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Wheel *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.main)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_main_window(e->win)) )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1144,18 +1096,14 @@ static void
|
|||
e_key_down(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Key_Down *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if ((e->win == v->win.base) ||
|
||||
(e->win == v->win.main))
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_main_window(e->win))
|
||||
||(v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
if (!strcmp(e->key, "Up"))
|
||||
{
|
||||
|
@ -1185,10 +1133,8 @@ e_key_down(Ecore_Event * ev)
|
|||
{
|
||||
}
|
||||
}
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1196,19 +1142,16 @@ static void
|
|||
e_key_up(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Key_Up *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
D_RETURN;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_main_window(e->win)) )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1216,18 +1159,14 @@ static void
|
|||
e_mouse_down(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Mouse_Down *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.main)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_main_window(e->win)) )
|
||||
{
|
||||
int focus_mode;
|
||||
E_CFG_INT(cfg_focus_mode, "settings", "/focus/mode", 0);
|
||||
|
@ -1241,7 +1180,6 @@ e_mouse_down(Ecore_Event * ev)
|
|||
}
|
||||
}
|
||||
current_ev = NULL;
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1249,26 +1187,19 @@ static void
|
|||
e_mouse_up(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Mouse_Up *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.main)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_main_window(e->win)) )
|
||||
{
|
||||
evas_event_button_up(v->evas, e->x, e->y, e->button);
|
||||
current_ev = NULL;
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
current_ev = NULL;
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1276,26 +1207,19 @@ static void
|
|||
e_mouse_move(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Mouse_Move *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.main)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_main_window(e->win)) )
|
||||
{
|
||||
evas_event_move(v->evas, e->x, e->y);
|
||||
current_ev = NULL;
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
current_ev = NULL;
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1303,25 +1227,19 @@ static void
|
|||
e_mouse_in(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Enter *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.main)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
if (e && e->win)
|
||||
{
|
||||
if( (v = e_view_machine_get_view_by_main_window(e->win)) )
|
||||
{
|
||||
if (v->model->is_desktop)
|
||||
{
|
||||
evas_event_enter(v->evas);
|
||||
}
|
||||
current_ev = NULL;
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
current_ev = NULL;
|
||||
|
@ -1333,22 +1251,16 @@ static void
|
|||
e_mouse_out(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Leave *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.main)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
if (e && e->win)
|
||||
{
|
||||
if( (v = e_view_machine_get_view_by_main_window(e->win)) )
|
||||
{
|
||||
evas_event_leave(v->evas);
|
||||
current_ev = NULL;
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
current_ev = NULL;
|
||||
|
@ -1360,25 +1272,20 @@ static void
|
|||
e_window_expose(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Window_Expose *e;
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.main)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
current_ev = ev;
|
||||
if (e && e->win)
|
||||
{
|
||||
if( (v = e_view_machine_get_view_by_main_window(e->win)) )
|
||||
{
|
||||
if (!(v->pmap))
|
||||
evas_update_rect(v->evas, e->x, e->y, e->w, e->h);
|
||||
v->changed = 1;
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -1541,41 +1448,6 @@ e_view_queue_resort(E_View *v)
|
|||
D_RETURN;
|
||||
}
|
||||
|
||||
E_View *
|
||||
e_view_find_by_window(Window win)
|
||||
{
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (v->win.base == win)
|
||||
D_RETURN_(v);
|
||||
}
|
||||
|
||||
D_RETURN_(NULL);
|
||||
}
|
||||
|
||||
void
|
||||
e_view_close_all(void)
|
||||
{
|
||||
D_ENTER;
|
||||
|
||||
while (VM->views)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = VM->views->data;
|
||||
e_object_unref(E_OBJECT(v));
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
static void
|
||||
e_view_cleanup(E_View *v)
|
||||
{
|
||||
|
@ -2113,7 +1985,6 @@ e_dnd_data_request(Ecore_Event * ev)
|
|||
* Atom destination_atom;
|
||||
* } Ecore_Event_Dnd_Data_Request;
|
||||
*/
|
||||
Evas_List l;
|
||||
E_View *v;
|
||||
Evas_List ll;
|
||||
char *data = NULL;
|
||||
|
@ -2142,12 +2013,8 @@ e_dnd_data_request(Ecore_Event * ev)
|
|||
* }
|
||||
*/
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
break;
|
||||
}
|
||||
if ( !(v =e_view_machine_get_view_by_base_window(e->win)) )
|
||||
D_RETURN;
|
||||
|
||||
if (e->uri_list)
|
||||
{
|
||||
|
@ -2243,9 +2110,7 @@ e_dnd_data_request(Ecore_Event * ev)
|
|||
D_RETURN;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
static void
|
||||
e_dnd_drop_end(Ecore_Event * ev)
|
||||
{
|
||||
Ecore_Event_Dnd_Drop_End *e;
|
||||
|
@ -2255,17 +2120,14 @@ e_dnd_drop_end(Ecore_Event * ev)
|
|||
* Window win, root, source_win;
|
||||
* } Ecore_Event_Dnd_Drop_End;
|
||||
*/
|
||||
Evas_List l;
|
||||
E_View *v;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
if (e && e->win)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
if(v_dnd_source)
|
||||
{
|
||||
|
@ -2282,12 +2144,9 @@ e_dnd_drop_end(Ecore_Event * ev)
|
|||
v_dnd_source->changed = 1;
|
||||
v_dnd_source->drag.icon_show = 1;
|
||||
}
|
||||
|
||||
e_dnd_drop_request_free();
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -2303,17 +2162,13 @@ e_dnd_drop_position(Ecore_Event * ev)
|
|||
* int x, y;
|
||||
* } Ecore_Event_Dnd_Drop_Position;
|
||||
*/
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
if (v->iconbar)
|
||||
{
|
||||
|
@ -2339,10 +2194,8 @@ e_dnd_drop_position(Ecore_Event * ev)
|
|||
);
|
||||
|
||||
/* todo - cache window extents, don't send again within these extents. */
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -2356,17 +2209,13 @@ e_dnd_drop(Ecore_Event * ev)
|
|||
* Window win, root, source_win;
|
||||
* } Ecore_Event_Dnd_Drop;
|
||||
*/
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v=e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
/* Dropped! Handle data */
|
||||
/* Same view or same underlying dir? Mark to skip action */
|
||||
|
@ -2377,11 +2226,8 @@ e_dnd_drop(Ecore_Event * ev)
|
|||
|
||||
ecore_window_dnd_send_finished(v->win.base, e->source_win);
|
||||
e_dnd_drop_request_free();
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
@ -2398,17 +2244,13 @@ e_dnd_drop_request(Ecore_Event * ev)
|
|||
* int copy, link, move;
|
||||
* } Ecore_Event_Dnd_Drop_Request;
|
||||
*/
|
||||
Evas_List l;
|
||||
|
||||
D_ENTER;
|
||||
|
||||
e = ev->event;
|
||||
for (l = VM->views; l; l = l->next)
|
||||
{
|
||||
E_View *v;
|
||||
|
||||
v = l->data;
|
||||
if (e->win == v->win.base)
|
||||
D_ENTER;
|
||||
e = ev->event;
|
||||
if (e && e->win)
|
||||
{
|
||||
if ( (v = e_view_machine_get_view_by_base_window(e->win)) )
|
||||
{
|
||||
/* if it exists, we already have the data... */
|
||||
if ((!dnd_files ) && (e->num_files > 0))
|
||||
|
@ -2424,9 +2266,8 @@ e_dnd_drop_request(Ecore_Event * ev)
|
|||
dnd_num_files = e->num_files;
|
||||
|
||||
/* if the dnd source is e itself then dont use the event mode */
|
||||
if (e_view_find_by_window(e->source_win))
|
||||
if ( (v == e_view_machine_get_view_by_base_window(e->source_win)))
|
||||
{
|
||||
v = e_view_find_by_window(e->source_win);
|
||||
dnd_pending_mode = v->drag.drop_mode;
|
||||
}
|
||||
else
|
||||
|
@ -2441,10 +2282,8 @@ e_dnd_drop_request(Ecore_Event * ev)
|
|||
dnd_pending_mode = E_DND_ASK;
|
||||
}
|
||||
}
|
||||
D_RETURN;
|
||||
}
|
||||
}
|
||||
|
||||
D_RETURN;
|
||||
}
|
||||
|
||||
|
|
|
@ -207,7 +207,6 @@ void e_view_resort(E_View *v);
|
|||
void e_view_queue_geometry_record(E_View *v);
|
||||
void e_view_queue_icon_xy_record(E_View *v);
|
||||
void e_view_queue_resort(E_View *v);
|
||||
E_View *e_view_find_by_window(Window win);
|
||||
|
||||
/**
|
||||
* e_view_new - Creates a new view object
|
||||
|
|
Loading…
Reference in New Issue