netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=a18d65e23ac116b24c4c10873381911e54ac2a9c

commit a18d65e23ac116b24c4c10873381911e54ac2a9c
Author: Alastair Poole <nets...@gmail.com>
Date:   Sat May 9 03:06:05 2020 +0100

    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;

-- 


Reply via email to