View: Delete notify popup when toast is timeout 55/47155/2 accepted/tizen/tv/20150902.055615 submit/tizen/20150902.051532
authorHyojung Jo <hj903.jo@samsung.com>
Mon, 31 Aug 2015 08:56:20 +0000 (17:56 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Mon, 31 Aug 2015 23:38:14 +0000 (08:38 +0900)
Change-Id: I1e0dab2ce0895c7150b893613e68f01d29fceed3
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
include/define.h
src/utils.c
src/view/view_base.c

index 21b8854a71bcc7d49a3c00ae0e0c0da7c2a33f7a..14707af95d146393216ba642095b61834c64fd96 100644 (file)
@@ -75,6 +75,7 @@
 #define SIG_TOGGLE "toggle"
 #define SIG_NO_CONTENT "no.content"
 #define SIG_CONTENT "content"
+#define SIG_TIMEOUT "timeout"
 
 /* Signal Source */
 #define SRC_MYAPPS "source.myapps"
index 13aee13258111adfdd79927f6a3cf52b726e0fc5..804ff87412b978322008c7fe5fbd73ffcd9d4535 100644 (file)
@@ -187,6 +187,14 @@ Evas_Object *utils_add_table(Evas_Object *parent, const char *part,
        return table;
 }
 
+static void _notify_timeout_cb(void *data, Evas_Object *obj, void *ei)
+{
+       if (!obj)
+               return;
+
+       evas_object_del(obj);
+}
+
 Evas_Object *utils_add_notify(Evas_Object *parent, const char *text,
                const char *noti_style, const char *label_style, int timeout)
 {
@@ -227,6 +235,8 @@ Evas_Object *utils_add_notify(Evas_Object *parent, const char *text,
        if (text)
                elm_object_text_set(lbl, text);
 
+       evas_object_smart_callback_add(notify, SIG_TIMEOUT,
+                       _notify_timeout_cb, NULL);
        evas_object_show(notify);
 
        return notify;
index 5a1f4f9116e6dc95d394e5e10e34692c346fa450..180ebeabbf6d53a0d2c74082b0d5fe532537468e 100644 (file)
@@ -626,9 +626,6 @@ static void _grid_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
                if (!adata)
                        return;
 
-               if (priv->notify)
-                       evas_object_hide(priv->notify);
-
                viewmgr_update_view(VIEW_ACTION_MENU, UPDATE_ID, adata);
                viewmgr_show_view(VIEW_ACTION_MENU);
        }
@@ -892,6 +889,7 @@ static void _update(void *view_data, int update_type, void *data)
        case UPDATE_SHOW_TOAST:
                priv->notify = utils_add_notify(priv->base, (char *)data,
                                STYLE_TOAST, STYLE_TOAST, SIZE_TOAST_TIMEOUT);
+
                break;
 
        case UPDATE_GRID: