From 26d14e25c9f056232da485ec37b64cf0a6b271a0 Mon Sep 17 00:00:00 2001 From: WooHyun Jung Date: Tue, 12 Jul 2011 08:22:16 +0000 Subject: [PATCH] elementary/elm_widget : add focus_disabled_handle. SVN revision: 61270 --- legacy/elementary/src/lib/elm_widget.c | 31 ++++++++++---------------- legacy/elementary/src/lib/elm_widget.h | 1 + 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/legacy/elementary/src/lib/elm_widget.c b/legacy/elementary/src/lib/elm_widget.c index 9a65f01a55..dc58c275c6 100644 --- a/legacy/elementary/src/lib/elm_widget.c +++ b/legacy/elementary/src/lib/elm_widget.c @@ -1806,25 +1806,7 @@ elm_widget_disabled_set(Evas_Object *obj, if (sd->disabled == disabled) return; sd->disabled = !!disabled; - if (sd->focused) - { - Evas_Object *o, *parent; - parent = obj; - o = elm_widget_parent_get(parent); - if (!o) - elm_widget_focused_object_clear(parent); - else - { - parent = o; - for (;;) - { - o = elm_widget_parent_get(parent); - if (!o) break; - parent = o; - } - elm_widget_focus_cycle(parent, ELM_FOCUS_NEXT); - } - } + elm_widget_focus_disabled_handle(obj); if (sd->disable_func) sd->disable_func(obj); } @@ -2290,6 +2272,17 @@ elm_widget_focus_mouse_down_handle(Evas_Object *obj) elm_widget_focus_steal(o); } +EAPI void +elm_widget_focus_disabled_handle(Evas_Object *obj) +{ + API_ENTRY return; + + if (!elm_widget_parent_get(obj)) + elm_widget_focused_object_clear(obj); + else + _if_focused_revert(obj, EINA_TRUE); +} + /** * @internal * diff --git a/legacy/elementary/src/lib/elm_widget.h b/legacy/elementary/src/lib/elm_widget.h index 9d10f37ece..523ba25297 100644 --- a/legacy/elementary/src/lib/elm_widget.h +++ b/legacy/elementary/src/lib/elm_widget.h @@ -310,6 +310,7 @@ EAPI Eina_List *elm_widget_stringlist_get(const char *str); EAPI void elm_widget_stringlist_free(Eina_List *list); EAPI void elm_widget_focus_hide_handle(Evas_Object *obj); EAPI void elm_widget_focus_mouse_down_handle(Evas_Object *obj); +EAPI void elm_widget_focus_disabled_handle(Evas_Object *obj); EAPI void elm_widget_text_part_set(Evas_Object *obj, const char *item, const char *label); EAPI const char *elm_widget_text_part_get(const Evas_Object *obj, const char *item);