forked from enlightenment/enlightenment
i think that should get things back to the way till had them.
for some reason, in e_configure, if ((v = e_view_machine_get_view_by_base_window(e->win))) was acting as though true for all cases (including non views), and was segfaulting, so i made it v = e_view_machine_get_view_by_base_window(e->win); if (v) any ideas why this would be necessary? SVN revision: 6036
This commit is contained in:
parent
ce6d128739
commit
b4aaf24a68
292
src/view.c
292
src/view.c
|
@ -333,7 +333,7 @@ e_bg_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y)
|
||||||
if (!(ev->mods & (multi_select_mod | range_select_mod)))
|
if (!(ev->mods & (multi_select_mod | range_select_mod)))
|
||||||
{
|
{
|
||||||
v->select.last_count = v->select.count;
|
v->select.last_count = v->select.count;
|
||||||
e_view_deselect_all();
|
e_view_deselect_all(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_b == 1)
|
if (_b == 1)
|
||||||
|
@ -554,18 +554,12 @@ e_bg_move_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_view_deselect_all(void)
|
e_view_deselect_all(E_View *v)
|
||||||
{
|
{
|
||||||
Evas_List ll;
|
Evas_List l;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
for (ll = VM->views; ll; ll = ll->next)
|
|
||||||
{
|
|
||||||
Evas_List l;
|
|
||||||
E_View *v;
|
|
||||||
|
|
||||||
v = ll->data;
|
|
||||||
for (l = v->icons; l; l = l->next)
|
for (l = v->icons; l; l = l->next)
|
||||||
{
|
{
|
||||||
E_Icon *ic;
|
E_Icon *ic;
|
||||||
|
@ -573,7 +567,6 @@ e_view_deselect_all(void)
|
||||||
ic = l->data;
|
ic = l->data;
|
||||||
e_icon_deselect(ic);
|
e_icon_deselect(ic);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
D_RETURN;
|
D_RETURN;
|
||||||
}
|
}
|
||||||
|
@ -581,17 +574,11 @@ e_view_deselect_all(void)
|
||||||
void
|
void
|
||||||
e_view_deselect_all_except(E_Icon * not_ic)
|
e_view_deselect_all_except(E_Icon * not_ic)
|
||||||
{
|
{
|
||||||
Evas_List ll;
|
Evas_List l;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
for (ll = VM->views; ll; ll = ll->next)
|
for (l = not_ic->view->icons; l; l = l->next)
|
||||||
{
|
|
||||||
Evas_List l;
|
|
||||||
E_View *v;
|
|
||||||
|
|
||||||
v = ll->data;
|
|
||||||
for (l = v->icons; l; l = l->next)
|
|
||||||
{
|
{
|
||||||
E_Icon *ic;
|
E_Icon *ic;
|
||||||
|
|
||||||
|
@ -599,7 +586,6 @@ e_view_deselect_all_except(E_Icon * not_ic)
|
||||||
if (ic != not_ic)
|
if (ic != not_ic)
|
||||||
e_icon_deselect(ic);
|
e_icon_deselect(ic);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
D_RETURN;
|
D_RETURN;
|
||||||
}
|
}
|
||||||
|
@ -686,6 +672,8 @@ e_view_icons_apply_xy(E_View * v)
|
||||||
e_icon_apply_xy(ic);
|
e_icon_apply_xy(ic);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
v->changed = 1;
|
||||||
|
|
||||||
D_RETURN;
|
D_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -920,17 +908,15 @@ static void
|
||||||
e_configure(Ecore_Event * ev)
|
e_configure(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Configure *e;
|
Ecore_Event_Window_Configure *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
v = e_view_machine_get_view_by_base_window(e->win);
|
||||||
|
if (v)
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
/* win, root, x, y, w, h, wm_generated */
|
/* win, root, x, y, w, h, wm_generated */
|
||||||
D("Configure for view: %s\n", v->name);
|
D("Configure for view: %s\n", v->name);
|
||||||
|
@ -1019,17 +1005,14 @@ static void
|
||||||
e_property(Ecore_Event * ev)
|
e_property(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Configure *e;
|
Ecore_Event_Window_Configure *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1041,17 +1024,14 @@ static void
|
||||||
e_unmap(Ecore_Event * ev)
|
e_unmap(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Unmap *e;
|
Ecore_Event_Window_Unmap *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1063,17 +1043,14 @@ static void
|
||||||
e_visibility(Ecore_Event * ev)
|
e_visibility(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Unmap *e;
|
Ecore_Event_Window_Unmap *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1085,17 +1062,14 @@ static void
|
||||||
e_focus_in(Ecore_Event * ev)
|
e_focus_in(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Focus_In *e;
|
Ecore_Event_Window_Focus_In *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1107,17 +1081,14 @@ static void
|
||||||
e_focus_out(Ecore_Event * ev)
|
e_focus_out(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Focus_Out *e;
|
Ecore_Event_Window_Focus_Out *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1129,17 +1100,14 @@ static void
|
||||||
e_delete(Ecore_Event * ev)
|
e_delete(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Delete *e;
|
Ecore_Event_Window_Delete *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
e_object_unref(E_OBJECT(v));
|
e_object_unref(E_OBJECT(v));
|
||||||
D_RETURN;
|
D_RETURN;
|
||||||
|
@ -1168,19 +1136,15 @@ e_dnd_status(Ecore_Event * ev)
|
||||||
* int ok;
|
* int ok;
|
||||||
* } Ecore_Event_Dnd_Drop_Status;
|
* } Ecore_Event_Dnd_Drop_Status;
|
||||||
*/
|
*/
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
if (dnd_pending_mode != E_DND_DELETED &&
|
if (dnd_pending_mode != E_DND_DELETED &&
|
||||||
dnd_pending_mode != E_DND_COPIED)
|
dnd_pending_mode != E_DND_COPIED)
|
||||||
{
|
{
|
||||||
|
@ -1208,17 +1172,14 @@ static void
|
||||||
e_wheel(Ecore_Event * ev)
|
e_wheel(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Wheel *e;
|
Ecore_Event_Wheel *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_main_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.main)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1230,17 +1191,15 @@ static void
|
||||||
e_key_down(Ecore_Event * ev)
|
e_key_down(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Key_Down *e;
|
Ecore_Event_Key_Down *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_main_window(e->win))
|
||||||
|
|| (v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
v = l->data;
|
|
||||||
if ((e->win == v->win.base) || (e->win == v->win.main))
|
|
||||||
{
|
{
|
||||||
if (!strcmp(e->key, "Up"))
|
if (!strcmp(e->key, "Up"))
|
||||||
{
|
{
|
||||||
|
@ -1285,17 +1244,16 @@ static void
|
||||||
e_key_up(Ecore_Event * ev)
|
e_key_up(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Key_Up *e;
|
Ecore_Event_Key_Up *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
D_RETURN;
|
if (e && e->win)
|
||||||
for (l = VM->views; l; l = l->next)
|
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
{
|
||||||
v = l->data;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
D_RETURN;
|
D_RETURN;
|
||||||
|
@ -1305,18 +1263,15 @@ static void
|
||||||
e_mouse_down(Ecore_Event * ev)
|
e_mouse_down(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Mouse_Down *e;
|
Ecore_Event_Mouse_Down *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
current_ev = ev;
|
current_ev = ev;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_main_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.main)
|
|
||||||
{
|
{
|
||||||
int focus_mode;
|
int focus_mode;
|
||||||
|
|
||||||
|
@ -1339,18 +1294,15 @@ static void
|
||||||
e_mouse_up(Ecore_Event * ev)
|
e_mouse_up(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Mouse_Up *e;
|
Ecore_Event_Mouse_Up *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
current_ev = ev;
|
current_ev = ev;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_main_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.main)
|
|
||||||
{
|
{
|
||||||
evas_event_button_up(v->evas, e->x, e->y, e->button);
|
evas_event_button_up(v->evas, e->x, e->y, e->button);
|
||||||
current_ev = NULL;
|
current_ev = NULL;
|
||||||
|
@ -1366,18 +1318,15 @@ static void
|
||||||
e_mouse_move(Ecore_Event * ev)
|
e_mouse_move(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Mouse_Move *e;
|
Ecore_Event_Mouse_Move *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
current_ev = ev;
|
current_ev = ev;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_main_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.main)
|
|
||||||
{
|
{
|
||||||
evas_event_move(v->evas, e->x, e->y);
|
evas_event_move(v->evas, e->x, e->y);
|
||||||
current_ev = NULL;
|
current_ev = NULL;
|
||||||
|
@ -1393,18 +1342,15 @@ static void
|
||||||
e_mouse_in(Ecore_Event * ev)
|
e_mouse_in(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Enter *e;
|
Ecore_Event_Window_Enter *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
current_ev = ev;
|
current_ev = ev;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_main_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.main)
|
|
||||||
{
|
{
|
||||||
if (v->model->is_desktop)
|
if (v->model->is_desktop)
|
||||||
{
|
{
|
||||||
|
@ -1423,18 +1369,15 @@ static void
|
||||||
e_mouse_out(Ecore_Event * ev)
|
e_mouse_out(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Leave *e;
|
Ecore_Event_Window_Leave *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
current_ev = ev;
|
current_ev = ev;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_main_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.main)
|
|
||||||
{
|
{
|
||||||
evas_event_leave(v->evas);
|
evas_event_leave(v->evas);
|
||||||
current_ev = NULL;
|
current_ev = NULL;
|
||||||
|
@ -1450,17 +1393,15 @@ static void
|
||||||
e_window_expose(Ecore_Event * ev)
|
e_window_expose(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Expose *e;
|
Ecore_Event_Window_Expose *e;
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
current_ev = ev;
|
||||||
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_main_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.main)
|
|
||||||
{
|
{
|
||||||
if (!(v->pmap))
|
if (!(v->pmap))
|
||||||
evas_update_rect(v->evas, e->x, e->y, e->w, e->h);
|
evas_update_rect(v->evas, e->x, e->y, e->w, e->h);
|
||||||
|
@ -1639,41 +1580,6 @@ e_view_queue_resort(E_View * v)
|
||||||
D_RETURN;
|
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
|
static void
|
||||||
e_view_cleanup(E_View * v)
|
e_view_cleanup(E_View * v)
|
||||||
{
|
{
|
||||||
|
@ -1684,24 +1590,30 @@ e_view_cleanup(E_View * v)
|
||||||
* not via a timeout, because we will destroy the object after this.*/
|
* not via a timeout, because we will destroy the object after this.*/
|
||||||
e_view_geometry_record(v);
|
e_view_geometry_record(v);
|
||||||
|
|
||||||
e_view_machine_unregister_view(v);
|
|
||||||
|
|
||||||
if (v->iconbar)
|
if (v->iconbar)
|
||||||
{
|
{
|
||||||
/*e_iconbar_save_out_final(v->iconbar); */
|
/*e_iconbar_save_out_final(v->iconbar); */
|
||||||
e_object_unref(E_OBJECT(v->iconbar));
|
e_object_unref(E_OBJECT(v->iconbar));
|
||||||
}
|
}
|
||||||
|
if (v->bg)
|
||||||
|
e_bg_free(v->bg);
|
||||||
if (v->scrollbar.h)
|
if (v->scrollbar.h)
|
||||||
e_object_unref(E_OBJECT(v->scrollbar.h));
|
e_object_unref(E_OBJECT(v->scrollbar.h));
|
||||||
if (v->scrollbar.v)
|
if (v->scrollbar.v)
|
||||||
e_object_unref(E_OBJECT(v->scrollbar.v));
|
e_object_unref(E_OBJECT(v->scrollbar.v));
|
||||||
|
if (v->layout)
|
||||||
|
e_object_unref(E_OBJECT(v->layout));
|
||||||
|
|
||||||
|
|
||||||
ecore_window_destroy(v->win.base);
|
ecore_window_destroy(v->win.base);
|
||||||
|
|
||||||
snprintf(name, PATH_MAX, "resort_timer.%s", v->name);
|
snprintf(name, PATH_MAX, "resort_timer.%s", v->name);
|
||||||
ecore_del_event_timer(name);
|
ecore_del_event_timer(name);
|
||||||
|
|
||||||
if (v->layout)
|
/* unregister with the underlying model and the global list of views */
|
||||||
e_object_unref(v->layout);
|
e_view_model_unregister_view(v);
|
||||||
|
e_view_machine_unregister_view(v);
|
||||||
/* FIXME: clean up the rest!!! this leaks ... */
|
/* FIXME: clean up the rest!!! this leaks ... */
|
||||||
|
|
||||||
/* Call the destructor of the base class */
|
/* Call the destructor of the base class */
|
||||||
|
@ -1738,7 +1650,6 @@ e_view_new(void)
|
||||||
v->options.back_pixmap = 0;
|
v->options.back_pixmap = 0;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
v->select.lock = 0;
|
|
||||||
v->select.config.grad_size.l = 8;
|
v->select.config.grad_size.l = 8;
|
||||||
v->select.config.grad_size.r = 8;
|
v->select.config.grad_size.r = 8;
|
||||||
v->select.config.grad_size.t = 8;
|
v->select.config.grad_size.t = 8;
|
||||||
|
@ -1784,7 +1695,6 @@ e_view_set_dir(E_View * v, char *path, int is_desktop)
|
||||||
D("Model for this dir doesn't exist, make a new one\n");
|
D("Model for this dir doesn't exist, make a new one\n");
|
||||||
|
|
||||||
m = e_view_model_new();
|
m = e_view_model_new();
|
||||||
VM->models = evas_list_append(VM->models, m);
|
|
||||||
e_view_model_set_dir(m, path);
|
e_view_model_set_dir(m, path);
|
||||||
|
|
||||||
snprintf(buf, PATH_MAX, "%s/.e_background.bg.db", m->dir);
|
snprintf(buf, PATH_MAX, "%s/.e_background.bg.db", m->dir);
|
||||||
|
@ -1807,8 +1717,7 @@ e_view_set_dir(E_View * v, char *path, int is_desktop)
|
||||||
|
|
||||||
if (m)
|
if (m)
|
||||||
{
|
{
|
||||||
v->model = m;
|
e_view_model_register_view(m, v);
|
||||||
v->model->views = evas_list_append(v->model->views, v);
|
|
||||||
/* FIXME do a real naming scheme here */
|
/* FIXME do a real naming scheme here */
|
||||||
snprintf(buf, PATH_MAX, "%s:%d", v->model->dir,
|
snprintf(buf, PATH_MAX, "%s:%d", v->model->dir,
|
||||||
e_object_get_usecount(E_OBJECT(v->model)));
|
e_object_get_usecount(E_OBJECT(v->model)));
|
||||||
|
@ -2284,12 +2193,8 @@ e_dnd_data_request(Ecore_Event * ev)
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (!(v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
{
|
D_RETURN;
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e->uri_list)
|
if (e->uri_list)
|
||||||
{
|
{
|
||||||
|
@ -2400,17 +2305,14 @@ e_dnd_drop_end(Ecore_Event * ev)
|
||||||
* * Window win, root, source_win;
|
* * Window win, root, source_win;
|
||||||
* * } Ecore_Event_Dnd_Drop_End;
|
* * } Ecore_Event_Dnd_Drop_End;
|
||||||
*/
|
*/
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
if (v_dnd_source)
|
if (v_dnd_source)
|
||||||
{
|
{
|
||||||
|
@ -2429,7 +2331,6 @@ e_dnd_drop_end(Ecore_Event * ev)
|
||||||
}
|
}
|
||||||
|
|
||||||
e_dnd_drop_request_free();
|
e_dnd_drop_request_free();
|
||||||
D_RETURN;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2448,17 +2349,14 @@ e_dnd_drop_position(Ecore_Event * ev)
|
||||||
* int x, y;
|
* int x, y;
|
||||||
* } Ecore_Event_Dnd_Drop_Position;
|
* } Ecore_Event_Dnd_Drop_Position;
|
||||||
*/
|
*/
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
if (v->iconbar)
|
if (v->iconbar)
|
||||||
{
|
{
|
||||||
|
@ -2484,7 +2382,6 @@ e_dnd_drop_position(Ecore_Event * ev)
|
||||||
v->size.w, v->size.h);
|
v->size.w, v->size.h);
|
||||||
|
|
||||||
/* todo - cache window extents, don't send again within these extents. */
|
/* todo - cache window extents, don't send again within these extents. */
|
||||||
D_RETURN;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2502,29 +2399,24 @@ e_dnd_drop(Ecore_Event * ev)
|
||||||
* Window win, root, source_win;
|
* Window win, root, source_win;
|
||||||
* } Ecore_Event_Dnd_Drop;
|
* } Ecore_Event_Dnd_Drop;
|
||||||
*/
|
*/
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
/* Dropped! Handle data */
|
/* Dropped! Handle data */
|
||||||
/* Same view or same underlying dir? Mark to skip action */
|
/* Same view or same underlying dir? Mark to skip action */
|
||||||
if (e->win == e->source_win || v->model == v_dnd_source->model)
|
if (e->win == e->source_win || v->model == v_dnd_source->model)
|
||||||
v->drag.matching_drop_attempt = 1;
|
v_dnd_source->drag.matching_drop_attempt = 1;
|
||||||
/* Perform the action... */
|
/* Perform the action... */
|
||||||
e_dnd_handle_drop(v);
|
e_dnd_handle_drop(v);
|
||||||
|
|
||||||
ecore_window_dnd_send_finished(v->win.base, e->source_win);
|
ecore_window_dnd_send_finished(v->win.base, e->source_win);
|
||||||
e_dnd_drop_request_free();
|
e_dnd_drop_request_free();
|
||||||
|
|
||||||
D_RETURN;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2545,17 +2437,14 @@ e_dnd_drop_request(Ecore_Event * ev)
|
||||||
* int copy, link, move;
|
* int copy, link, move;
|
||||||
* } Ecore_Event_Dnd_Drop_Request;
|
* } Ecore_Event_Dnd_Drop_Request;
|
||||||
*/
|
*/
|
||||||
Evas_List l;
|
E_View *v;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
for (l = VM->views; l; l = l->next)
|
if (e && e->win)
|
||||||
{
|
{
|
||||||
E_View *v;
|
if ((v = e_view_machine_get_view_by_base_window(e->win)))
|
||||||
|
|
||||||
v = l->data;
|
|
||||||
if (e->win == v->win.base)
|
|
||||||
{
|
{
|
||||||
/* if it exists, we already have the data... */
|
/* if it exists, we already have the data... */
|
||||||
if ((!dnd_files) && (e->num_files > 0))
|
if ((!dnd_files) && (e->num_files > 0))
|
||||||
|
@ -2571,9 +2460,9 @@ e_dnd_drop_request(Ecore_Event * ev)
|
||||||
dnd_num_files = e->num_files;
|
dnd_num_files = e->num_files;
|
||||||
|
|
||||||
/* if the dnd source is e itself then dont use the event mode */
|
/* 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;
|
dnd_pending_mode = v->drag.drop_mode;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2588,7 +2477,6 @@ e_dnd_drop_request(Ecore_Event * ev)
|
||||||
dnd_pending_mode = E_DND_ASK;
|
dnd_pending_mode = E_DND_ASK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
D_RETURN;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,9 +124,6 @@ struct _E_View
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
int on;
|
int on;
|
||||||
/* we set this in all other views of our view_model
|
|
||||||
* when the first icon in a view is selected. */
|
|
||||||
int lock;
|
|
||||||
/* The number of selected icons. */
|
/* The number of selected icons. */
|
||||||
int count;
|
int count;
|
||||||
/* The number of icons we selected the last time.
|
/* The number of icons we selected the last time.
|
||||||
|
@ -139,6 +136,7 @@ struct _E_View
|
||||||
int x, y;
|
int x, y;
|
||||||
}
|
}
|
||||||
down;
|
down;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
struct
|
struct
|
||||||
|
@ -170,6 +168,7 @@ struct _E_View
|
||||||
obj;
|
obj;
|
||||||
}
|
}
|
||||||
select;
|
select;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
int started;
|
int started;
|
||||||
|
@ -236,7 +235,7 @@ struct _E_View
|
||||||
void e_view_init(void);
|
void e_view_init(void);
|
||||||
|
|
||||||
void e_view_selection_update(E_View * v);
|
void e_view_selection_update(E_View * v);
|
||||||
void e_view_deselect_all(void);
|
void e_view_deselect_all(E_View *v);
|
||||||
void e_view_deselect_all_except(E_Icon * not_ic);
|
void e_view_deselect_all_except(E_Icon * not_ic);
|
||||||
Ecore_Event *e_view_get_current_event(void);
|
Ecore_Event *e_view_get_current_event(void);
|
||||||
int e_view_filter_file(E_View * v, char *file);
|
int e_view_filter_file(E_View * v, char *file);
|
||||||
|
@ -258,7 +257,6 @@ void e_view_resort(E_View * v);
|
||||||
void e_view_queue_geometry_record(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_icon_xy_record(E_View * v);
|
||||||
void e_view_queue_resort(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
|
* e_view_new - Creates a new view object
|
||||||
|
|
Loading…
Reference in New Issue