Title: [174724] trunk/Tools
Revision
174724
Author
commit-qu...@webkit.org
Date
2014-10-15 00:33:44 -0700 (Wed, 15 Oct 2014)

Log Message

[GTK] Minibrowser : Add keyboard support for zoom in , zoom out and default zoom in GTK Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=137060

Patch by Rohit Kumar <kumar.ro...@samsung.com> on 2014-10-15
Reviewed by Philippe Normand.

Add keyboard support for zoom in , zoom out and default zoom using 'Ctrl' + '+', 'Ctrl' + '-' and 'Ctrl' + '0' respectively.

* MiniBrowser/gtk/BrowserWindow.c:
(zoomInCallback):
(zoomOutCallback):
(defaultZoomCallback): Callback for default zoom keyboard support.
(browser_window_init):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (174723 => 174724)


--- trunk/Tools/ChangeLog	2014-10-15 05:05:56 UTC (rev 174723)
+++ trunk/Tools/ChangeLog	2014-10-15 07:33:44 UTC (rev 174724)
@@ -1,3 +1,18 @@
+2014-10-15  Rohit Kumar  <kumar.ro...@samsung.com>
+
+        [GTK] Minibrowser : Add keyboard support for zoom in , zoom out and default zoom in GTK Minibrowser
+        https://bugs.webkit.org/show_bug.cgi?id=137060
+
+        Reviewed by Philippe Normand.
+
+        Add keyboard support for zoom in , zoom out and default zoom using 'Ctrl' + '+', 'Ctrl' + '-' and 'Ctrl' + '0' respectively.
+
+        * MiniBrowser/gtk/BrowserWindow.c:
+        (zoomInCallback):
+        (zoomOutCallback):
+        (defaultZoomCallback): Callback for default zoom keyboard support.
+        (browser_window_init):
+
 2014-10-14  Simon Fraser  <simon.fra...@apple.com>
 
         [Mac] DRT stderr logging after the test completes gets attributed to the next test

Modified: trunk/Tools/MiniBrowser/gtk/BrowserWindow.c (174723 => 174724)


--- trunk/Tools/MiniBrowser/gtk/BrowserWindow.c	2014-10-15 05:05:56 UTC (rev 174723)
+++ trunk/Tools/MiniBrowser/gtk/BrowserWindow.c	2014-10-15 07:33:44 UTC (rev 174724)
@@ -76,6 +76,7 @@
 static const char *miniBrowserAboutScheme = "minibrowser-about";
 static const gdouble minimumZoomLevel = 0.5;
 static const gdouble maximumZoomLevel = 3;
+static const gdouble defaultZoomLevel = 1;
 static const gdouble zoomStep = 1.2;
 static gint windowCount = 0;
 
@@ -501,16 +502,25 @@
 
 static void zoomInCallback(BrowserWindow *window)
 {
-    gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) * zoomStep;
-    webkit_web_view_set_zoom_level(window->webView, zoomLevel);
+    if (browserWindowCanZoomIn(window)) {
+        gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) * zoomStep;
+        webkit_web_view_set_zoom_level(window->webView, zoomLevel);
+    }
 }
 
 static void zoomOutCallback(BrowserWindow *window)
 {
-    gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) / zoomStep;
-    webkit_web_view_set_zoom_level(window->webView, zoomLevel);
+    if (browserWindowCanZoomOut(window)) {
+        gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) / zoomStep;
+        webkit_web_view_set_zoom_level(window->webView, zoomLevel);
+    }
 }
 
+static void defaultZoomCallback(BrowserWindow *window)
+{
+    webkit_web_view_set_zoom_level(window->webView, defaultZoomLevel);
+}
+
 static void searchCallback(BrowserWindow *window)
 {
     browser_search_bar_open(window->searchBar);
@@ -646,6 +656,20 @@
     gtk_accel_group_connect(window->accelGroup, GDK_KEY_Home, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE,
         g_cclosure_new_swap(G_CALLBACK(loadHomePage), window, NULL));
 
+    /* Zoom in, zoom out and default zoom*/
+    gtk_accel_group_connect(window->accelGroup, GDK_KEY_equal, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+        g_cclosure_new_swap(G_CALLBACK(zoomInCallback), window, NULL));
+    gtk_accel_group_connect(window->accelGroup, GDK_KEY_KP_Add, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+        g_cclosure_new_swap(G_CALLBACK(zoomInCallback), window, NULL));
+    gtk_accel_group_connect(window->accelGroup, GDK_KEY_minus, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+        g_cclosure_new_swap(G_CALLBACK(zoomOutCallback), window, NULL));
+    gtk_accel_group_connect(window->accelGroup, GDK_KEY_KP_Subtract, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+        g_cclosure_new_swap(G_CALLBACK(zoomOutCallback), window, NULL));
+    gtk_accel_group_connect(window->accelGroup, GDK_KEY_0, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+        g_cclosure_new_swap(G_CALLBACK(defaultZoomCallback), window, NULL));
+    gtk_accel_group_connect(window->accelGroup, GDK_KEY_KP_0, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+        g_cclosure_new_swap(G_CALLBACK(defaultZoomCallback), window, NULL));
+
     GtkWidget *toolbar = gtk_toolbar_new();
     window->toolbar = toolbar;
     gtk_orientable_set_orientation(GTK_ORIENTABLE(toolbar), GTK_ORIENTATION_HORIZONTAL);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to