View: Update base view when contents is unfavorited 91/46691/1
authorHyojung Jo <hj903.jo@samsung.com>
Tue, 25 Aug 2015 05:26:51 +0000 (14:26 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Tue, 25 Aug 2015 05:26:51 +0000 (14:26 +0900)
Change-Id: I3fdda1eded635a901b9bb8fee8ef09a8f3fe2a59
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
include/define.h
res/favorite.edc
src/view/view_action_menu.c
src/view/view_base.c

index b34be59..cc46ce6 100644 (file)
 
 /* Count */
 #define COUNT_MENU 6
-#define COUNT_ACTION 3
+#define COUNT_ACTION 2
 
 /* Image */
 #define PLAY_ICON_PNG "ic_thumbnail_play.png"
index 128a83a..5942d58 100644 (file)
@@ -455,7 +455,7 @@ collections {
                                                to, "padding.menu.divider.up";
                                                relative, 0.0 1.0;
                                        }
-                                       min, 375 124;
+                                       min, 250 124;
                                        align, 0.0 0.0;
                                        fixed, 1 1;
                                }
index 6991151..0f063a5 100644 (file)
@@ -73,46 +73,45 @@ static void _mouse_move_cb(int id, void *data, Evas *e, Evas_Object *obj,
                elm_object_focus_set(obj, EINA_TRUE);
 }
 
-static void _livetv_selected(void *data, Evas_Object *obj)
+static void _livetv_selected(void)
 {
-       /* It will be implemented later */
-}
-
-static void _favorite_selected(void *data, Evas_Object *obj)
-{
-       struct _priv *priv;
-       struct grid_data *gdata;
-
-       if (!data) {
-               _ERR("Invalid argument.");
+       if (!utils_launch_app(STR_LIVETV_APP_ID, NULL, NULL)) {
+               _ERR("Launch live tv failed.");
                return;
        }
-       priv = data;
-
-       if (!priv->gdata)
-               return;
 
-       gdata = priv->gdata;
+       viewmgr_hide_view(VIEW_ID_ACTION_MENU);
+}
 
+static void _favorite_selected(struct grid_data *gdata)
+{
        if (!gdata->item_action(gdata->focused_item, ACTION_UPDATE_FAVORITE)) {
                _ERR("Unfavorite failed.");
                return;
        }
 
-       /* FIXME: The base view will be reloaded later */
-
+       viewmgr_update_view(VIEW_ID_BASE, UPDATE_GRID, gdata);
        viewmgr_hide_view(VIEW_ID_ACTION_MENU);
 }
 
 static void _clicked_cb(int id, void *data, Evas_Object *obj)
 {
+       struct _priv *priv;
+
+       if (!data)
+               return;
+       priv = data;
+
+       if (!priv->gdata)
+               return;
+
        switch (id) {
        case BTN_LIVETV:
-               _livetv_selected(data, obj);
+               _livetv_selected();
                break;
 
        case BTN_FAVORITE:
-               _favorite_selected(data, obj);
+               _favorite_selected(priv->gdata);
                break;
 
        case BTN_LOCK:
index 7390fdf..c3ef441 100644 (file)
@@ -500,6 +500,34 @@ static void _hide(void *data)
                evas_object_hide(priv->base);
 }
 
+static void _update(void *view_data, int update_type, void *data)
+{
+       struct _priv *priv;
+       struct grid_data *gdata;
+
+       if (!view_data || !data) {
+               _ERR("Get data failed.");
+               return;
+       }
+       priv = view_data;
+       gdata = data;
+
+       if (update_type == UPDATE_GRID) {
+               if (!priv || !priv->gmgr || !priv->base)
+                       return;
+
+               gdata->list = gdata->create_item_list();
+               if (!gdata->list)
+                       elm_object_part_text_set(priv->base, PART_NO_CONTENTS,
+                                       STR_NO_CONTENTS);
+               else
+                       gridmgr_append_list(priv->gmgr, gdata->id, gdata->list);
+
+               _draw_content_count(priv->base, eina_list_count(gdata->list),
+                               priv->cur_menu_id);
+       }
+}
+
 static void _destroy(void *data)
 {
        struct _priv *priv;
@@ -532,6 +560,7 @@ static view_class _vclass = {
        .create = _create,
        .show = _show,
        .hide = _hide,
+       .update = _update,
        .destroy = _destroy,
 };