delete toast when timeout 34/47234/1
authorSoohye Shin <soohye.shin@samsung.com>
Tue, 1 Sep 2015 08:36:05 +0000 (17:36 +0900)
committerSoohye Shin <soohye.shin@samsung.com>
Tue, 1 Sep 2015 08:36:56 +0000 (17:36 +0900)
Change-Id: I80fb56ae0d813f7174f6b54ff4ae04e0e962ef57
Signed-off-by: Soohye Shin <soohye.shin@samsung.com>
include/defs.h
src/utils.c

index 8e4af2d..5f6c5e7 100644 (file)
 #define SIG_SELECT "elm,state,selected"
 #define SIG_UNSELECT "elm,state,unselected"
 #define SIG_CHANGE "sig.change"
+#define SIG_TIMEOUT "timeout"
 
 #define TITLE_WIDTH "title.width"
 
index 25ba2c8..6fb41cc 100644 (file)
@@ -409,6 +409,16 @@ Evas_Object *utils_add_rectangle(Evas_Object *base, int r, int g, int b, int a)
        return rect;
 }
 
+static void _notify_timeout(void *data, Evas_Object *obj, void *ei)
+{
+       if (!obj) {
+               _ERR("Invalid argument");
+               return;
+       }
+
+       evas_object_del(obj);
+}
+
 Evas_Object *utils_add_toast(Evas_Object *base, char *message)
 {
        Evas_Object *notify, *label;
@@ -428,6 +438,8 @@ Evas_Object *utils_add_toast(Evas_Object *base, char *message)
        elm_object_style_set(notify, STYLE_TOAST);
        elm_notify_align_set(notify, 0.0, 1.0);
        elm_notify_timeout_set(notify, 3.0);
+       evas_object_smart_callback_add(notify, SIG_TIMEOUT, _notify_timeout,
+                       NULL);
 
        label = elm_label_add(notify);
        if (!label) {