diff options
Diffstat (limited to 'mobile/widgets/hover.edc')
-rw-r--r-- | mobile/widgets/hover.edc | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/mobile/widgets/hover.edc b/mobile/widgets/hover.edc index 1d6f700c..51f09dbe 100644 --- a/mobile/widgets/hover.edc +++ b/mobile/widgets/hover.edc @@ -63,6 +63,14 @@ group { name: "elm/hover/base/default"; GLIDE_EASE_OUT_SCRIPT(PART:"elm.swallow.slot.bottom", "right_visible", "right"); } } + + public hide_finished_timer_id = 0; + + public hide_finished_timer(val) { + run_program(PROGRAM:"hide_finished"); + run_program(PROGRAM:"hide_state_change_finished"); + cancel_timer(hide_finished_timer_id); + } } parts { swallow { "elm.swallow.offset"; scale; @@ -200,17 +208,25 @@ group { name: "elm/hover/base/default"; } program { signal: "elm,action,hide"; source: "elm"; - sequence { - action: STATE_SET "default"; - transition: GLIDE_EASE_OUT(0.3); - target: "clipper"; - // - action: STATE_SET "default"; - targets: "clipper_top" "clipper_bottom"; - // - action: SIGNAL_EMIT "elm,action,hide,finished" "elm"; + script { + new timer_id; + run_program(PROGRAM:"hide_state_change"); + timer_id = timer(0.3, "hide_finished_timer", 1); + set_int(hide_finished_timer_id, timer_id); } } + program { "hide_state_change"; + action: STATE_SET "default"; + target: "clipper"; + transition: GLIDE_EASE_OUT(0.3); + } + program { "hide_state_change_finished"; + action: STATE_SET "default"; + targets: "clipper_top" "clipper_bottom"; + } + program { "hide_finished"; + action: SIGNAL_EMIT "elm,action,hide,finished" "elm"; + } program { signal: "elm,action,slot,top,show"; source: "elm"; sequence { |