#define __AIR_FAVORITE_DEFINE_H__
/* View ID */
-#define VIEW_ID_BASE "VIEW_ID_BASE"
-#define VIEW_ID_ACTION_MENU "VIEW_ID_ACTION_MENU"
+#define VIEW_BASE "VIEW_BASE"
+#define VIEW_ACTION_MENU "VIEW_ACTION_MENU"
/* Group */
#define GRP_VIEW_BASE "grp.view.base"
#define STYLE_LIVETV_BTN "style.livetv.button"
#define STYLE_ACTION_MENU_FAV_BTN "style.action.menu.favorite.button"
#define STYLE_ACTION_MENU_LOCK_BTN "style.action.menu.lock.button"
+#define STYLE_TOAST "style.toast"
/* Signal */
#define SIG_FOCUSED "focused"
#define STR_CNT_WEBS "bookmark"
#define STR_BROWSER "Web Browser"
#define STR_LIVETV "Live TV"
+#define STR_REMOVE_FAVORITE "Removed from your favorite."
/* Font */
#define FONT_TIZENSANS_REGULAR "TizenSans"
#define SIZE_APP_ICON_MAX 100
#define SIZE_ACTION_TABLE_BORDER 0
#define SIZE_COL_MAX 4
+#define SIZE_TOAST_TIMEOUT 5.0
/* Count */
#define COUNT_MENU 6
enum update_type {
UPDATE_DATA = 0,
UPDATE_GRID,
+ UPDATE_SHOW_TOAST,
};
#endif /* __AIR_APPS_VIEW_H__ */
ad->win = NULL;
}
- viewmgr_remove_view(VIEW_ID_BASE);
- viewmgr_remove_view(VIEW_ID_ACTION_MENU);
+ viewmgr_remove_view(VIEW_BASE);
+ viewmgr_remove_view(VIEW_ACTION_MENU);
viewmgr_destroy();
}
if (ad->win)
elm_win_activate(ad->win);
- if (!viewmgr_push_view(VIEW_ID_BASE))
+ if (!viewmgr_push_view(VIEW_BASE))
_ERR("Push view failed.");
}
return;
}
- viewmgr_hide_view(VIEW_ID_ACTION_MENU);
+ viewmgr_hide_view(VIEW_ACTION_MENU);
}
static void _favorite_selected(struct grid_data *gdata)
return;
}
- viewmgr_update_view(VIEW_ID_BASE, UPDATE_GRID, gdata);
- viewmgr_hide_view(VIEW_ID_ACTION_MENU);
+ viewmgr_update_view(VIEW_BASE, UPDATE_GRID, gdata);
+ viewmgr_update_view(VIEW_BASE, UPDATE_SHOW_TOAST, STR_REMOVE_FAVORITE);
+ viewmgr_hide_view(VIEW_ACTION_MENU);
}
static void _clicked_cb(int id, void *data, Evas_Object *obj)
if (!strcmp(ev->keyname, KEY_BACK)
|| !strcmp(ev->keyname, KEY_BACK_REMOTE))
- viewmgr_hide_view(VIEW_ID_ACTION_MENU);
+ viewmgr_hide_view(VIEW_ACTION_MENU);
}
static input_handler _btn_input_handler = {
priv->win = win;
priv->base = base;
- if (!viewmgr_set_view_data(VIEW_ID_ACTION_MENU, priv)) {
+ if (!viewmgr_set_view_data(VIEW_ACTION_MENU, priv)) {
_ERR("Set view data failed.");
evas_object_del(base);
free(priv);
}
static view_class _vclass = {
- .view_id = VIEW_ID_ACTION_MENU,
+ .view_id = VIEW_ACTION_MENU,
.create = _create,
.show = _show,
.hide = _hide,
Evas_Object *base;
Evas_Object *box;
Evas_Object *menu[COUNT_MENU];
+ Evas_Object *notify;
int cur_menu_id;
};
if (!gdata)
return;
- viewmgr_update_view(VIEW_ID_ACTION_MENU, UPDATE_DATA, gdata);
- viewmgr_show_view(VIEW_ID_ACTION_MENU);
+ if (priv->notify)
+ evas_object_hide(priv->notify);
+
+ viewmgr_update_view(VIEW_ACTION_MENU, UPDATE_DATA, gdata);
+ viewmgr_show_view(VIEW_ACTION_MENU);
}
}
}
}
- if (!viewmgr_set_view_data(VIEW_ID_BASE, priv)) {
+ if (!viewmgr_set_view_data(VIEW_BASE, priv)) {
_ERR("Set view data failed.");
gridmgr_destroy(gmgr);
goto err;
static void _update(void *view_data, int update_type, void *data)
{
+ struct _priv *priv;
+
if (!view_data) {
_ERR("Get data failed.");
return;
}
+ priv = view_data;
- if (update_type == UPDATE_GRID)
- _update_current_grid(view_data);
+ switch (update_type) {
+ case UPDATE_GRID:
+ _update_current_grid(priv);
+ break;
+
+ case UPDATE_SHOW_TOAST:
+ priv->notify = utils_add_notify(priv->base, (char *)data,
+ STYLE_TOAST, STYLE_TOAST, SIZE_TOAST_TIMEOUT);
+ break;
+
+ default:
+ _ERR("Unhandled update type.");
+ }
}
static void _destroy(void *data)
}
static view_class _vclass = {
- .view_id = VIEW_ID_BASE,
+ .view_id = VIEW_BASE,
.create = _create,
.show = _show,
.hide = _hide,