Revert "win: let elm handle focus"
This reverts commit 113bf27619
.
Not yet fully working. Previous behaviour was better.
This commit is contained in:
parent
113bf27619
commit
8354e83726
|
@ -277,7 +277,6 @@ _sep_add_h(Evas_Object *win)
|
|||
static void
|
||||
controls_hide(Controls_Ctx *ctx, Eina_Bool call_cb)
|
||||
{
|
||||
elm_object_focus_set(ctx->frame, EINA_FALSE);
|
||||
if (ctx->win)
|
||||
{
|
||||
evas_object_event_callback_del(ctx->win, EVAS_CALLBACK_DEL, _cb_saved_del);
|
||||
|
@ -294,6 +293,7 @@ controls_hide(Controls_Ctx *ctx, Eina_Bool call_cb)
|
|||
{
|
||||
evas_object_del(ctx->over);
|
||||
}
|
||||
elm_object_focus_set(ctx->frame, EINA_FALSE);
|
||||
|
||||
if (call_cb)
|
||||
{
|
||||
|
|
|
@ -461,6 +461,10 @@ _solo_focus(Term_Container *tc, Term_Container *relative)
|
|||
edje_object_signal_emit(term->bg, "focus,in", "terminology");
|
||||
elm_layout_signal_emit(term->base, "focus,in", "terminology");
|
||||
}
|
||||
if (term->wn->cmdbox)
|
||||
elm_object_focus_set(term->wn->cmdbox, EINA_FALSE);
|
||||
|
||||
elm_object_focus_set(term->termio, EINA_TRUE);
|
||||
termio_event_feed_mouse_in(term->termio);
|
||||
termio_focus_in(term->termio);
|
||||
|
||||
|
@ -549,6 +553,8 @@ _cb_win_focus_in(void *data,
|
|||
if (!tc->is_focused)
|
||||
elm_win_urgent_set(wn->win, EINA_FALSE);
|
||||
tc->is_focused = EINA_TRUE;
|
||||
if ((wn->cmdbox_up) && (wn->cmdbox))
|
||||
elm_object_focus_set(wn->cmdbox, EINA_TRUE);
|
||||
if (wn->on_popover)
|
||||
return;
|
||||
|
||||
|
@ -1028,6 +1034,9 @@ _win_unfocus(Term_Container *tc, Term_Container *relative)
|
|||
}
|
||||
tc->is_focused = EINA_FALSE;
|
||||
wn->child->unfocus(wn->child, tc);
|
||||
|
||||
if ((wn->cmdbox_up) && (wn->cmdbox))
|
||||
elm_object_focus_set(wn->cmdbox, EINA_FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1689,7 +1698,6 @@ win_new(const char *name, const char *role, const char *title,
|
|||
EVAS_CALLBACK_MOUSE_MOVE,
|
||||
_cb_win_mouse_move,
|
||||
wn);
|
||||
elm_object_focus_set(wn->base, EINA_TRUE);
|
||||
|
||||
if (ecore_imf_init())
|
||||
{
|
||||
|
@ -4918,6 +4926,21 @@ _cb_send_end(void *data,
|
|||
_sendfile_progress_hide(term);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_cb_cmd_focus(void *data)
|
||||
{
|
||||
Win *wn = data;
|
||||
Term *term;
|
||||
Term_Container *tc;
|
||||
|
||||
wn->cmdbox_focus_timer = NULL;
|
||||
tc = (Term_Container*) wn;
|
||||
term = tc->focused_term_get(tc);
|
||||
if (term && term->wn->cmdbox)
|
||||
elm_object_focus_set(wn->cmdbox, EINA_TRUE);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_cb_cmd_del(void *data)
|
||||
{
|
||||
|
@ -4942,6 +4965,8 @@ _cb_cmd_activated(void *data,
|
|||
Term *term;
|
||||
Term_Container *tc;
|
||||
|
||||
if (wn->cmdbox)
|
||||
elm_object_focus_set(wn->cmdbox, EINA_FALSE);
|
||||
elm_layout_signal_emit(wn->base, "cmdbox,hide", "terminology");
|
||||
tc = (Term_Container *) wn;
|
||||
term = tc->focused_term_get(tc);
|
||||
|
@ -4972,6 +4997,8 @@ _cb_cmd_aborted(void *data,
|
|||
{
|
||||
Win *wn = data;
|
||||
|
||||
if (wn->cmdbox)
|
||||
elm_object_focus_set(wn->cmdbox, EINA_FALSE);
|
||||
elm_layout_signal_emit(wn->base, "cmdbox,hide", "terminology");
|
||||
if (wn->cmdbox_focus_timer)
|
||||
{
|
||||
|
@ -5059,6 +5086,8 @@ _cb_cmdbox(void *data,
|
|||
evas_object_show(term->wn->cmdbox);
|
||||
if (term->wn->cmdbox_focus_timer)
|
||||
ecore_timer_del(term->wn->cmdbox_focus_timer);
|
||||
term->wn->cmdbox_focus_timer =
|
||||
ecore_timer_add(0.2, _cb_cmd_focus, term->wn);
|
||||
if (term->wn->cmdbox_del_timer)
|
||||
{
|
||||
ecore_timer_del(term->wn->cmdbox_del_timer);
|
||||
|
@ -5410,6 +5439,8 @@ _term_bg_config(Term *term)
|
|||
edje_object_signal_emit(term->bg, "focus,in", "terminology");
|
||||
elm_layout_signal_emit(term->base, "focus,in", "terminology");
|
||||
}
|
||||
if (term->wn->cmdbox)
|
||||
elm_object_focus_set(term->wn->cmdbox, EINA_FALSE);
|
||||
}
|
||||
if (term->miniview_shown)
|
||||
edje_object_signal_emit(term->bg, "miniview,on", "terminology");
|
||||
|
@ -5527,17 +5558,14 @@ _cb_options(void *data,
|
|||
{
|
||||
Term *term = data;
|
||||
Term_Container *tc = term->container;
|
||||
ERR("cb options");
|
||||
|
||||
term->wn->on_popover++;
|
||||
|
||||
term_ref(term);
|
||||
tc->unfocus(tc, NULL);
|
||||
ERR("unfocus");
|
||||
|
||||
controls_show(term->wn->win, term->wn->base, term->bg, term->termio,
|
||||
_cb_options_done, term);
|
||||
ERR("controls shown");
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -5584,7 +5612,6 @@ term_new(Win *wn, Config *config, const char *cmd,
|
|||
term->config = config;
|
||||
|
||||
term->base = o = elm_layout_add(wn->win);
|
||||
elm_object_focus_allow_set(o, EINA_TRUE);
|
||||
theme_apply_elm(o, term->config, "terminology/core");
|
||||
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_fill_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
|
|
Loading…
Reference in New Issue