forked from enlightenment/enlightenment
parent
31312d16e3
commit
6dc5aa2fe2
|
@ -71,7 +71,7 @@ static void _evry_view_update(Evry_State *s, Evry_Plugin *plugin);
|
|||
static int _evry_view_key_press(Evry_State *s, Ecore_Event_Key *ev);
|
||||
static int _evry_view_toggle(Evry_State *s, const char *trigger);
|
||||
static void _evry_view_show(Evry_View *v);
|
||||
static void _evry_view_hide(Evry_View *v);
|
||||
static void _evry_view_hide(Evry_View *v, int slide);
|
||||
|
||||
static void _evry_item_desel(Evry_State *s, Evry_Item *it);
|
||||
static void _evry_item_sel(Evry_State *s, Evry_Item *it);
|
||||
|
@ -770,8 +770,8 @@ _evry_selector_activate(Evry_Selector *sel)
|
|||
|
||||
if (s && s->view)
|
||||
{
|
||||
s->view->clear(s->view, 0);
|
||||
_evry_view_hide(s->view);
|
||||
/* s->view->clear(s->view, 0); */
|
||||
_evry_view_hide(s->view, 0);
|
||||
}
|
||||
|
||||
_evry_list_win_clear(evry_conf->hide_list);
|
||||
|
@ -1199,7 +1199,7 @@ evry_browse_item(Evry_Selector *sel)
|
|||
|
||||
if (s->view)
|
||||
{
|
||||
_evry_view_hide(s->view);
|
||||
_evry_view_hide(s->view, 1);
|
||||
view = s->view;
|
||||
}
|
||||
|
||||
|
@ -1724,10 +1724,12 @@ _evry_view_show(Evry_View *v)
|
|||
}
|
||||
|
||||
static void
|
||||
_evry_view_hide(Evry_View *v)
|
||||
_evry_view_hide(Evry_View *v, int slide)
|
||||
{
|
||||
if (!v) return;
|
||||
|
||||
v->clear(v, slide);
|
||||
|
||||
if (v->o_list)
|
||||
{
|
||||
edje_object_part_unswallow(list->o_main, v->o_list);
|
||||
|
@ -1828,7 +1830,7 @@ _evry_view_toggle(Evry_State *s, const char *trigger)
|
|||
|
||||
if (s->view)
|
||||
{
|
||||
_evry_view_hide(s->view);
|
||||
_evry_view_hide(s->view, 0);
|
||||
s->view->destroy(s->view);
|
||||
}
|
||||
|
||||
|
@ -1977,9 +1979,14 @@ _evry_plugin_select(Evry_State *s, Evry_Plugin *p)
|
|||
void
|
||||
evry_plugin_select(const Evry_State *s, Evry_Plugin *p)
|
||||
{
|
||||
Evry_Selector *sel;
|
||||
|
||||
_evry_plugin_select((Evry_State *) s, p);
|
||||
|
||||
_evry_selector_update(_evry_selector_for_plugin_get(p));
|
||||
sel = _evry_selector_for_plugin_get(p);
|
||||
|
||||
if (sel)
|
||||
_evry_selector_update(sel);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -54,7 +54,9 @@ struct _Smart_Data
|
|||
int slide_offset;
|
||||
double slide;
|
||||
double slide_to;
|
||||
|
||||
int sliding;
|
||||
int clearing;
|
||||
};
|
||||
|
||||
struct _Item
|
||||
|
@ -76,6 +78,10 @@ struct _Item
|
|||
static View *view = NULL;
|
||||
static const char *view_types = NULL;
|
||||
|
||||
|
||||
static void _view_clear(Evry_View *view, int slide);
|
||||
|
||||
|
||||
static void
|
||||
_thumb_gen(void *data, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
|
@ -619,7 +625,7 @@ _animator(void *data)
|
|||
Smart_Data *sd = evas_object_smart_data_get(data);
|
||||
double da;
|
||||
double spd = (25.0/(double)e_config->framerate) / (double) (1 + sd->view->zoom);
|
||||
if (sd->sliding) spd *= 1.5;
|
||||
/* if (sd->sliding) spd *= 1.5; */
|
||||
if (spd > 0.9) spd = 0.9;
|
||||
|
||||
int wait = 0;
|
||||
|
@ -662,12 +668,18 @@ _animator(void *data)
|
|||
{
|
||||
sd->slide = sd->slide_to;
|
||||
sd->sliding = 0;
|
||||
|
||||
if (sd->clearing)
|
||||
{
|
||||
_view_clear(EVRY_VIEW(sd->view), 0);
|
||||
sd->animator = NULL;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
wait++;
|
||||
|
||||
evas_object_move(sd->view->span, sd->slide, sd->y);
|
||||
evas_object_move(sd->view->span, sd->slide, sd->y);
|
||||
}
|
||||
|
||||
if (wait) return 1;
|
||||
|
@ -858,6 +870,26 @@ _view_clear(Evry_View *view, int slide)
|
|||
Smart_Data *sd = evas_object_smart_data_get(v->span);
|
||||
Item *it;
|
||||
|
||||
if (!sd->clearing && evry_conf->scroll_animate)
|
||||
{
|
||||
if (slide)
|
||||
{
|
||||
if (sd->items && !sd->animator)
|
||||
sd->animator = ecore_animator_add(_animator, v->span);
|
||||
sd->sliding = 1;
|
||||
sd->slide = sd->x;
|
||||
sd->slide_to = sd->x + sd->w * -slide;
|
||||
|
||||
sd->clearing = EINA_TRUE;
|
||||
return;
|
||||
}
|
||||
|
||||
if (sd->animator)
|
||||
ecore_animator_del(sd->animator);
|
||||
}
|
||||
|
||||
sd->clearing = EINA_FALSE;
|
||||
|
||||
_clear_items(v->span);
|
||||
|
||||
EINA_LIST_FREE(sd->items, it)
|
||||
|
@ -1042,19 +1074,19 @@ _view_update(Evry_View *view, int slide)
|
|||
|
||||
if (evry_conf->scroll_animate)
|
||||
{
|
||||
if (slide)
|
||||
{
|
||||
if (sd->items && !sd->animator)
|
||||
sd->animator = ecore_animator_add(_animator, v->span);
|
||||
sd->sliding = 1;
|
||||
sd->slide_to = sd->x;
|
||||
sd->slide = sd->x + sd->w * -slide;
|
||||
}
|
||||
else if (sd->sliding)
|
||||
{
|
||||
if (!sd->animator)
|
||||
sd->animator = ecore_animator_add(_animator, v->span);
|
||||
}
|
||||
if (slide)
|
||||
{
|
||||
if (sd->items && !sd->animator)
|
||||
sd->animator = ecore_animator_add(_animator, v->span);
|
||||
sd->sliding = 1;
|
||||
sd->slide_to = sd->x;
|
||||
sd->slide = sd->x + sd->w * -slide;
|
||||
}
|
||||
else if (sd->sliding)
|
||||
{
|
||||
if (!sd->animator)
|
||||
sd->animator = ecore_animator_add(_animator, v->span);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -1068,6 +1100,7 @@ _cb_key_down(Evry_View *view, const Ecore_Event_Key *ev)
|
|||
Eina_List *l = NULL, *ll;
|
||||
Item *it = NULL;
|
||||
const Evry_State *s = v->state;
|
||||
int slide;
|
||||
|
||||
if (!s->plugin)
|
||||
return 0;
|
||||
|
@ -1109,8 +1142,9 @@ _cb_key_down(Evry_View *view, const Ecore_Event_Key *ev)
|
|||
}
|
||||
}
|
||||
|
||||
if (v->tabs->key_down(v->tabs, ev))
|
||||
if ((slide = v->tabs->key_down(v->tabs, ev)))
|
||||
{
|
||||
/* _view_update(view, -slide); */
|
||||
_view_update(view, 0);
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ _animator(void *data)
|
|||
Tab_View *v = data;
|
||||
|
||||
double da;
|
||||
double spd = (35.0 / (double)e_config->framerate);
|
||||
double spd = (5.0 / (double)e_config->framerate);
|
||||
if (spd > 0.9) spd = 0.9;
|
||||
int wait = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue