summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-01 18:17:29 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-01 18:17:29 +0000
commit752217f0e7253abfbcc2fd7964c05d3e22b05ef5 (patch)
treebfff80060f661d561067c22e707bebd8bc8d77c4 /chrome
parentb44f9e527a014478f94a9bfa38d2ed1a3f1220e2 (diff)
downloadchromium_src-752217f0e7253abfbcc2fd7964c05d3e22b05ef5.zip
chromium_src-752217f0e7253abfbcc2fd7964c05d3e22b05ef5.tar.gz
chromium_src-752217f0e7253abfbcc2fd7964c05d3e22b05ef5.tar.bz2
Linux: ctrl+scroll for zoom
BUG=12962 Review URL: http://codereview.chromium.org/118044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17334 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/tab_contents/tab_contents_view_gtk.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/chrome/browser/tab_contents/tab_contents_view_gtk.cc b/chrome/browser/tab_contents/tab_contents_view_gtk.cc
index 0a8e898..e15d4db 100644
--- a/chrome/browser/tab_contents/tab_contents_view_gtk.cc
+++ b/chrome/browser/tab_contents/tab_contents_view_gtk.cc
@@ -62,6 +62,23 @@ gboolean OnMouseMove(GtkWidget* widget, GdkEventMotion* event,
return FALSE;
}
+// See tab_contents_view_win.cc for discussion of mouse scroll zooming.
+gboolean OnMouseScroll(GtkWidget* widget, GdkEventScroll* event,
+ TabContents* tab_contents) {
+ if ((event->state & gtk_accelerator_get_default_mod_mask()) ==
+ GDK_CONTROL_MASK) {
+ if (event->direction == GDK_SCROLL_DOWN) {
+ tab_contents->delegate()->ContentsZoomChange(false);
+ return TRUE;
+ } else if (event->direction == GDK_SCROLL_UP) {
+ tab_contents->delegate()->ContentsZoomChange(true);
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
// Used with gtk_container_foreach to change the sizes of the children of
// |fixed_|.
void SetSizeRequest(GtkWidget* widget, gpointer userdata) {
@@ -124,6 +141,8 @@ RenderWidgetHostView* TabContentsViewGtk::CreateViewForWidget(
G_CALLBACK(OnLeaveNotify), tab_contents());
g_signal_connect(content_view, "motion-notify-event",
G_CALLBACK(OnMouseMove), tab_contents());
+ g_signal_connect(content_view, "scroll-event",
+ G_CALLBACK(OnMouseScroll), tab_contents());
gtk_widget_add_events(content_view, GDK_LEAVE_NOTIFY_MASK |
GDK_POINTER_MOTION_MASK);
g_signal_connect(content_view, "button-press-event",