#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
#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"
UPDATE_DATA = 0,
UPDATE_GRID,
UPDATE_SHOW_TOAST,
+ UPDATE_LOCK,
+ UPDATE_UNLOCK,
};
#endif /* __AIR_APPS_VIEW_H__ */
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";
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 {
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";
+ }
}
}
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.");
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.");
}
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);