summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyojung Jo <hj903.jo@samsung.com>2015-08-25 14:26:51 +0900
committerHyojung Jo <hj903.jo@samsung.com>2015-08-25 14:26:51 +0900
commit13d61c71cb31c22268cdcfed58710b5f32e1e156 (patch)
tree469e06c782f89e0de03c45052ebdecc46adaaa42
parent6da68aba338bf4a97c4d40c21a2227878acabae0 (diff)
downloadair_favorite-13d61c71cb31c22268cdcfed58710b5f32e1e156.tar.gz
air_favorite-13d61c71cb31c22268cdcfed58710b5f32e1e156.tar.bz2
air_favorite-13d61c71cb31c22268cdcfed58710b5f32e1e156.zip
View: Update base view when contents is unfavorited
Change-Id: I3fdda1eded635a901b9bb8fee8ef09a8f3fe2a59 Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
-rw-r--r--include/define.h2
-rw-r--r--res/favorite.edc2
-rw-r--r--src/view/view_action_menu.c39
-rw-r--r--src/view/view_base.c29
4 files changed, 50 insertions, 22 deletions
diff --git a/include/define.h b/include/define.h
index b34be59..cc46ce6 100644
--- a/include/define.h
+++ b/include/define.h
@@ -111,7 +111,7 @@
/* Count */
#define COUNT_MENU 6
-#define COUNT_ACTION 3
+#define COUNT_ACTION 2
/* Image */
#define PLAY_ICON_PNG "ic_thumbnail_play.png"
diff --git a/res/favorite.edc b/res/favorite.edc
index 128a83a..5942d58 100644
--- a/res/favorite.edc
+++ b/res/favorite.edc
@@ -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;
}
diff --git a/src/view/view_action_menu.c b/src/view/view_action_menu.c
index 6991151..0f063a5 100644
--- a/src/view/view_action_menu.c
+++ b/src/view/view_action_menu.c
@@ -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:
diff --git a/src/view/view_base.c b/src/view/view_base.c
index 7390fdf..c3ef441 100644
--- a/src/view/view_base.c
+++ b/src/view/view_base.c
@@ -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,
};