From 418ff1255b6b19459786bf3ac51d2f728fc4ae4a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 3 Aug 2012 10:32:12 +0000 Subject: [PATCH] clear efm typebuf when something gets clicked, add external function for manually clearing typebuf SVN revision: 74837 --- src/bin/e_fm.c | 12 ++++++++++++ src/bin/e_fm.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index ccb19abbe..ad6c7b759 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -5471,6 +5471,7 @@ _e_fm2_typebuf_hide(Evas_Object *obj) sd = evas_object_smart_data_get(obj); if (!sd) return; + if (!sd->typebuf_visible) return; if (sd->typebuf.setting) return; E_FREE(sd->typebuf.buf); edje_object_signal_emit(sd->overlay, "e,state,typebuf,stop", "e"); @@ -6712,6 +6713,7 @@ _e_fm2_cb_icon_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNU if (ic->entry_widget) return; + _e_fm2_typebuf_hide(ic->sd->obj); if ((ev->button == 1) && (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)) { /* if its a directory && open dirs in-place is set then change the dir @@ -6763,6 +6765,7 @@ _e_fm2_cb_icon_mouse_up(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSE if (ic->entry_widget) return; + _e_fm2_typebuf_hide(ic->sd->obj); if ((ev->button == 1) && (!ic->drag.dnd)) { if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)) @@ -7328,6 +7331,7 @@ _e_fm2_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__ sd = data; ev = event_info; + _e_fm2_typebuf_hide(sd->obj); if (ev->button == 1) { Eina_List *l; @@ -7391,6 +7395,7 @@ _e_fm2_cb_mouse_up(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, E_Fm2_Smart_Data *sd; sd = data; + _e_fm2_typebuf_hide(sd->obj); sd->selecting = EINA_FALSE; sd->selrect.ox = 0; sd->selrect.oy = 0; @@ -10387,6 +10392,13 @@ e_fm2_typebuf_visible_get(Evas_Object *obj) return sd->typebuf_visible; } +EAPI void +e_fm2_typebuf_clear(Evas_Object *obj) +{ + EFM_SMART_CHECK(); + _e_fm2_typebuf_hide(obj); +} + EAPI void e_fm2_overlay_clip_to(Evas_Object *obj, Evas_Object *clip) { diff --git a/src/bin/e_fm.h b/src/bin/e_fm.h index b1047ace2..f17245fbc 100644 --- a/src/bin/e_fm.h +++ b/src/bin/e_fm.h @@ -188,6 +188,7 @@ EAPI Evas_Object *e_fm2_icon_get(Evas *evas, E_Fm2_Icon *ic, Evas_Smart_Cb g EAPI E_Fm2_Icon_Info *e_fm2_icon_file_info_get(E_Fm2_Icon *ic); EAPI void e_fm2_icon_geometry_get(E_Fm2_Icon *ic, int *x, int *y, int *w, int *h); EAPI Eina_Bool e_fm2_typebuf_visible_get(Evas_Object *obj); +EAPI void e_fm2_typebuf_clear(Evas_Object *obj); EAPI void e_fm2_overlay_clip_to(Evas_Object *fm, Evas_Object *clip); EAPI void e_fm2_client_data(Ecore_Ipc_Event_Client_Data *e);