forked from enlightenment/enlightenment
prevent desktop fileman from losing focus
SVN revision: 74852
This commit is contained in:
parent
7ba11ee2c1
commit
6af55741ae
|
@ -194,6 +194,13 @@ static void _e_fwin_zone_cb_mouse_down(void *data,
|
||||||
Evas *evas,
|
Evas *evas,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
void *event_info);
|
void *event_info);
|
||||||
|
static void _e_fwin_zone_focus_out(void *data,
|
||||||
|
Evas *evas,
|
||||||
|
Evas_Object *obj,
|
||||||
|
void *event_info);
|
||||||
|
static void _e_fwin_zone_focus_in(void *data,
|
||||||
|
Evas *evas,
|
||||||
|
void *event_info);
|
||||||
static Eina_Bool _e_fwin_zone_move_resize(void *data,
|
static Eina_Bool _e_fwin_zone_move_resize(void *data,
|
||||||
int type,
|
int type,
|
||||||
void *event);
|
void *event);
|
||||||
|
@ -289,6 +296,8 @@ e_fwin_zone_new(E_Zone *zone,
|
||||||
|
|
||||||
o = e_fm2_add(zone->container->bg_evas);
|
o = e_fm2_add(zone->container->bg_evas);
|
||||||
page->fm_obj = o;
|
page->fm_obj = o;
|
||||||
|
evas_event_callback_add(zone->container->bg_evas, EVAS_CALLBACK_CANVAS_FOCUS_IN, _e_fwin_zone_focus_in, fwin);
|
||||||
|
evas_object_event_callback_add(o, EVAS_CALLBACK_FOCUS_OUT, _e_fwin_zone_focus_out, fwin);
|
||||||
_e_fwin_config_set(page);
|
_e_fwin_config_set(page);
|
||||||
|
|
||||||
e_fm2_custom_theme_content_set(o, "desktop");
|
e_fm2_custom_theme_content_set(o, "desktop");
|
||||||
|
@ -375,6 +384,7 @@ e_fwin_zone_shutdown(E_Zone *zone)
|
||||||
{
|
{
|
||||||
if (win->zone != zone) continue;
|
if (win->zone != zone) continue;
|
||||||
fileman_config->view.desktop_mode = e_fm2_view_mode_get(win->cur_page->fm_obj);
|
fileman_config->view.desktop_mode = e_fm2_view_mode_get(win->cur_page->fm_obj);
|
||||||
|
evas_event_callback_del_full(zone->container->bg_evas, EVAS_CALLBACK_CANVAS_FOCUS_IN, _e_fwin_zone_focus_in, win);
|
||||||
e_object_del(E_OBJECT(win));
|
e_object_del(E_OBJECT(win));
|
||||||
win = NULL;
|
win = NULL;
|
||||||
}
|
}
|
||||||
|
@ -1595,7 +1605,7 @@ _e_fwin_selected(void *data,
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_fwin_selection_change(void *data,
|
_e_fwin_selection_change(void *data,
|
||||||
Evas_Object *obj __UNUSED__,
|
Evas_Object *obj,
|
||||||
void *event_info __UNUSED__)
|
void *event_info __UNUSED__)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
@ -1607,6 +1617,7 @@ _e_fwin_selection_change(void *data,
|
||||||
if (l->data != page->fwin)
|
if (l->data != page->fwin)
|
||||||
e_fwin_all_unsel(l->data);
|
e_fwin_all_unsel(l->data);
|
||||||
}
|
}
|
||||||
|
evas_object_focus_set(obj, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1700,6 +1711,27 @@ _e_fwin_zone_cb_mouse_down(void *data,
|
||||||
e_fm2_typebuf_clear(fwin->cur_page->fm_obj);
|
e_fm2_typebuf_clear(fwin->cur_page->fm_obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_fwin_zone_focus_out(void *data __UNUSED__,
|
||||||
|
Evas *evas __UNUSED__,
|
||||||
|
Evas_Object *obj,
|
||||||
|
void *event_info __UNUSED__)
|
||||||
|
{
|
||||||
|
evas_object_focus_set(obj, EINA_TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_fwin_zone_focus_in(void *data,
|
||||||
|
Evas *evas __UNUSED__,
|
||||||
|
void *event_info __UNUSED__)
|
||||||
|
{
|
||||||
|
E_Fwin *fwin;
|
||||||
|
|
||||||
|
fwin = data;
|
||||||
|
if (!fwin) return;
|
||||||
|
evas_object_focus_set(fwin->cur_page->fm_obj, EINA_TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_e_fwin_zone_move_resize(void *data,
|
_e_fwin_zone_move_resize(void *data,
|
||||||
int type,
|
int type,
|
||||||
|
|
Loading…
Reference in New Issue