⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 176539 in webkit


Ignore:
Timestamp:
Nov 25, 2014, 5:48:04 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[GTK] Minibrowser: Add support for zoom using Control Key + Mouse scroll
https://bugs.webkit.org/show_bug.cgi?id=138090

Patch by Tanay C <tanay.c@samsung.com> on 2014-11-25
Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/BrowserWindow.c: Implementing zoom using Cntrl + Mouse scroll

(browserWindowZoomIn): Added.
(browserWindowZoomOut): Added.
(scrollEventCallback): Added.
(zoomInCallback): Modified.
(zoomOutCallback): Modified.
(browserWindowConstructed): Modified.

Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r176538 r176539  
     12014-11-25  Tanay C  <tanay.c@samsung.com>
     2
     3        [GTK] Minibrowser: Add support for zoom using Control Key + Mouse scroll
     4        https://bugs.webkit.org/show_bug.cgi?id=138090
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        * MiniBrowser/gtk/BrowserWindow.c: Implementing zoom using Cntrl + Mouse scroll
     9        (browserWindowZoomIn): Added.
     10        (browserWindowZoomOut): Added.
     11        (scrollEventCallback): Added.
     12        (zoomInCallback): Modified.
     13        (zoomOutCallback): Modified.
     14        (browserWindowConstructed): Modified.
     15
    1162014-11-25  Csaba Osztrogonác  <ossy@webkit.org>
    217
  • trunk/Tools/MiniBrowser/gtk/BrowserWindow.c

    r175371 r176539  
    446446}
    447447
     448static gboolean browserWindowZoomIn(BrowserWindow *window)
     449{
     450    if (browserWindowCanZoomIn(window)) {
     451        gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) * zoomStep;
     452        webkit_web_view_set_zoom_level(window->webView, zoomLevel);
     453        return TRUE;
     454    }
     455    return FALSE;
     456}
     457
     458static gboolean browserWindowZoomOut(BrowserWindow *window)
     459{
     460    if (browserWindowCanZoomOut(window)) {
     461        gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) / zoomStep;
     462        webkit_web_view_set_zoom_level(window->webView, zoomLevel);
     463        return TRUE;
     464    }
     465    return FALSE;
     466}
     467
     468static gboolean scrollEventCallback(WebKitWebView *webView, const GdkEventScroll *event, BrowserWindow *window)
     469{
     470    GdkModifierType mod = gtk_accelerator_get_default_mod_mask();
     471
     472    if ((event->state & mod) != GDK_CONTROL_MASK)
     473        return FALSE;
     474   
     475    if (event->delta_y < 0)
     476        return browserWindowZoomIn(window);
     477   
     478    return browserWindowZoomOut(window);
     479}
     480
    448481static void browserWindowUpdateZoomActions(BrowserWindow *window)
    449482{
     
    504537static void zoomInCallback(BrowserWindow *window)
    505538{
    506     if (browserWindowCanZoomIn(window)) {
    507         gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) * zoomStep;
    508         webkit_web_view_set_zoom_level(window->webView, zoomLevel);
    509     }
     539    browserWindowZoomIn(window);
    510540}
    511541
    512542static void zoomOutCallback(BrowserWindow *window)
    513543{
    514     if (browserWindowCanZoomOut(window)) {
    515         gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) / zoomStep;
    516         webkit_web_view_set_zoom_level(window->webView, zoomLevel);
    517     }
     544    browserWindowZoomOut(window);
    518545}
    519546
     
    782809    g_signal_connect(window->webView, "leave-fullscreen", G_CALLBACK(webViewLeaveFullScreen), window);
    783810    g_signal_connect(window->webView, "notify::is-loading", G_CALLBACK(webViewIsLoadingChanged), window);
     811    g_signal_connect(window->webView, "scroll-event", G_CALLBACK(scrollEventCallback), window);
    784812
    785813    g_signal_connect(webkit_web_view_get_context(window->webView), "download-started", G_CALLBACK(downloadStarted), window);
Note: See TracChangeset for help on using the changeset viewer.