summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyojung Jo <hj903.jo@samsung.com>2015-08-31 17:49:20 +0900
committerHyojung Jo <hj903.jo@samsung.com>2015-09-01 08:37:40 +0900
commitfba77320058b840398771900021cdd317eb5d558 (patch)
treead46547a5d6bc6d21e8c64609ae7097e3a131ef3
parentdd70b5ac9d5a208353c263fa532aa08c939eaf60 (diff)
downloadair_favorite-fba77320058b840398771900021cdd317eb5d558.tar.gz
air_favorite-fba77320058b840398771900021cdd317eb5d558.tar.bz2
air_favorite-fba77320058b840398771900021cdd317eb5d558.zip
View: Delete notify popup when toast is timeout
Change-Id: I47fa408a8dcc8f1dd35b57347b5ede47b954b876 Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
-rw-r--r--include/define.h1
-rw-r--r--src/common/utils.c10
-rw-r--r--src/view/view_base.c4
3 files changed, 12 insertions, 3 deletions
diff --git a/include/define.h b/include/define.h
index 449c5b2..1a5eadf 100644
--- a/include/define.h
+++ b/include/define.h
@@ -62,6 +62,7 @@
#define SIG_INVISIBLE "invisible"
#define SIG_DISABLE "elm,state,disabled"
#define SIG_TOGGLE "toggle"
+#define SIG_TIMEOUT "timeout"
/* Source */
#define SRC_EDC "edc"
diff --git a/src/common/utils.c b/src/common/utils.c
index ed0958c..a491626 100644
--- a/src/common/utils.c
+++ b/src/common/utils.c
@@ -184,6 +184,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)
{
@@ -224,6 +232,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;
diff --git a/src/view/view_base.c b/src/view/view_base.c
index 26cb993..4fe5bf3 100644
--- a/src/view/view_base.c
+++ b/src/view/view_base.c
@@ -332,9 +332,6 @@ static void _grid_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
if (!gdata)
return;
- if (priv->notify)
- evas_object_hide(priv->notify);
-
viewmgr_update_view(VIEW_ACTION_MENU, UPDATE_DATA, gdata);
viewmgr_show_view(VIEW_ACTION_MENU);
}
@@ -541,6 +538,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;
default: