zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a23b5452492c1af5fee07ec5d5ff376a8f264d3a
commit a23b5452492c1af5fee07ec5d5ff376a8f264d3a Author: Marcel Hollerbach <[email protected]> Date: Fri Oct 25 14:04:39 2019 -0400 theme: redo scroller theme of elm Summary: this was a little bit weird. There was a script that did what we already do in C and pass it on via signals, however, there was also somewhere a bug in this script, the arrow was not getting enabled, even if the position is not completly max and not completly min, the problem here was that the numbers that are passed to edje are not 100% correct (I think they got somehwere on the way casted to an int). With this commit we just use the signals from c in the theme and replace the theme, this should also make everything a bit easier on the mainloop, as a single movement of the scroller does not schedule 10 timers anymore. ref T4918 Reviewers: zmike, eagleeye, woohyun Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T4918 Differential Revision: https://phab.enlightenment.org/D9906 --- data/elementary/themes/edc/elm/scroller.edc | 177 ++++++++-------------------- 1 file changed, 50 insertions(+), 127 deletions(-) diff --git a/data/elementary/themes/edc/elm/scroller.edc b/data/elementary/themes/edc/elm/scroller.edc index 091cfb1b23..71a050df29 100644 --- a/data/elementary/themes/edc/elm/scroller.edc +++ b/data/elementary/themes/edc/elm/scroller.edc @@ -34,91 +34,9 @@ group { name: "elm/scroller/base/default"; images.image: "sym_left_dark_normal.png" COMP; images.image: "sym_right_dark_normal.png" COMP; - data.item: "focus_highlight" "on"; - script { - public loop_x, loop_y; - public action_on_pos_vbar(val) { - new x, y , w, h, x1, y1 , w1, h1; - - get_geometry(PART:"y_vbar_up", x,y,w, h); - get_geometry(PART:"y_vbar_up_mapper", x1,y1,w1, h1); - - if(((y1 <= y) && (y <= (y1 + h1))) && (0 == get_int(loop_y))) - { - set_state(PART:"arrow1_vbar", "hidden", 0.0); - set_state(PART:"sb_vbar_a1", "hidden", 0.0); - } - else - { - set_state(PART:"arrow1_vbar", "default", 0.0); - set_state(PART:"sb_vbar_a1", "default", 0.0); - } - - get_geometry(PART:"y_vbar_down", x,y,w, h); - get_geometry(PART:"y_vbar_down_mapper", x1,y1,w1, h1); - - if(((y1 <= (y + h)) && ((y+ h) <= (y1 + h1))) && (0 == get_int(loop_y))) - { - set_state(PART:"arrow2_vbar", "hidden", 0.0); - set_state(PART:"sb_vbar_a2", "hidden", 0.0); - } - else - { - set_state(PART:"arrow2_vbar", "default", 0.0); - set_state(PART:"sb_vbar_a2", "default", 0.0); - } - - if(val < 10) - timer(0.1,"action_on_pos_vbar", val+1); - } - - public action_on_pos_hbar(val) { - new x, y , w, h, x1, y1 , w1, h1; - - get_geometry(PART:"x_hbar_left", x,y,w, h); - get_geometry(PART:"x_hbar_left_mapper", x1,y1,w1, h1); - - if(((x1 <= x) && (x <= (x1 + w1))) && (0 == get_int(loop_x))) - { - set_state(PART:"arrow1_hbar", "hidden", 0.0); - set_state(PART:"sb_hbar_a1", "hidden", 0.0); - } - else - { - set_state(PART:"arrow1_hbar", "default", 0.0); - set_state(PART:"sb_hbar_a1", "default", 0.0); - } - - get_geometry(PART:"x_hbar_right", x,y,w, h); - get_geometry(PART:"x_hbar_right_mapper", x1,y1,w1, h1); - - if(((x1 <= (x + w)) && ((x + w) <= (x1 + w1))) && (0 == get_int(loop_x))) - { - set_state(PART:"arrow2_hbar", "hidden", 0.0); - set_state(PART:"sb_hbar_a2", "hidden", 0.0); - } - else - { - set_state(PART:"arrow2_hbar", "default", 0.0); - set_state(PART:"sb_hbar_a2", "default", 0.0); - } - - if(val < 10) - timer(0.1,"action_on_pos_hbar", val+1); - } - } - parts { - program { - signal: "load"; source: ""; - script { - emit("reload", "elm"); - action_on_pos_vbar(0); - action_on_pos_hbar(0); - } - } // vert bar //////////////////////////////////////////////////////////////// part { name: "sb_vbar_show"; type: RECT; description { state: "default" 0.0; @@ -321,7 +239,6 @@ group { name: "elm/scroller/base/default"; target: "y_vbar_down"; target: "arrow1_vbar_indent"; target: "arrow2_vbar_indent"; - after: "check_pos_vbar"; } program { signal: "elm,action,hide,vbar"; source: "elm"; @@ -340,11 +257,13 @@ group { name: "elm/scroller/base/default"; } program { signal: "mouse,down,1*"; source: "sb_vbar_a1";//ok + filter: "sb_vbar_a1" "default"; action: STATE_SET "clicked" 0.0; target: "arrow1_vbar"; after: "anim1_up"; } program { name: "anim1_up"; + filter: "sb_vbar_a1" "default"; action: STATE_SET "default" 0.0; transition: LINEAR 0.1; target: "arrow1_vbar"; @@ -356,11 +275,13 @@ group { name: "elm/scroller/base/default"; } program { signal: "mouse,down,1*"; source: "sb_vbar_a2";//ok + filter: "sb_vbar_a2" "default"; action: STATE_SET "clicked" 0.0; target: "arrow2_vbar"; after: "anim1_down"; } program { name: "anim1_down"; + filter: "sb_vbar_a2" "default"; action: STATE_SET "default" 0.0; transition: LINEAR 0.1; target: "arrow2_vbar"; @@ -372,40 +293,40 @@ group { name: "elm/scroller/base/default"; } program { signal: "mouse,down,1*"; source: "sb_vbar_p1"; + filter: "sb_vbar_a1" "default"; action: DRAG_VAL_PAGE 0.0 -1.0; target: "elm.dragable.vbar"; } program { signal: "mouse,down,1*"; source: "sb_vbar_p2"; + filter: "sb_vbar_a2" "default"; action: DRAG_VAL_PAGE 0.0 1.0; target: "elm.dragable.vbar"; } program { - signal: "elm,action,scroll"; source: "elm"; - script { - action_on_pos_vbar(10); - } + signal: "elm,action,show,up"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "arrow1_vbar"; + target: "sb_vbar_a1"; } - program { name: "check_pos_vbar"; - script { - action_on_pos_vbar(10); - } + program { + signal: "elm,action,hide,up"; source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "arrow1_vbar"; + target: "sb_vbar_a1"; } - program { name: "loop_set_vbar"; - signal: "elm,loop_y,set"; source: "elm"; - script { - set_int(loop_y, 1); - action_on_pos_vbar(10); - } + program { + signal: "elm,action,show,down"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "arrow2_vbar"; + target: "sb_vbar_a2"; } - program { name: "loop_unset_vbar"; - signal: "elm,loop_y,unset"; source: "elm"; - script { - set_int(loop_y, 0); - action_on_pos_vbar(10); - } + program { + signal: "elm,action,hide,down"; source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "arrow2_vbar"; + target: "sb_vbar_a2"; } - // horiz bar ///////////////////////////////////////////////////////////// part { name: "sb_hbar_show"; type: RECT; description { state: "default" 0.0; @@ -608,7 +529,6 @@ group { name: "elm/scroller/base/default"; target: "x_hbar_right"; target: "arrow1_hbar_indent"; target: "arrow2_hbar_indent"; - after: "check_pos_hbar"; } program { signal: "elm,action,hide,hbar"; source: "elm"; @@ -627,11 +547,13 @@ group { name: "elm/scroller/base/default"; } program { signal: "mouse,down,1*"; source: "sb_hbar_a1"; + filter: "sb_hbar_a1" "default"; action: STATE_SET "clicked" 0.0; target: "arrow1_hbar"; after: "anim1_left"; } program { name: "anim1_left"; + filter: "sb_hbar_a1" "default"; action: STATE_SET "default" 0.0; transition: LINEAR 0.1; target: "arrow1_hbar"; @@ -643,11 +565,13 @@ group { name: "elm/scroller/base/default"; } program { signal: "mouse,down,1*"; source: "sb_hbar_a2"; + filter: "sb_hbar_a2" "default"; action: STATE_SET "clicked" 0.0; target: "arrow2_hbar"; after: "anim2_left"; } program { name: "anim2_left"; + filter: "sb_hbar_a2" "default"; action: STATE_SET "default" 0.0; transition: LINEAR 0.1; target: "arrow2_hbar"; @@ -659,40 +583,39 @@ group { name: "elm/scroller/base/default"; } program { signal: "mouse,down,1*"; source: "sb_hbar_p1"; + filter: "sb_hbar_a1" "default"; action: DRAG_VAL_PAGE -1.0 0.0; target: "elm.dragable.hbar"; - after: "check_pos_hbar"; } program { signal: "mouse,down,1*"; source: "sb_hbar_p2"; + filter: "sb_hbar_a2" "default"; action: DRAG_VAL_PAGE 1.0 0.0; target: "elm.dragable.hbar"; - after: "check_pos_hbar"; } program { - signal: "elm,action,scroll"; source: "elm"; - script { - action_on_pos_hbar(10); - } + signal: "elm,action,show,left"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "arrow1_hbar"; + target: "sb_hbar_a1"; } - program { name: "check_pos_hbar"; - script { - action_on_pos_hbar(10); - } + program { + signal: "elm,action,hide,left"; source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "arrow1_hbar"; + target: "sb_hbar_a1"; } - program { name: "loop_set_hbar"; - signal: "elm,loop_x,set"; source: "elm"; - script { - set_int(loop_x, 1); - action_on_pos_hbar(10); - } + program { + signal: "elm,action,show,right"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "arrow2_hbar"; + target: "sb_hbar_a2"; } - program { name: "loop_unset_hbar"; - signal: "elm,loop_x,unset"; source: "elm"; - script { - set_int(loop_x, 0); - action_on_pos_hbar(10); - } + program { + signal: "elm,action,hide,right"; source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "arrow2_hbar"; + target: "sb_hbar_a2"; } part { name: "bg"; type: RECT; description { state: "default" 0.0; --
