+static void _load_lock_icon(struct _priv *priv, Evas_Object *ly)
+{
+ Evas_Object *lock;
+ const char *file = NULL;
+
+ if (priv->lock) {
+ elm_image_file_get(priv->lock, &file, NULL);
+ elm_object_part_content_unset(priv->lock,
+ PART_USER_EDIT_SWITCH);
+ evas_object_del(priv->lock);
+ }
+
+ if (!file || !strcmp(file, IMAGE_SWITCH_OFF))
+ file = IMAGE_SWITCH_ON;
+ else
+ file = IMAGE_SWITCH_OFF;
+ lock = utils_add_icon(ly, file, PART_USER_EDIT_SWITCH);
+
+ priv->lock = lock;
+}
+
+static void _lock_key_down(int id, void *data, Evas *e, Evas_Object *obj,
+ Evas_Event_Key_Down *ev)
+{
+ if (!strcmp(ev->keyname, KEY_ENTER))
+ _load_lock_icon(data, obj);
+}
+
+static input_handler lock_handler = {
+ .focused = _focused,
+ .unfocused = _unfocused,
+ .key_down = _lock_key_down
+};
+