diff options
author | Hyojung Jo <hj903.jo@samsung.com> | 2015-09-02 17:18:50 +0900 |
---|---|---|
committer | Hyojung Jo <hj903.jo@samsung.com> | 2015-09-02 17:18:50 +0900 |
commit | e38a814bc73a49e0e2b4dd8f1a78d1715939d977 (patch) | |
tree | 8f653554771b5ae93503a6b7d11c987ee509f17b | |
parent | 895c63d6d21bef3fc80c6ed8b1a6039f41a60d59 (diff) | |
download | air_favorite-e38a814bc73a49e0e2b4dd8f1a78d1715939d977.tar.gz air_favorite-e38a814bc73a49e0e2b4dd8f1a78d1715939d977.tar.bz2 air_favorite-e38a814bc73a49e0e2b4dd8f1a78d1715939d977.zip |
View: Draw lock icon on thumbnail when contents is locked
Change-Id: Id8d39b474d4b8dd7f71b5a64bb10ce2eb8862c24
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
-rw-r--r-- | include/define.h | 2 | ||||
-rw-r--r-- | include/view.h | 2 | ||||
-rw-r--r-- | res/images/ic_thumbnail_lock_01.png | bin | 0 -> 3289 bytes | |||
-rw-r--r-- | res/widgets/gengrid_tv.edc | 67 | ||||
-rw-r--r-- | src/view/view_base.c | 22 | ||||
-rw-r--r-- | src/view/view_pin.c | 8 |
6 files changed, 99 insertions, 2 deletions
diff --git a/include/define.h b/include/define.h index 4b1616d..b8b3263 100644 --- a/include/define.h +++ b/include/define.h @@ -82,6 +82,7 @@ #define SRC_EDC "edc" #define SRC_MENU_BTN "menubtn" #define SRC_ACTION_BTN "source.action.btn" +#define SRC_LOCK_ICON "source.lock.icon" /* Transition */ #define TRANSITION_FOCUS DECELERATE 0.20 @@ -148,6 +149,7 @@ #define ACTION_LOCK_FOC_PNG "btn_menu_lock_foc.png" #define ACTION_LOCK_SEL_PNG "btn_menu_lock_sel.png" #define ACTION_LOCK_DIS_PNG "btn_menu_lock_dis.png" +#define LOCK_ICON_PNG "ic_thumbnail_lock_01.png" /* Path */ #define PATH_PLAY_ICON_PNG IMGDIR"/ic_thumbnail_play.png" diff --git a/include/view.h b/include/view.h index af49323..88fbb88 100644 --- a/include/view.h +++ b/include/view.h @@ -25,6 +25,8 @@ enum update_type { UPDATE_DATA = 0, UPDATE_GRID, UPDATE_SHOW_TOAST, + UPDATE_LOCK, + UPDATE_UNLOCK, }; #endif /* __AIR_APPS_VIEW_H__ */ diff --git a/res/images/ic_thumbnail_lock_01.png b/res/images/ic_thumbnail_lock_01.png Binary files differnew file mode 100644 index 0000000..cbd4267 --- /dev/null +++ b/res/images/ic_thumbnail_lock_01.png diff --git a/res/widgets/gengrid_tv.edc b/res/widgets/gengrid_tv.edc index b67e2c6..4c6c8de 100644 --- a/res/widgets/gengrid_tv.edc +++ b/res/widgets/gengrid_tv.edc @@ -20,6 +20,10 @@ group { data.item, "focus_highlight" "on"; data.item, "texts" "part.thumb.text"; data.item, "contents" "part.thumb.icon part.thumb.default.tv.icon part.thumb.bg part.text.bg"; + images { + image, LOCK_ICON_PNG COMP; + } + parts { part { name, "padding.bottom.right"; @@ -373,6 +377,53 @@ group { inherit, "focused" 0.0; } } + + part { + name, "padding.lock.icon"; + type, SPACER; + scale, 1; + description { + state, "default" 0.0; + min, 14 18; + rel1 { + to, "part.bg"; + relative, 1.0 0.0; + } + rel2 { + to, "part.bg"; + relative, 1.0 0.0; + } + align, 1.0 0.0; + fixed, 1 1; + } + } + + part { + name, "part.lock.icon"; + type, IMAGE; + scale, 1; + description { + state, "default" 0.0; + min, 40 40; + rel1 { + to, "padding.lock.icon"; + relative, 0.0 1.0; + } + rel2 { + to, "padding.lock.icon"; + relative, 0.0 1.0; + } + align, 1.0 0.0; + fixed, 1 1; + image.normal, LOCK_ICON_PNG; + visible, 0; + } + description { + state, "visible" 0.0; + inherit, "default" 0.0; + visible, 1; + } + } } programs { @@ -464,5 +515,21 @@ group { name, "item_selected"; action, SIGNAL_EMIT SIG_ITEM_SELECTED SRC_EDC; } + + program { + name, SIG_VISIBLE; + signal, SIG_VISIBLE; + source, SRC_LOCK_ICON; + action, STATE_SET "visible" 0.0; + target, "part.lock.icon"; + } + + program { + name, SIG_INVISIBLE; + signal, SIG_INVISIBLE; + source, SRC_LOCK_ICON; + action, STATE_SET "default" 0.0; + target, "part.lock.icon"; + } } } diff --git a/src/view/view_base.c b/src/view/view_base.c index 7c41ebd..e31dff6 100644 --- a/src/view/view_base.c +++ b/src/view/view_base.c @@ -523,6 +523,7 @@ static void _hide(void *data) static void _update(void *view_data, int update_type, void *data) { struct _priv *priv; + struct grid_data *gdata; if (!view_data) { _ERR("Get data failed."); @@ -541,6 +542,27 @@ static void _update(void *view_data, int update_type, void *data) break; + case UPDATE_LOCK: + if (!data) + return; + + gdata = data; + + elm_object_item_signal_emit(gdata->focused_item, SIG_VISIBLE, + SRC_LOCK_ICON); + + break; + + case UPDATE_UNLOCK: + if (!data) + return; + + gdata = data; + + elm_object_item_signal_emit(gdata->focused_item, SIG_INVISIBLE, + SRC_LOCK_ICON); + + break; default: _ERR("Unhandled update type."); } diff --git a/src/view/view_pin.c b/src/view/view_pin.c index 7a86e4e..253db24 100644 --- a/src/view/view_pin.c +++ b/src/view/view_pin.c @@ -67,10 +67,14 @@ static void _pincode_checked(struct _priv *priv, char *pincode) goto end; } - if (locked) + + if (locked) { + viewmgr_update_view(VIEW_BASE, UPDATE_LOCK, priv->gdata); viewmgr_update_view(VIEW_BASE, UPDATE_SHOW_TOAST, STR_LOCKED); - else + } else { + viewmgr_update_view(VIEW_BASE, UPDATE_UNLOCK, priv->gdata); viewmgr_update_view(VIEW_BASE, UPDATE_SHOW_TOAST, STR_UNLOCKED); + } end: viewmgr_hide_view(VIEW_PIN); |