diff --git a/legacy/elementary/data/themes/edc/elm/focus.edc b/legacy/elementary/data/themes/edc/elm/focus.edc index 5c06179b94..19d78cde74 100644 --- a/legacy/elementary/data/themes/edc/elm/focus.edc +++ b/legacy/elementary/data/themes/edc/elm/focus.edc @@ -5,7 +5,7 @@ group { name: "elm/focus_highlight/top/default"; script { public s_x, s_y, s_w, s_h; /* source */ public difx, dify, difw, difh; - + public animator1(val, Float:pos) { new x, y, w, h, dx, dy, dw, dh, Float:p; p = 1.0 - ((1.0 - pos) * (1.0 - pos) * (1.0 - pos)); @@ -19,16 +19,16 @@ group { name: "elm/focus_highlight/top/default"; h = get_int(s_h) + dh; update_offset(x, y, w, h); } - + public update_offset(x, y, w, h) { set_state_val(PART:"base", STATE_REL1_OFFSET, x, y); set_state_val(PART:"base", STATE_REL2_OFFSET, x + w, y + h); } - + public message(Msg_Type:type, id, ...) { if ((type == MSG_INT_SET) && (id == 1)) { new x1, y1, w1, h1, x2, y2, w2, h2; - + x1 = getarg(2); y1 = getarg(3); w1 = getarg(4); @@ -37,7 +37,7 @@ group { name: "elm/focus_highlight/top/default"; y2 = getarg(7); w2 = getarg(8); h2 = getarg(9); - + set_int(s_x, x1); set_int(s_y, y1); set_int(s_w, w1); @@ -46,74 +46,31 @@ group { name: "elm/focus_highlight/top/default"; set_int(dify, y2 - y1); set_int(difw, w2 - w1); set_int(difh, h2 - h1); - + custom_state(PART:"base", "default", 0.0); set_state_val(PART:"base", STATE_REL1, 0.0, 0.0); set_state_val(PART:"base", STATE_REL2, 0.0, 0.0); update_offset(x1, y1, w1, h1); set_state(PART:"base", "custom", 0.0); - + anim(0.2, "animator1", 1); } } } parts { - part { name: "base"; type: RECT; - clip_to: "clip"; + part { name: "base"; type: SPACER; description { state: "default" 0.0; - visible: 0; - } - description { state: "move_down" 0.0; - inherit: "default" 0.0; - rel1.relative: 0 1; - rel2.relative: 1 2; - } - description { state: "move_up" 0.0; - inherit: "default" 0.0; - rel1.relative: 0 -1; - rel2.relative: 1 0; - } - description { state: "move_left" 0.0; - inherit: "default" 0.0; - rel1.relative: -1 0; - rel2.relative: 0 1; - } - description { state: "move_right" 0.0; - inherit: "default" 0.0; - rel1.relative: 1 0; - rel2.relative: 2 1; } } part { name: "clip"; type: RECT; - scale: 1; - description { - state: "default" 0.0; - color: 255 255 255 255; - rel1.relative: -1 -1; - rel2.relative: 2 2; - } - description { state: "move_down" 0.0; - inherit: "default" 0.0; + description { state: "default" 0.0; + rel1.to: "glow"; + rel2.to: "glow"; color: 255 255 255 0; } - description { state: "move_up" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0 ; - } - description { state: "move_left" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0; - } - description { state: "move_right" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0 ; - } description { state: "visible" 0.0; inherit: "default" 0.0; - } - description { state: "invisible" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0; + color: 255 255 255 255; } } part { name: "glow"; mouse_events: 0; @@ -164,7 +121,7 @@ group { name: "elm/focus_highlight/top/default"; } program { signal: "elm,action,focus,hide"; source: "elm"; - action: STATE_SET "invisible" 0.0; + action: STATE_SET "default" 0.0; transition: DECELERATE 0.4; target: "clip"; after: "stop2"; @@ -196,109 +153,5 @@ group { name: "elm/focus_highlight/top/default"; action: STATE_SET "default" 0.0; target: "base"; } - program { name: "move_down"; - signal: "elm,action,focus,move,down"; - source: "elm"; - transition: LIN 0.3; - action: STATE_SET "move_down" 0.0; - target: "base"; - target: "clip"; - after: "move_down_end"; - } - program { name: "move_down_end"; - action: SIGNAL_EMIT "elm,focus,move,down,end" "elm"; - } - program { name: "move_up"; - signal: "elm,action,focus,move,up"; - source: "elm"; - transition: LIN 0.3; - action: STATE_SET "move_up" 0.0; - target: "base"; - target: "clip"; - after: "move_up_end"; - } - program { name: "move_up_end"; - action: SIGNAL_EMIT "elm,focus,move,up,end" "elm"; - } - program { name: "move_home_from_up"; - signal: "elm,action,focus,move,home,up"; - source: "elm"; - action: STATE_SET "move_up" 0.0; - target: "base"; - target: "clip"; - after: "move_home_from_up2"; - } - program { name: "move_home_from_up2"; - action: STATE_SET "default" 0.0; - transition: LIN 0.3; - target: "base"; - target: "clip"; - } - program { name: "move_home_from_down"; - signal: "elm,action,focus,move,home,down"; - source: "elm"; - action: STATE_SET "move_down" 0.0; - target: "base"; - target: "clip"; - after: "move_home_from_down2"; - } - program { name: "move_home_from_down2"; - action: STATE_SET "default" 0.0; - transition: LIN 0.3; - target: "base"; - target: "clip"; - } - program { name: "move_left"; - signal: "elm,action,focus,move,left"; - source: "elm"; - transition: LIN 0.3; - action: STATE_SET "move_left" 0.0; - target: "base"; - target: "clip"; - after: "move_left_end"; - } - program { name: "move_left_end"; - action: SIGNAL_EMIT "elm,focus,move,left,end" "elm"; - } - program { name: "move_right"; - signal: "elm,action,focus,move,right"; - source: "elm"; - transition: LIN 0.3; - action: STATE_SET "move_right" 0.0; - target: "base"; - target: "clip"; - after: "move_right_end"; - } - program { name: "move_right_end"; - action: SIGNAL_EMIT "elm,focus,move,right,end" "elm"; - } - program { name: "move_home_from_right"; - signal: "elm,action,focus,move,home,right"; - source: "elm"; - action: STATE_SET "move_right" 0.0; - target: "base"; - target: "clip"; - after: "move_home_from_right2"; - } - program { name: "move_home_from_right2"; - action: STATE_SET "default" 0.0; - transition: LIN 0.3; - target: "base"; - target: "clip"; - } - program { name: "move_home_from_left"; - signal: "elm,action,focus,move,home,left"; - source: "elm"; - action: STATE_SET "move_left" 0.0; - target: "base"; - target: "clip"; - after: "move_home_from_left2"; - } - program { name: "move_home_from_left2"; - action: STATE_SET "default" 0.0; - transition: LIN 0.3; - target: "base"; - target: "clip"; - } } } diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index dcb7c0cf32..a5d44ba5a9 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -5386,9 +5386,13 @@ _elm_genlist_looping_up_cb(void *data, Elm_Object_Item *eo_it = elm_genlist_last_item_get(genlist); elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN); - _elm_widget_focus_highlight_signal_emit(genlist, "elm,action,focus,move,up", "elm"); elm_layout_signal_emit(genlist, "elm,action,looping,up,end", "elm"); sd->item_looping_on = EINA_FALSE; + + if (!_elm_config->item_select_on_focus_disable) + elm_genlist_item_selected_set(eo_it, EINA_TRUE); + else + elm_object_item_focus_set(eo_it, EINA_TRUE); } static void @@ -5404,43 +5408,13 @@ _elm_genlist_looping_down_cb(void *data, Elm_Object_Item *eo_it = elm_genlist_first_item_get(genlist); elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN); - _elm_widget_focus_highlight_signal_emit(genlist, "elm,action,focus,move,down", "elm"); elm_layout_signal_emit(genlist, "elm,action,looping,down,end", "elm"); sd->item_looping_on = EINA_FALSE; -} -static void -_elm_genlist_focus_highlight_move_down_end_cb(void *data, - Evas_Object *obj EINA_UNUSED, - const char *emission EINA_UNUSED, - const char *source EINA_UNUSED) -{ - Evas_Object *gl = data; - Elm_Object_Item *eo_it = elm_genlist_first_item_get(gl); - - if (!_elm_config->item_select_on_focus_disable) - elm_genlist_item_selected_set(eo_it, EINA_TRUE); - else - elm_object_item_focus_set(eo_it, EINA_TRUE); - - _elm_widget_focus_highlight_signal_emit(gl, "elm,action,focus,move,home,up", "elm"); -} - -static void -_elm_genlist_focus_highlight_move_up_end_cb(void *data, - Evas_Object *obj EINA_UNUSED, - const char *emission EINA_UNUSED, - const char *source EINA_UNUSED) -{ - Evas_Object *gl = data; - Elm_Object_Item *eo_it = elm_genlist_last_item_get(gl); - - if (!_elm_config->item_select_on_focus_disable) - elm_genlist_item_selected_set(eo_it, EINA_TRUE); - else - elm_object_item_focus_set(eo_it, EINA_TRUE); - - _elm_widget_focus_highlight_signal_emit(gl, "elm,action,focus,move,home,down", "elm"); + if (!_elm_config->item_select_on_focus_disable) + elm_genlist_item_selected_set(eo_it, EINA_TRUE); + else + elm_object_item_focus_set(eo_it, EINA_TRUE); } static void @@ -7954,21 +7928,6 @@ _elm_genlist_elm_widget_focused_item_get(Eo *obj EINA_UNUSED, Elm_Genlist_Data * EOLIAN static void _elm_genlist_elm_widget_item_loop_enabled_set(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bool enable) { - if (enable == EINA_TRUE) - { - _elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,down,end", - "elm", _elm_genlist_focus_highlight_move_down_end_cb, obj); - _elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,up,end", - "elm", _elm_genlist_focus_highlight_move_up_end_cb, obj); - } - else - { - _elm_widget_focus_highlight_signal_callback_del(obj, "elm,focus,move,down,end", - "elm", _elm_genlist_focus_highlight_move_down_end_cb); - _elm_widget_focus_highlight_signal_callback_del(obj, "elm,focus,move,up,end", - "elm", _elm_genlist_focus_highlight_move_up_end_cb); - } - sd->item_loop_enable = !!enable; } diff --git a/legacy/elementary/src/lib/elm_list.c b/legacy/elementary/src/lib/elm_list.c index f89b32cdea..09aa88a494 100644 --- a/legacy/elementary/src/lib/elm_list.c +++ b/legacy/elementary/src/lib/elm_list.c @@ -1813,16 +1813,15 @@ _elm_list_looping_left_cb(void *data, elm_list_item_selected_set(it, EINA_TRUE); else elm_object_item_focus_set(it, EINA_TRUE); - _elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,left", "elm"); elm_layout_signal_emit(list, "elm,action,looping,left,end", "elm"); sd->item_looping_on = EINA_FALSE; } static void _elm_list_looping_right_cb(void *data, - Evas_Object *obj EINA_UNUSED, - const char *emission EINA_UNUSED, - const char *source EINA_UNUSED) + Evas_Object *obj EINA_UNUSED, + const char *emission EINA_UNUSED, + const char *source EINA_UNUSED) { Evas_Object *list = data; @@ -1833,16 +1832,15 @@ _elm_list_looping_right_cb(void *data, elm_list_item_selected_set(it, EINA_TRUE); else elm_object_item_focus_set(it, EINA_TRUE); - _elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,right", "elm"); elm_layout_signal_emit(list, "elm,action,looping,right,end", "elm"); sd->item_looping_on = EINA_FALSE; } static void _elm_list_looping_up_cb(void *data, - Evas_Object *obj EINA_UNUSED, - const char *emission EINA_UNUSED, - const char *source EINA_UNUSED) + Evas_Object *obj EINA_UNUSED, + const char *emission EINA_UNUSED, + const char *source EINA_UNUSED) { Evas_Object *list = data; @@ -1853,7 +1851,6 @@ _elm_list_looping_up_cb(void *data, elm_list_item_selected_set(it, EINA_TRUE); else elm_object_item_focus_set(it, EINA_TRUE); - _elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,up", "elm"); elm_layout_signal_emit(list, "elm,action,looping,up,end", "elm"); sd->item_looping_on = EINA_FALSE; } @@ -1873,82 +1870,10 @@ _elm_list_looping_down_cb(void *data, elm_list_item_selected_set(it, EINA_TRUE); else elm_object_item_focus_set(it, EINA_TRUE); - _elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,down", "elm"); elm_layout_signal_emit(list, "elm,action,looping,down,end", "elm"); sd->item_looping_on = EINA_FALSE; } -static void -_elm_list_focus_highlight_move_down_end_cb(void *data, - Evas_Object *obj EINA_UNUSED, - const char *emission EINA_UNUSED, - const char *source EINA_UNUSED) -{ - Evas_Object *list = data; - Elm_List_Item *it = (Elm_List_Item *)elm_list_first_item_get(list); - ELM_LIST_DATA_GET(list, sd); - - if (!_elm_config->item_select_on_focus_disable) - elm_list_item_selected_set(it, EINA_TRUE); - else - elm_object_item_focus_set(it, EINA_TRUE); - elm_layout_signal_emit(list, "elm,action,looping,down,end", "elm"); - sd->item_looping_on = EINA_FALSE; - - _elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,home,up", "elm"); -} - -static void -_elm_list_focus_highlight_move_up_end_cb(void *data, - Evas_Object *obj EINA_UNUSED, - const char *emission EINA_UNUSED, - const char *source EINA_UNUSED) -{ - Evas_Object *li = data; - Elm_List_Item *it = (Elm_List_Item *)elm_list_last_item_get(li); - - if (!_elm_config->item_select_on_focus_disable) - elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE); - else - elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE); - - _elm_widget_focus_highlight_signal_emit(li, "elm,action,focus,move,home,down", "elm"); -} - -static void -_elm_list_focus_highlight_move_right_end_cb(void *data, - Evas_Object *obj EINA_UNUSED, - const char *emission EINA_UNUSED, - const char *source EINA_UNUSED) -{ - Evas_Object *li = data; - Elm_List_Item *it = (Elm_List_Item *)elm_list_first_item_get(li); - - if (!_elm_config->item_select_on_focus_disable) - elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE); - else - elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE); - - _elm_widget_focus_highlight_signal_emit(li, "elm,action,focus,move,home,left", "elm"); -} - -static void -_elm_list_focus_highlight_move_left_end_cb(void *data, - Evas_Object *obj EINA_UNUSED, - const char *emission EINA_UNUSED, - const char *source EINA_UNUSED) -{ - Evas_Object *li = data; - Elm_List_Item *it = (Elm_List_Item *)elm_list_last_item_get(li); - - if (!_elm_config->item_select_on_focus_disable) - elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE); - else - elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE); - - _elm_widget_focus_highlight_signal_emit(li, "elm,action,focus,move,home,right", "elm"); -} - EOLIAN static void _elm_list_item_elm_widget_item_disable(Eo *eo_item EINA_UNUSED, Elm_List_Item_Data *item) { @@ -3194,17 +3119,6 @@ _elm_list_elm_widget_focused_item_get(Eo *obj EINA_UNUSED, Elm_List_Data *sd) EOLIAN static void _elm_list_elm_widget_item_loop_enabled_set(Eo *obj EINA_UNUSED, Elm_List_Data *sd, Eina_Bool enable) { - if (enable == EINA_TRUE) - { - _elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,down,end", - "elm", _elm_list_focus_highlight_move_down_end_cb, obj); - _elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,up,end", - "elm", _elm_list_focus_highlight_move_up_end_cb, obj); - _elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,left,end", - "elm", _elm_list_focus_highlight_move_left_end_cb, obj); - _elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,right,end", - "elm", _elm_list_focus_highlight_move_right_end_cb, obj); - } sd->item_loop_enable = !!enable; } diff --git a/legacy/elementary/src/lib/elm_widget.c b/legacy/elementary/src/lib/elm_widget.c index 17b81aec70..e105da434c 100644 --- a/legacy/elementary/src/lib/elm_widget.c +++ b/legacy/elementary/src/lib/elm_widget.c @@ -173,37 +173,6 @@ _elm_widget_focus_highlight_start(const Evas_Object *obj) _elm_win_focus_highlight_start(top); } -void -_elm_widget_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source) -{ - Evas_Object *top = elm_widget_top_get(obj); - - if (top && eo_isa(top, ELM_WIN_CLASS)) - _elm_win_focus_highlight_signal_emit(top, emission, source); -} - -void -_elm_widget_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission, - const char *source, Edje_Signal_Cb _focus_highlight_signal_cb, - void *data) -{ - Evas_Object *top = elm_widget_top_get(obj); - - if (top && eo_isa(top, ELM_WIN_CLASS)) - _elm_win_focus_highlight_signal_callback_add(top, emission, source, _focus_highlight_signal_cb, data); -} - -void -_elm_widget_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission, - const char *source, - Edje_Signal_Cb _focus_highlight_signal_cb) -{ - Evas_Object *top = elm_widget_top_get(obj); - - if (top && eo_isa(top, ELM_WIN_CLASS)) - _elm_win_focus_highlight_signal_callback_del(top, emission, source, _focus_highlight_signal_cb); -} - EAPI Eina_Bool elm_widget_focus_highlight_enabled_get(const Evas_Object *obj) { diff --git a/legacy/elementary/src/lib/elm_widget.h b/legacy/elementary/src/lib/elm_widget.h index 12e6ebb947..5c173c6847 100644 --- a/legacy/elementary/src/lib/elm_widget.h +++ b/legacy/elementary/src/lib/elm_widget.h @@ -529,16 +529,10 @@ void _elm_access_widget_item_access_order_unset(Elm_Widget_Item // widget focus highlight void _elm_widget_focus_highlight_start(const Evas_Object *obj); void _elm_widget_highlight_in_theme_update(Eo *obj); -void _elm_widget_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source); -void _elm_widget_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb, void *data); -void _elm_widget_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb); // win focus highlight void _elm_win_focus_highlight_start(Evas_Object *obj); void _elm_win_focus_highlight_in_theme_update(Evas_Object *obj, Eina_Bool in_theme); -void _elm_win_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source); -void _elm_win_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb, void *data); -void _elm_win_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb); void _elm_win_focus_auto_show(Evas_Object *obj); void _elm_win_focus_auto_hide(Evas_Object *obj); diff --git a/legacy/elementary/src/lib/elm_win.c b/legacy/elementary/src/lib/elm_win.c index a7c9e74cfd..6d41359057 100644 --- a/legacy/elementary/src/lib/elm_win.c +++ b/legacy/elementary/src/lib/elm_win.c @@ -5336,35 +5336,6 @@ _elm_win_focus_highlight_in_theme_update(Evas_Object *obj, Eina_Bool in_theme) sd->focus_highlight.cur.in_theme = !!in_theme; } -void -_elm_win_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source) -{ - ELM_WIN_DATA_GET(obj, sd); - if ((sd->focus_highlight.enabled) || (sd->focus_highlight.auto_enabled)) - edje_object_signal_emit(sd->focus_highlight.fobj, emission, source); -} - -void -_elm_win_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission, - const char *source, Edje_Signal_Cb _focus_highlight_signal_cb, - void *data) -{ - ELM_WIN_DATA_GET(obj, sd); - if (((sd->focus_highlight.enabled) || (sd->focus_highlight.auto_enabled)) - && (sd->focus_highlight.fobj)) - edje_object_signal_callback_add(sd->focus_highlight.fobj, emission, source, _focus_highlight_signal_cb, data); -} - -void -_elm_win_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission, - const char *source, Edje_Signal_Cb _focus_highlight_signal_cb) -{ - ELM_WIN_DATA_GET(obj, sd); - if (((sd->focus_highlight.enabled) || (sd->focus_highlight.auto_enabled)) - && (sd->focus_highlight.fobj)) - edje_object_signal_callback_del(sd->focus_highlight.fobj, emission, source, _focus_highlight_signal_cb); -} - void _elm_win_focus_highlight_start(Evas_Object *obj) {