From 76880e0f130af37f72e71ea513b51bf05ecf6d41 Mon Sep 17 00:00:00 2001 From: Hyojung Jo Date: Tue, 25 Aug 2015 14:47:43 +0900 Subject: [PATCH] View: Added toast for notifying if app was set as favorite or not Change-Id: I1d78f8aa75fefb70b5e7cb6775ff9a25ad6fff95 Signed-off-by: Hyojung Jo --- include/define.h | 4 ++++ include/view.h | 1 + src/view/view_action_menu.c | 8 ++++++++ src/view/view_base.c | 9 ++++++++- 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/include/define.h b/include/define.h index 2971d4b..d6b43a8 100644 --- a/include/define.h +++ b/include/define.h @@ -54,6 +54,7 @@ #define STYLE_LIVETV_BTN "style.livetv.button" #define STYLE_ACTION_MENU_FAV_BTN "style.action.menu.favorite.button" #define STYLE_ACTION_MENU_UNINSTALL_BTN "style.action.menu.uninstall.button" +#define STYLE_TOAST "style.toast" /* Signal */ #define SIG_FOCUSED "focused" @@ -102,6 +103,8 @@ #define STR_UNINSTALL "Uninstall" #define STR_LIVETV_ID "org.tizen.live-tv" #define STR_NO_FAVORITE "No favorite contents" +#define STR_ADD_FAVORITE "Added to your favorite." +#define STR_REMOVE_FAVORITE "Removed from your favorite." /* Count */ #define MENU_COUNT 2 @@ -121,6 +124,7 @@ #define SIZE_ICON_MAX 100 #define SIZE_ACTION_TABLE_BORDER 0 #define SIZE_COL_MAX 4 +#define SIZE_TOAST_TIMEOUT 5.0 /* Image */ #define DEFAULT_APP_ICON_PNG IMGDIR"/ico_default.png" diff --git a/include/view.h b/include/view.h index 8f72e9c..0305a51 100644 --- a/include/view.h +++ b/include/view.h @@ -23,6 +23,7 @@ view_class *view_action_menu_get_vclass(void); enum update_type { UPDATE_ID = 0, UPDATE_FAVORITE, + UPDATE_SHOW_TOAST, }; #endif /* __AIR_APPS_VIEW_H__ */ diff --git a/src/view/view_action_menu.c b/src/view/view_action_menu.c index 43473b6..c4171d7 100644 --- a/src/view/view_action_menu.c +++ b/src/view/view_action_menu.c @@ -103,6 +103,14 @@ static void _favorite_selected(struct _priv *priv) } viewmgr_update_view(VIEW_BASE, UPDATE_FAVORITE, priv->adata); + + if (isfavorite) + viewmgr_update_view(VIEW_BASE, UPDATE_SHOW_TOAST, + STR_REMOVE_FAVORITE); + else + viewmgr_update_view(VIEW_BASE, UPDATE_SHOW_TOAST, + STR_ADD_FAVORITE); + viewmgr_hide_view(VIEW_ACTION_MENU); } diff --git a/src/view/view_base.c b/src/view/view_base.c index decd680..958070a 100644 --- a/src/view/view_base.c +++ b/src/view/view_base.c @@ -59,6 +59,7 @@ struct _priv { Evas_Object *sort_btn; Evas_Object *sort_popup; Evas_Object *grid; + Evas_Object *notify; Elm_Object_Item *focused_item; struct gridmgr *gmgr; Eina_List *app_list; @@ -603,6 +604,9 @@ 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); } @@ -871,9 +875,9 @@ static void _update(void *view_data, int update_type, void *data) return; } priv = view_data; - adata = data; if (update_type == UPDATE_FAVORITE) { + adata = data; if (!adata) return; @@ -886,6 +890,9 @@ static void _update(void *view_data, int update_type, void *data) else elm_object_item_signal_emit(priv->focused_item, SIG_UNFAVORITE, SRC_FAVORITE_ICON); + } else if (update_type == UPDATE_SHOW_TOAST) { + priv->notify = utils_add_notify(priv->base, (char *)data, + STYLE_TOAST, STYLE_TOAST, SIZE_TOAST_TIMEOUT); } } -- 2.34.1