Modified: trunk/Tools/ChangeLog (173507 => 173508)
--- trunk/Tools/ChangeLog 2014-09-11 04:42:38 UTC (rev 173507)
+++ trunk/Tools/ChangeLog 2014-09-11 06:41:06 UTC (rev 173508)
@@ -1,3 +1,15 @@
+2014-09-10 Tanay C <[email protected]>
+
+ [EFL][WK2] Minibrowser : Shift+Scroll navigate to back or forward url's
+ https://bugs.webkit.org/show_bug.cgi?id=136698
+
+ Reviewed by Gyuyoung Kim.
+
+ * MiniBrowser/efl/main.c: Add functionality to support shift + mouse scroll navigation
+ (on_mouse_wheel): Added.
+ (window_free):
+ (window_create):
+
2014-09-10 Rohit Kumar <[email protected]>
[EFL][WK2] Minibrowser : Add tooltip for toolbar buttons in Minibrowser
Modified: trunk/Tools/MiniBrowser/efl/main.c (173507 => 173508)
--- trunk/Tools/MiniBrowser/efl/main.c 2014-09-11 04:42:38 UTC (rev 173507)
+++ trunk/Tools/MiniBrowser/efl/main.c 2014-09-11 06:41:06 UTC (rev 173508)
@@ -288,6 +288,27 @@
}
static void
+on_mouse_wheel(void *user_data, Evas *e, Evas_Object *ewk_view, void *event_info)
+{
+ Browser_Window *window = (Browser_Window *)user_data;
+ const Evas_Modifier *mod = evas_key_modifier_get(e);
+ Evas_Event_Mouse_Wheel *ev = (Evas_Event_Mouse_Wheel *)event_info;
+ Eina_Bool shiftPressed = evas_key_modifier_is_set(mod, "Shift");
+
+ if (!shiftPressed)
+ return;
+
+ /* navigate based on mouse wheel scroll direction when shift key is pressed */
+ if (ev->z == -1 && ewk_view_forward_possible(window->ewk_view)) {
+ ewk_view_forward(window->ewk_view);
+ elm_object_disabled_set(window->forward_button, !ewk_view_forward_possible(window->ewk_view));
+ } else if (ev->z == 1 && ewk_view_back_possible(window->ewk_view)) {
+ ewk_view_back(window->ewk_view);
+ elm_object_disabled_set(window->back_button, !ewk_view_back_possible(window->ewk_view));
+ }
+}
+
+static void
on_window_resize(void *user_data, Evas *e, Evas_Object *elm_window, void *event_info)
{
Browser_Window *window = (Browser_Window *)user_data;
@@ -344,6 +365,7 @@
evas_object_event_callback_del(window->ewk_view, EVAS_CALLBACK_MOUSE_IN, on_mouse_in);
evas_object_event_callback_del(window->ewk_view, EVAS_CALLBACK_MOUSE_OUT, on_mouse_out);
evas_object_event_callback_del(window->ewk_view, EVAS_CALLBACK_MOUSE_MOVE, on_mouse_move);
+ evas_object_event_callback_del(window->ewk_view, EVAS_CALLBACK_MOUSE_WHEEL, on_mouse_wheel);
evas_object_event_callback_del(window->elm_window, EVAS_CALLBACK_RESIZE, on_window_resize);
@@ -2184,6 +2206,7 @@
evas_object_event_callback_add(window->ewk_view, EVAS_CALLBACK_MOUSE_IN, on_mouse_in, window);
evas_object_event_callback_add(window->ewk_view, EVAS_CALLBACK_MOUSE_OUT, on_mouse_out, window);
evas_object_event_callback_add(window->ewk_view, EVAS_CALLBACK_MOUSE_MOVE, on_mouse_move, window);
+ evas_object_event_callback_add(window->ewk_view, EVAS_CALLBACK_MOUSE_WHEEL, on_mouse_wheel, window);
evas_object_event_callback_add(window->elm_window, EVAS_CALLBACK_RESIZE, on_window_resize, window);
elm_button_autorepeat_set(window->back_button, EINA_TRUE);