summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyojung Jo <hj903.jo@samsung.com>2015-09-02 17:18:50 +0900
committerHyojung Jo <hj903.jo@samsung.com>2015-09-02 17:18:50 +0900
commite38a814bc73a49e0e2b4dd8f1a78d1715939d977 (patch)
tree8f653554771b5ae93503a6b7d11c987ee509f17b
parent895c63d6d21bef3fc80c6ed8b1a6039f41a60d59 (diff)
downloadair_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.h2
-rw-r--r--include/view.h2
-rw-r--r--res/images/ic_thumbnail_lock_01.pngbin0 -> 3289 bytes
-rw-r--r--res/widgets/gengrid_tv.edc67
-rw-r--r--src/view/view_base.c22
-rw-r--r--src/view/view_pin.c8
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
new file mode 100644
index 0000000..cbd4267
--- /dev/null
+++ b/res/images/ic_thumbnail_lock_01.png
Binary files differ
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);