forked from enlightenment/enventor
set focus on editor correctly.
previous menu_open_depth() is invalid bacause the menu would have close animation. so right after closing the menu, the menu depth was invalid. now get the menu depth and set focus on the editor after closing animation is finished.
This commit is contained in:
parent
464e84a6de
commit
01ceaa935c
|
@ -164,8 +164,8 @@ void
|
|||
goto_close()
|
||||
{
|
||||
goto_data *gd = g_gd;
|
||||
if (!gd) return;
|
||||
|
||||
if (!gd) return;
|
||||
//Save last state
|
||||
evas_object_geometry_get(gd->win, NULL, NULL, &win_w, &win_h);
|
||||
elm_win_screen_position_get(gd->win, &win_x, &win_y);
|
||||
|
|
|
@ -204,8 +204,6 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void *ev)
|
|||
return ECORE_CALLBACK_DONE;
|
||||
}
|
||||
menu_toggle();
|
||||
if (menu_open_depth() == 0)
|
||||
edit_focus_set(ad->ed);
|
||||
return ECORE_CALLBACK_DONE;
|
||||
}
|
||||
|
||||
|
|
|
@ -94,11 +94,10 @@ newfile_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
evas_object_del(md->newfile_layout);
|
||||
md->newfile_layout = NULL;
|
||||
md->open_depth--;
|
||||
if (md->menu_layout)
|
||||
{
|
||||
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
|
||||
elm_object_focus_set(md->menu_layout, EINA_TRUE);
|
||||
}
|
||||
if (md->open_depth == 0) edit_focus_set(md->ed);
|
||||
if (!md->menu_layout) return;
|
||||
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
|
||||
elm_object_focus_set(md->menu_layout, EINA_TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -110,11 +109,10 @@ fileselector_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
evas_object_del(md->fileselector_layout);
|
||||
md->fileselector_layout = NULL;
|
||||
md->open_depth--;
|
||||
if (md->menu_layout)
|
||||
{
|
||||
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
|
||||
elm_object_focus_set(md->menu_layout, EINA_TRUE);
|
||||
}
|
||||
if (md->open_depth == 0) edit_focus_set(md->ed);
|
||||
if (!md->menu_layout) return;
|
||||
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
|
||||
elm_object_focus_set(md->menu_layout, EINA_TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -126,6 +124,7 @@ setting_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
evas_object_del(md->setting_layout);
|
||||
md->setting_layout = NULL;
|
||||
md->open_depth--;
|
||||
if (md->open_depth == 0) edit_focus_set(md->ed);
|
||||
if (!md->menu_layout) return;
|
||||
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
|
||||
elm_object_focus_set(md->menu_layout, EINA_TRUE);
|
||||
|
@ -140,6 +139,7 @@ about_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
evas_object_del(md->about_layout);
|
||||
md->about_layout = NULL;
|
||||
md->open_depth--;
|
||||
if (md->open_depth == 0) edit_focus_set(md->ed);
|
||||
if (!md->menu_layout) return;
|
||||
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
|
||||
elm_object_focus_set(md->menu_layout, EINA_TRUE);
|
||||
|
@ -154,6 +154,7 @@ menu_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
evas_object_del(md->menu_layout);
|
||||
md->menu_layout = NULL;
|
||||
md->open_depth--;
|
||||
if (md->open_depth == 0) edit_focus_set(md->ed);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -165,6 +166,7 @@ warning_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
evas_object_del(md->warning_layout);
|
||||
md->warning_layout = NULL;
|
||||
md->open_depth--;
|
||||
if (md->open_depth == 0) edit_focus_set(md->ed);
|
||||
if (!md->menu_layout) return;
|
||||
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
|
||||
elm_object_focus_set(md->menu_layout, EINA_TRUE);
|
||||
|
@ -1172,6 +1174,7 @@ int
|
|||
menu_open_depth()
|
||||
{
|
||||
menu_data *md = g_md;
|
||||
if (!md) return 0;
|
||||
return md->open_depth;
|
||||
}
|
||||
|
||||
|
|
|
@ -87,7 +87,8 @@ static void
|
|||
goto_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
|
||||
{
|
||||
edit_data *ed = data;
|
||||
goto_open(ed);
|
||||
if (goto_is_opened()) goto_close();
|
||||
else goto_open(ed);
|
||||
item_unselect((Elm_Object_Item *)event_info);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue