close media popup on escape

This commit is contained in:
Boris Faure 2015-02-21 12:24:28 +01:00
parent 5d169ebd71
commit be30c069f3
3 changed files with 27 additions and 1 deletions

View File

@ -1909,6 +1909,12 @@ _smart_cb_key_down(void *data, Evas *e EINA_UNUSED,
if (miniview_handle_key(term_miniview_get(sd->term), ev))
return;
if (term_has_popmedia(sd->term) && !strcmp(ev->key, "Escape"))
{
term_popmedia_close(sd->term);
return;
}
if (keyin_handle(&sd->khdl, sd->pty, ev, ctrl, alt, shift, win))
goto end;

View File

@ -1509,11 +1509,25 @@ _cb_popmedia_del(void *data, Evas *e EINA_UNUSED, Evas_Object *o EINA_UNUSED, vo
edje_object_signal_emit(term->bg, "popmedia,off", "terminology");
}
Eina_Bool
term_has_popmedia(const Term *term)
{
return !!term->popmedia;
}
void
term_popmedia_close(Term *term)
{
if (term->popmedia)
edje_object_signal_emit(term->bg, "popmedia,off", "terminology");
}
static void
_cb_popmedia_done(void *data, Evas_Object *obj EINA_UNUSED, const char *sig EINA_UNUSED, const char *src EINA_UNUSED)
{
Term *term = data;
if (term->popmedia || term->popmedia_deleted)
{
if (term->popmedia)

View File

@ -48,4 +48,10 @@ void term_next(Term *term);
void term_prev(Term *term);
Win * term_win_get(Term *term);
Eina_Bool
term_has_popmedia(const Term *term);
void
term_popmedia_close(Term *term);
#endif