}
}
part {
+ name, "clip";
+ type, RECT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ color, 0 0 0 0;
+ }
+ description {
+ state, "show" 0.0;
+ inherit, "default" 0.0;
+ color, 255 255 255 255;
+ }
+ }
+ part {
name, PART_HOME_MENU_BAR;
type, SWALLOW;
+ clip_to, "clip";
scale, 1;
description {
state, "default" 0.0;
relative, 0.0 0.0;
to, "pad.list";
}
- fixed, 1 1;
align, 0.5 1.0;
+ fixed, 1 1;
+ min, 0 158;
+ }
+ description {
+ state, "show" 0.0;
+ inherit, "default" 0.0;
min, 948 158;
}
}
}
programs {
program {
+ name, "sig,show";
+ signal, SIG_SHOW;
+ source, SRC_PROG;
+ action, STATE_SET "show" 0.0;
+ transition, DECEL 0.3;
+ target, "clip";
+ target, PART_HOME_MENU_BAR;
+ }
+ program {
+ name, "sig,hide";
+ signal, SIG_HIDE;
+ source, SRC_PROG;
+ action, STATE_SET "default" 0.0;
+ transition, DECEL 0.3;
+ target, "clip";
+ target, PART_HOME_MENU_BAR;
+ after, "sig,hide,done";
+ }
+ program {
+ name, "sig,hide,done";
+ action, SIGNAL_EMIT SIG_HIDE_DONE SRC_EDJE;
+ }
+ program {
name, "sig,show,navigation";
signal, SIG_SHOW_NAVIGATION;
source, SRC_PROG;
font, "TizenSans";
size, 34;
}
- color, 255 255 255 178;
+ color, 0 0 0 0;
color2, 0 0 0 255;
}
+ description {
+ state, "show" 0.0;
+ inherit, "default" 0.0;
+ color, 255 255 255 178;
+ }
}
part {
name, "pad.list";
}
}
part {
+ name, "clip";
+ type, RECT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ color, 0 0 0 0;
+ }
+ description {
+ state, "show" 0.0;
+ inherit, "default" 0.0;
+ color, 255 255 255 255;
+ }
+ }
+ part {
name, PART_USER_BAR;
type, SWALLOW;
scale, 1;
+ clip_to, "clip";
description {
state, "default" 0.0;
rel1 {
to, "pad.list";
relative, 1.0 1.0;
}
- min, 1422 228;
+ min, 0 228;
align, 0.5 0.0;
fixed, 1 1;
}
+ description {
+ state, "show" 0.0;
+ inherit, "default" 0.0;
+ min, 1422 228;
+ }
+ }
+ }
+ programs {
+ program {
+ name, "sig,show";
+ signal, SIG_SHOW;
+ source, SRC_PROG;
+ action, STATE_SET "show" 0.0;
+ transition, DECEL 0.3;
+ target, "clip";
+ target, PART_USER_BAR;
+ target, "text";
+ }
+ program {
+ name, "sig,hide";
+ signal, SIG_HIDE;
+ source, SRC_PROG;
+ action, STATE_SET "default" 0.0;
+ transition, DECEL 0.3;
+ target, "clip";
+ target, PART_USER_BAR;
+ target, "text";
+ after, "sig,hide,done";
+ }
+ program {
+ name, "sig,hide,done";
+ action, SIGNAL_EMIT SIG_HIDE_DONE SRC_EDJE;
}
}
}
#define SIG_HIDE_RECENT_DONE "sig.hide.recent.done"
#define SIG_DISABLE "sig.disable"
#define SIG_SHOW_MASK "sig.show.mask"
+#define SIG_SHOW "sig.show"
+#define SIG_HIDE "sig.hide"
+#define SIG_HIDE_DONE "sig.hide.done"
#define TITLE_WIDTH "title.width"
viewmgr_push_view(VIEW_RECENT);
} else if (!strcmp(ev->keyname, KEY_ENTER) ||
!strcmp(ev->keyname, KEY_ENTER_REMOTE)) {
- datamgr_select_item(priv->dm, priv->foc->di);
+ if (priv->foc->di->action == ITEM_SELECT_ACTION_PUSH)
+ elm_object_signal_emit(priv->base, SIG_HIDE, SRC_PROG);
+ else
+ datamgr_select_item(priv->dm, priv->foc->di);
} else if (!strcmp(ev->keyname, KEY_BACK) ||
!strcmp(ev->keyname, KEY_BACK_REMOTE)) {
/* It should be implemented later */
bi = data;
priv = bi->priv;
- datamgr_select_item(priv->dm, priv->foc->di);
+ if (priv->foc->di->action == ITEM_SELECT_ACTION_PUSH)
+ elm_object_signal_emit(priv->base, SIG_HIDE, SRC_PROG);
+ else
+ datamgr_select_item(priv->dm, priv->foc->di);
break;
case INPUT_HANDLER_TYPE_DOWN:
viewmgr_push_view(VIEW_RECENT);
return true;
}
+static void _hide_done(void *data, Evas_Object *obj, const char *emission,
+ const char *source)
+{
+ struct _priv *priv = data;
+
+ datamgr_select_item(priv->dm, priv->foc->di);
+}
+
static Evas_Object *_create(Evas_Object *win, void *data)
{
struct _priv *priv;
viewmgr_set_view_data(VIEW_HOME, priv);
inputmgr_add_callback(base, INPUT_HANDLER_TYPE_BASE, &handler, priv);
+ elm_object_signal_callback_add(base, SIG_HIDE_DONE, SRC_EDJE,
+ _hide_done, priv);
return base;
}
evas_object_show(priv->base);
elm_object_signal_emit(priv->base, SIG_SHOW_NAVIGATION, SRC_PROG);
+ elm_object_signal_emit(priv->base, SIG_SHOW, SRC_PROG);
if (!priv->foc)
priv->foc = eina_list_data_get(priv->list);
priv = data;
if (!strcmp(ev->keyname, KEY_ENTER) ||
!strcmp(ev->keyname, KEY_ENTER_REMOTE)) {
+ if (priv->foc->di->action == ITEM_SELECT_ACTION_POP) {
+ elm_object_signal_emit(priv->base, SIG_HIDE,
+ SRC_PROG);
+ return;
+ }
+
if ((priv->foc->di->action == ITEM_SELECT_ACTION_PUSH)
&& (eina_list_count(priv->list)
>= MAX_USER_COUNT)) {
_add_popup(priv);
return;
}
-
viewmgr_update_view(VIEW_USER_EDIT, UPDATE_TYPE_EDIT,
NULL);
datamgr_select_item(priv->dm, priv->foc->di);
} else if (!strcmp(ev->keyname, KEY_BACK) ||
!strcmp(ev->keyname, KEY_BACK_REMOTE)) {
- viewmgr_pop_view();
+ elm_object_signal_emit(priv->base, SIG_HIDE, SRC_PROG);
} else if (!strcmp(ev->keyname, KEY_DOWN)) {
if (priv->foc->di->action == ITEM_SELECT_ACTION_PUSH)
return;
switch (id) {
case INPUT_HANDLER_TYPE_BASE:
priv = data;
+ if (priv->foc->di->action == ITEM_SELECT_ACTION_POP) {
+ elm_object_signal_emit(priv->base, SIG_HIDE,
+ SRC_PROG);
+ return;
+ }
+
if ((priv->foc->di->action == ITEM_SELECT_ACTION_PUSH)
&& (eina_list_count(priv->list)
>= MAX_USER_COUNT)) {
}
}
+static void _hide_done(void *data, Evas_Object *obj, const char *emission,
+ const char *source)
+{
+ viewmgr_pop_view();
+}
+
static Evas_Object *_create(Evas_Object *win, void *data)
{
struct _priv *priv;
viewmgr_set_view_data(VIEW_USER, priv);
viewmgr_add_view(view_user_edit_get_vclass(), dm);
inputmgr_add_callback(base, INPUT_HANDLER_TYPE_BASE, &handler, priv);
+ elm_object_signal_callback_add(base, SIG_HIDE_DONE, SRC_EDJE,
+ _hide_done, NULL);
return base;
}
priv = data;
evas_object_show(priv->base);
+ elm_object_signal_emit(priv->base, SIG_SHOW, SRC_PROG);
_add_user(priv);