From a18d65e23ac116b24c4c10873381911e54ac2a9c Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Sat, 9 May 2020 03:06:05 +0100 Subject: [PATCH] ui: Callback on animation del --- src/bin/ui.c | 14 +++++++++++++- src/bin/ui.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/bin/ui.c b/src/bin/ui.c index 6abf6d0..d5cbf6e 100644 --- a/src/bin/ui.c +++ b/src/bin/ui.c @@ -2499,10 +2499,21 @@ _tabs_hide(Ui *ui) evas_object_hide(ui->misc_view); } +static void +_transit_del_cb(void *data, Elm_Transit *transit) +{ + Ui *ui = data; + + ui->transit = transit = NULL; +} + static void _tab_state_changed(Ui *ui, Evas_Object *btn_active, Evas_Object *view) { Elm_Transit *transit; + + if (ui->transit) return; + elm_object_disabled_set(ui->btn_general, EINA_FALSE); elm_object_disabled_set(ui->btn_cpu, EINA_FALSE); elm_object_disabled_set(ui->btn_mem, EINA_FALSE); @@ -2514,11 +2525,12 @@ _tab_state_changed(Ui *ui, Evas_Object *btn_active, Evas_Object *view) _tabs_hide(ui); evas_object_show(view); - transit = elm_transit_add(); + ui->transit = transit = elm_transit_add(); elm_transit_object_add(transit, ui->current_view); elm_transit_object_add(transit, view); elm_transit_duration_set(transit, 0.5); elm_transit_effect_blend_add(transit); + elm_transit_del_cb_set(transit, _transit_del_cb, ui); elm_transit_go(transit); } diff --git a/src/bin/ui.h b/src/bin/ui.h index 61bcb69..0f216f7 100644 --- a/src/bin/ui.h +++ b/src/bin/ui.h @@ -81,6 +81,7 @@ typedef struct Ui Evas_Object *misc_activity; Evas_Object *system_activity; + Elm_Transit *transit; Evas_Object *current_view; Eina_Bool cpu_visible;