Ephoto/Single Browser: ctrl+mouse wheel now zooms... Also if the images are zoomed fit.. you can cycle through the images by scrolling/dragging left and right.
SVN revision: 59630
This commit is contained in:
parent
bb239f8685
commit
01568f1bbe
|
@ -346,6 +346,40 @@ _last_entry(Ephoto_Single_Browser *sb)
|
||||||
ephoto_single_browser_entry_set(sb->layout, entry);
|
ephoto_single_browser_entry_set(sb->layout, entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_viewer_scrolled(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__)
|
||||||
|
{
|
||||||
|
Ephoto_Single_Browser *sb = data;
|
||||||
|
Ephoto_Viewer *v = evas_object_data_get(sb->viewer, "viewer");
|
||||||
|
int sx, sw, cx;
|
||||||
|
if (!v->fit)
|
||||||
|
return;
|
||||||
|
evas_object_geometry_get(sb->viewer, &sx, 0, &sw, 0);
|
||||||
|
if (v->photocam)
|
||||||
|
{
|
||||||
|
Evas_Object *i = elm_photocam_internal_image_get(v->photocam);
|
||||||
|
evas_object_geometry_get(i, &cx, 0, 0, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
evas_object_geometry_get(v->image, &cx, 0, 0, 0);
|
||||||
|
if (cx < (sx-(sw/2)))
|
||||||
|
_next_entry(sb);
|
||||||
|
else if (cx > (sw/2))
|
||||||
|
_prev_entry(sb);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_mouse_wheel(void *data, Evas *e __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
|
||||||
|
{
|
||||||
|
Ephoto_Single_Browser *sb = data;
|
||||||
|
Ephoto_Viewer *v = evas_object_data_get(sb->viewer, "viewer");
|
||||||
|
Evas_Event_Mouse_Wheel *ev = event_info;
|
||||||
|
if (!evas_key_modifier_is_set(ev->modifiers, "Control")) return;
|
||||||
|
|
||||||
|
if (ev->z > 0) _zoom_set(sb, v->zoom + ZOOM_STEP);
|
||||||
|
else _zoom_set(sb, v->zoom - ZOOM_STEP);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_key_down(void *data, Evas *e __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
|
_key_down(void *data, Evas *e __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
|
||||||
{
|
{
|
||||||
|
@ -393,6 +427,10 @@ _ephoto_single_browser_recalc(Ephoto_Single_Browser *sb)
|
||||||
const char *bname = ecore_file_file_get(sb->entry->path);
|
const char *bname = ecore_file_file_get(sb->entry->path);
|
||||||
sb->viewer = _viewer_add(sb->layout, sb->entry->path);
|
sb->viewer = _viewer_add(sb->layout, sb->entry->path);
|
||||||
elm_layout_content_set(sb->layout, "ephoto.swallow.content", sb->viewer);
|
elm_layout_content_set(sb->layout, "ephoto.swallow.content", sb->viewer);
|
||||||
|
evas_object_event_callback_add
|
||||||
|
(sb->viewer, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel, sb);
|
||||||
|
evas_object_smart_callback_add
|
||||||
|
(sb->viewer, "scroll", _viewer_scrolled, sb);
|
||||||
evas_object_show(sb->viewer);
|
evas_object_show(sb->viewer);
|
||||||
ephoto_title_set(sb->ephoto, bname);
|
ephoto_title_set(sb->ephoto, bname);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue