forked from enlightenment/efl
elementary/naviframe - fix the naviframe to recover the focus when top item is deleted
This commit is contained in:
parent
4ec80b4e9f
commit
bfc63634c1
|
@ -1374,13 +1374,19 @@
|
||||||
* Add ELM_INPUT_PANEL_LAYOUT_DATETIME.
|
* Add ELM_INPUT_PANEL_LAYOUT_DATETIME.
|
||||||
|
|
||||||
2013-05-27 Seunggyun Kim
|
2013-05-27 Seunggyun Kim
|
||||||
|
|
||||||
* Add elm_config_glayer_long_tap_start_timeout_set/get,
|
* Add elm_config_glayer_long_tap_start_timeout_set/get,
|
||||||
elm_config_glayer_double_tap_timeout_set/get
|
elm_config_glayer_double_tap_timeout_set/get
|
||||||
|
|
||||||
2013-05-30 ChunEon Park
|
2013-05-30 ChunEon Park
|
||||||
|
|
||||||
* Fix the mapbuf to be enabled before it's content is entirely rendered
|
* Fix the mapbuf to be enabled before it's content is entirely rendered
|
||||||
once.
|
once.
|
||||||
|
|
||||||
2013-06-05 Ryuan Choi (ryuan)
|
2013-06-05 Ryuan Choi (ryuan)
|
||||||
|
|
||||||
* Fix elm_colorselector does not update color bar when picker changed color.
|
* Fix elm_colorselector does not update color bar when picker changed color.
|
||||||
|
|
||||||
|
2013-06-05 ChunEon Park (Hermet)
|
||||||
|
|
||||||
|
* Fix navifame to recover the focus for the prev page when top item is deleted.
|
||||||
|
|
|
@ -237,6 +237,7 @@ Fixes:
|
||||||
* Fix elm_colorselector does not emit "changed" when clicked color palatte.
|
* Fix elm_colorselector does not emit "changed" when clicked color palatte.
|
||||||
* Fix elm_mapbuf to be enabled before it's content is entirely rendered once. this will reduce the cases that content is not updated in the screen.
|
* Fix elm_mapbuf to be enabled before it's content is entirely rendered once. this will reduce the cases that content is not updated in the screen.
|
||||||
* Fix elm_colorselector does not update color bar when picker changed color.
|
* Fix elm_colorselector does not update color bar when picker changed color.
|
||||||
|
* Fix navifame to recover the focus for the prev page when top item is deleted.
|
||||||
|
|
||||||
Removals:
|
Removals:
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,19 @@ static const char SIG_CLICKED[] = "clicked";
|
||||||
|
|
||||||
static void _on_item_back_btn_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__);
|
static void _on_item_back_btn_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__);
|
||||||
|
|
||||||
|
static void
|
||||||
|
_prev_page_focus_recover(Elm_Naviframe_Item *it)
|
||||||
|
{
|
||||||
|
Evas_Object *newest;
|
||||||
|
unsigned int order;
|
||||||
|
|
||||||
|
newest = elm_widget_newest_focus_order_get(VIEW(it), &order, EINA_TRUE);
|
||||||
|
if (newest)
|
||||||
|
elm_object_focus_set(newest, EINA_TRUE);
|
||||||
|
else
|
||||||
|
elm_object_focus_set(VIEW(it), EINA_TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_elm_naviframe_smart_translate(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
|
_elm_naviframe_smart_translate(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
|
||||||
{
|
{
|
||||||
|
@ -449,6 +462,7 @@ _item_del_pre_hook(Elm_Object_Item *it)
|
||||||
if (evas_object_data_get(VIEW(nit), "out_of_list"))
|
if (evas_object_data_get(VIEW(nit), "out_of_list"))
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
//FIXME: Really need?
|
||||||
if (!sd->on_deletion)
|
if (!sd->on_deletion)
|
||||||
{
|
{
|
||||||
nit->unfocusable = elm_widget_tree_unfocusable_get(VIEW(nit));
|
nit->unfocusable = elm_widget_tree_unfocusable_get(VIEW(nit));
|
||||||
|
@ -473,6 +487,8 @@ _item_del_pre_hook(Elm_Object_Item *it)
|
||||||
evas_object_show(VIEW(prev_it));
|
evas_object_show(VIEW(prev_it));
|
||||||
evas_object_raise(VIEW(prev_it));
|
evas_object_raise(VIEW(prev_it));
|
||||||
|
|
||||||
|
_prev_page_focus_recover(prev_it);
|
||||||
|
|
||||||
elm_object_signal_emit(VIEW(prev_it), "elm,state,visible", "elm");
|
elm_object_signal_emit(VIEW(prev_it), "elm,state,visible", "elm");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1041,8 +1057,6 @@ _on_item_show_finished(void *data,
|
||||||
const char *source __UNUSED__)
|
const char *source __UNUSED__)
|
||||||
{
|
{
|
||||||
Elm_Naviframe_Item *it = data;
|
Elm_Naviframe_Item *it = data;
|
||||||
unsigned int order = 0;
|
|
||||||
Evas_Object *newest;
|
|
||||||
|
|
||||||
ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd);
|
ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd);
|
||||||
|
|
||||||
|
@ -1050,11 +1064,7 @@ _on_item_show_finished(void *data,
|
||||||
|
|
||||||
elm_widget_tree_unfocusable_set(VIEW(it), it->unfocusable);
|
elm_widget_tree_unfocusable_set(VIEW(it), it->unfocusable);
|
||||||
|
|
||||||
newest = elm_widget_newest_focus_order_get(VIEW(it), &order, EINA_TRUE);
|
_prev_page_focus_recover(it);
|
||||||
if (newest)
|
|
||||||
elm_object_focus_set(newest, EINA_TRUE);
|
|
||||||
else
|
|
||||||
elm_object_focus_set(VIEW(it), EINA_TRUE);
|
|
||||||
|
|
||||||
if (sd->freeze_events)
|
if (sd->freeze_events)
|
||||||
evas_object_freeze_events_set(VIEW(it), EINA_FALSE);
|
evas_object_freeze_events_set(VIEW(it), EINA_FALSE);
|
||||||
|
|
Loading…
Reference in New Issue