miniview: (shift/ctrl/alt)PgUp/Down to scroll
This commit is contained in:
parent
46a85b4962
commit
2f851eb9a0
|
@ -151,6 +151,47 @@ _smart_cb_mouse_wheel(void *data, Evas *e EINA_UNUSED,
|
||||||
mv->to_render = 1;
|
mv->to_render = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Eina_Bool
|
||||||
|
miniview_handle_key(Evas_Object *obj, Evas_Event_Key_Down *ev)
|
||||||
|
{
|
||||||
|
Miniview *mv;
|
||||||
|
Evas_Coord ox, oy, ow, oh, mx, my;
|
||||||
|
int z = 25;
|
||||||
|
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
|
||||||
|
|
||||||
|
mv = evas_object_smart_data_get(obj);
|
||||||
|
if (!mv || !mv->is_shown)
|
||||||
|
return EINA_FALSE;
|
||||||
|
|
||||||
|
evas_object_geometry_get(mv->img, &ox, &oy, &ow, &oh);
|
||||||
|
evas_pointer_canvas_xy_get(evas_object_evas_get(mv->base), &mx, &my);
|
||||||
|
|
||||||
|
if ((mx < ox) || (mx > ox + ow) ||
|
||||||
|
(my < oy) || (my > oy + oh))
|
||||||
|
return EINA_FALSE;
|
||||||
|
|
||||||
|
if (evas_key_modifier_is_set(ev->modifiers, "Alt") ||
|
||||||
|
evas_key_modifier_is_set(ev->modifiers, "Shift") ||
|
||||||
|
evas_key_modifier_is_set(ev->modifiers, "Control"))
|
||||||
|
z = mv->img_h;
|
||||||
|
|
||||||
|
if (!strcmp(ev->key, "Prior"))
|
||||||
|
{
|
||||||
|
mv->img_hist -= z;
|
||||||
|
mv->to_render = 1;
|
||||||
|
return EINA_TRUE;
|
||||||
|
}
|
||||||
|
else if (!strcmp(ev->key, "Next"))
|
||||||
|
{
|
||||||
|
mv->img_hist += z;
|
||||||
|
mv->to_render = 1;
|
||||||
|
return EINA_TRUE;
|
||||||
|
}
|
||||||
|
return EINA_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_smart_cb_mouse_down(void *data, Evas *e EINA_UNUSED,
|
_smart_cb_mouse_down(void *data, Evas *e EINA_UNUSED,
|
||||||
Evas_Object *obj EINA_UNUSED, void *event)
|
Evas_Object *obj EINA_UNUSED, void *event)
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
Evas_Object * miniview_add(Evas_Object *parent, Evas_Object *termio);
|
Evas_Object * miniview_add(Evas_Object *parent, Evas_Object *termio);
|
||||||
|
|
||||||
void miniview_redraw(Evas_Object *obj);
|
void miniview_redraw(Evas_Object *obj);
|
||||||
void miniview_push_history(Evas_Object *obj, Termcell *cells, int cells_len);
|
Eina_Bool miniview_handle_key(Evas_Object *obj, Evas_Event_Key_Down *ev);
|
||||||
|
|
||||||
void miniview_init(void);
|
void miniview_init(void);
|
||||||
void miniview_shutdown(void);
|
void miniview_shutdown(void);
|
||||||
|
|
|
@ -2084,6 +2084,10 @@ _smart_cb_key_down(void *data, Evas *e EINA_UNUSED,
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN(sd);
|
EINA_SAFETY_ON_NULL_RETURN(sd);
|
||||||
EINA_SAFETY_ON_NULL_RETURN(ev->key);
|
EINA_SAFETY_ON_NULL_RETURN(ev->key);
|
||||||
|
|
||||||
|
if (miniview_handle_key(term_miniview_get(sd->term), ev))
|
||||||
|
return;
|
||||||
|
|
||||||
if ((!alt) && (ctrl) && (!shift))
|
if ((!alt) && (ctrl) && (!shift))
|
||||||
{
|
{
|
||||||
if (!strcmp(ev->key, "Prior"))
|
if (!strcmp(ev->key, "Prior"))
|
||||||
|
|
Loading…
Reference in New Issue