From be0ca7f2e3995569e4553ab4d979325680e73050 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz Date: Thu, 16 Apr 2009 14:51:14 +0000 Subject: [PATCH 1/1] Move grab zoom to ModestWindow, as we have to handle it in all the app pmo-trunk-r8870 --- src/hildon2/modest-msg-view-window.c | 31 ----------------- src/hildon2/ui/modest-msg-edit-window-ui.xml | 2 -- src/widgets/modest-window.c | 46 +++++++++++++++++++++++++- 3 files changed, 45 insertions(+), 34 deletions(-) diff --git a/src/hildon2/modest-msg-view-window.c b/src/hildon2/modest-msg-view-window.c index 2946161..41c6270 100644 --- a/src/hildon2/modest-msg-view-window.c +++ b/src/hildon2/modest-msg-view-window.c @@ -66,11 +66,6 @@ #include #include #include -#include -#include -#include -#include -#include #define MYDOCS_ENV "MYDOCSDIR" #define DOCS_FOLDER ".documents" @@ -230,7 +225,6 @@ static void setup_menu (ModestMsgViewWindow *self); static gboolean _modest_msg_view_window_map_event (GtkWidget *widget, GdkEvent *event, gpointer userdata); -static void _make_zoom_buttons_grabeable (GtkWidget* widget); /* list my signals */ @@ -1618,15 +1612,6 @@ modest_msg_view_window_key_event (GtkWidget *window, focus = gtk_window_get_focus (GTK_WINDOW (window)); - if (event->keyval == HILDON_HARDKEY_DECREASE && event->type == GDK_KEY_PRESS) { - modest_ui_actions_on_zoom_minus (NULL, MODEST_WINDOW (window)); - return TRUE; - } - if (event->keyval == HILDON_HARDKEY_INCREASE && event->type == GDK_KEY_PRESS) { - modest_ui_actions_on_zoom_plus (NULL, MODEST_WINDOW (window)); - return TRUE; - } - /* for the find toolbar case */ if (focus && GTK_IS_ENTRY (focus)) { if (event->keyval == GDK_BackSpace) { @@ -3311,21 +3296,5 @@ _modest_msg_view_window_map_event (GtkWidget *widget, hildon_gtk_window_set_progress_indicator (GTK_WINDOW (self), TRUE); } - _make_zoom_buttons_grabeable (GTK_WIDGET (self)); return FALSE; } - -static void -_make_zoom_buttons_grabeable (GtkWidget* widget) -{ - GdkDisplay *display; - Atom atom; - unsigned long val = 1; - - display = gdk_drawable_get_display (widget->window); - atom = gdk_x11_get_xatom_by_name_for_display (display, "_HILDON_ZOOM_KEY_ATOM"); - XChangeProperty (GDK_DISPLAY_XDISPLAY (display), - GDK_WINDOW_XID (widget->window), atom, - XA_INTEGER, 32, PropModeReplace, - (unsigned char *) &val, 1); -} diff --git a/src/hildon2/ui/modest-msg-edit-window-ui.xml b/src/hildon2/ui/modest-msg-edit-window-ui.xml index 0a2b2c8..aa01e8c 100644 --- a/src/hildon2/ui/modest-msg-edit-window-ui.xml +++ b/src/hildon2/ui/modest-msg-edit-window-ui.xml @@ -86,8 +86,6 @@ - - diff --git a/src/widgets/modest-window.c b/src/widgets/modest-window.c index 895c750..280eeda 100644 --- a/src/widgets/modest-window.c +++ b/src/widgets/modest-window.c @@ -35,7 +35,13 @@ #include "modest-window-mgr.h" #include "modest-defs.h" #include /* for strcmp */ +#include #include +#include +#include +#include +#include +#include /* 'private'/'protected' functions */ static void modest_window_class_init (ModestWindowClass *klass); @@ -58,6 +64,10 @@ static void modest_window_set_zoom_default (ModestWindow *window, gdouble zoom); static gboolean on_key_pressed (GtkWidget *self, GdkEventKey *event, gpointer user_data); +static void _make_zoom_buttons_grabeable (GtkWidget* widget); +static gboolean _modest_window_map_event (GtkWidget *widget, + GdkEvent *event, + gpointer userdata); /* list my signals */ enum { @@ -146,6 +156,9 @@ modest_window_init (ModestWindow *obj) g_signal_connect (G_OBJECT (obj), "key-press-event", G_CALLBACK (on_key_pressed), NULL); + g_signal_connect (G_OBJECT (obj), "map-event", + G_CALLBACK (_modest_window_map_event), + G_OBJECT (obj)); } static void @@ -465,7 +478,14 @@ on_key_pressed (GtkWidget *self, case GDK_F6: modest_ui_actions_on_change_fullscreen (NULL, MODEST_WINDOW(self)); return TRUE; -#ifndef MODEST_TOOLKIT_HILDON2 +#ifdef MODEST_TOOLKIT_HILDON2 + case HILDON_HARDKEY_INCREASE: + modest_ui_actions_on_zoom_plus (NULL, MODEST_WINDOW(self)); + return TRUE; + case HILDON_HARDKEY_DECREASE: + modest_ui_actions_on_zoom_minus (NULL, MODEST_WINDOW(self)); + return TRUE; +#else case GDK_F7: modest_ui_actions_on_zoom_plus (NULL, MODEST_WINDOW(self)); return TRUE; @@ -483,3 +503,27 @@ on_key_pressed (GtkWidget *self, return FALSE; } + +static gboolean +_modest_window_map_event (GtkWidget *widget, + GdkEvent *event, + gpointer userdata) +{ + _make_zoom_buttons_grabeable (GTK_WIDGET (widget)); + return FALSE; +} + +static void +_make_zoom_buttons_grabeable (GtkWidget* widget) +{ + GdkDisplay *display; + Atom atom; + unsigned long val = 1; + + display = gdk_drawable_get_display (widget->window); + atom = gdk_x11_get_xatom_by_name_for_display (display, "_HILDON_ZOOM_KEY_ATOM"); + XChangeProperty (GDK_DISPLAY_XDISPLAY (display), + GDK_WINDOW_XID (widget->window), atom, + XA_INTEGER, 32, PropModeReplace, + (unsigned char *) &val, 1); +} -- 1.7.9.5