From 1d1d44a01b89803e58db31e2dac393bf387d4f04 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sergio=20Villar=20Sen=C3=ADn?= Date: Fri, 15 Jan 2010 16:53:36 +0100 Subject: [PATCH] Fixes Zoom keys behaviour in Modest Fixes NB#144441, "unable to zoom" shown in email inbox while mediaplayer is active Fixes NB#134194, "volume %x" shown when attempt to zoom Fixes NB#150401, usage of zoom keys should be revised in email --- src/widgets/modest-msg-view-window.c | 39 ++++++++++++++++++++++++++++++++-- src/widgets/modest-window.c | 35 +----------------------------- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/src/widgets/modest-msg-view-window.c b/src/widgets/modest-msg-view-window.c index a3fddba..4883400 100644 --- a/src/widgets/modest-msg-view-window.c +++ b/src/widgets/modest-msg-view-window.c @@ -77,7 +77,12 @@ #ifdef MODEST_TOOLKIT_HILDON2 #include +#include +#include +#include +#include #endif + #include #include @@ -246,6 +251,9 @@ static gboolean _modest_msg_view_window_map_event (GtkWidget *widget, static void update_branding (ModestMsgViewWindow *self); static void sync_flags (ModestMsgViewWindow *self); +static gboolean on_realize (GtkWidget *widget, + gpointer userdata); + /* list my signals */ enum { MSG_CHANGED_SIGNAL, @@ -503,12 +511,19 @@ modest_msg_view_window_init (ModestMsgViewWindow *obj) priv->remove_attachment_banner = NULL; priv->msg_uid = NULL; priv->other_body = NULL; - + priv->sighandlers = NULL; - + /* Init window */ init_window (MODEST_MSG_VIEW_WINDOW(obj)); +#ifdef MODEST_TOOLKIT_HILDON2 + /* Grab the zoom keys, it will be used for Zoom and not for + changing volume */ + g_signal_connect (G_OBJECT (obj), "realize", + G_CALLBACK (on_realize), + NULL); +#endif } static void @@ -4138,3 +4153,23 @@ sync_flags (ModestMsgViewWindow *self) g_object_unref (header); } } + +#ifdef MODEST_TOOLKIT_HILDON2 +static gboolean +on_realize (GtkWidget *widget, + gpointer userdata) +{ + 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); + + return FALSE; +} +#endif diff --git a/src/widgets/modest-window.c b/src/widgets/modest-window.c index 1fdb139..1f60734 100644 --- a/src/widgets/modest-window.c +++ b/src/widgets/modest-window.c @@ -85,15 +85,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); + static void modest_window_pack_toolbar_not_implemented (ModestWindow *self, GtkPackType pack_type, GtkWidget *toolbar); - - /* list my signals */ enum { LAST_SIGNAL @@ -187,9 +182,6 @@ 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 @@ -632,35 +624,11 @@ on_key_pressed (GtkWidget *self, } break; } - - 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); -} - -static void modest_window_pack_toolbar_not_implemented (ModestWindow *self, GtkPackType pack_type, GtkWidget *toolbar) @@ -679,4 +647,3 @@ modest_window_pack_toolbar (ModestWindow *self, MODEST_WINDOW_GET_CLASS (self)->pack_toolbar_func (self, pack_type, toolbar); } - -- 1.7.9.5