aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-01-13 19:54:50 +0800
committerMilan Crha <mcrha@src.gnome.org>2009-01-13 19:54:50 +0800
commitf7b5533e5eb094f0c9a45d6224f9ea3b44c721b7 (patch)
tree3244758fff4522aa632d4541635b75e9a310c339 /calendar/gui
parent84aa765a197eacbb8e09fc0af2e1e00937ae6178 (diff)
downloadgsoc2013-evolution-f7b5533e5eb094f0c9a45d6224f9ea3b44c721b7.tar.gz
gsoc2013-evolution-f7b5533e5eb094f0c9a45d6224f9ea3b44c721b7.tar.zst
gsoc2013-evolution-f7b5533e5eb094f0c9a45d6224f9ea3b44c721b7.zip
** Fix for bug #567045
2009-01-13 Milan Crha <mcrha@redhat.com> ** Fix for bug #567045 * gui/e-meeting-time-sel.c: (e_meeting_time_selector_construct), (e_meeting_time_selector_on_canvas_scroll_event): Escalate scroll event's to a scrolled window, to let mouse wheel work over data too. svn path=/trunk/; revision=37064
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/e-meeting-time-sel.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c
index f9c66449b2..1589e983e2 100644
--- a/calendar/gui/e-meeting-time-sel.c
+++ b/calendar/gui/e-meeting-time-sel.c
@@ -186,6 +186,7 @@ static void e_meeting_time_selector_update_start_date_edit (EMeetingTimeSelector
static void e_meeting_time_selector_update_end_date_edit (EMeetingTimeSelector *mts);
static void e_meeting_time_selector_ensure_meeting_time_shown (EMeetingTimeSelector *mts);
static void e_meeting_time_selector_update_dates_shown (EMeetingTimeSelector *mts);
+static gboolean e_meeting_time_selector_on_canvas_scroll_event (GtkWidget *widget, GdkEventScroll *event, EMeetingTimeSelector *mts);
static void row_inserted_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data);
static void row_changed_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data);
@@ -359,6 +360,8 @@ e_meeting_time_selector_construct (EMeetingTimeSelector * mts, EMeetingStore *em
G_CALLBACK (e_meeting_time_selector_on_canvas_realized), mts);
g_signal_connect (mts->display_main, "size_allocate",
G_CALLBACK (e_meeting_time_selector_on_canvas_size_allocate), mts);
+ g_signal_connect (mts->display_main, "scroll-event",
+ G_CALLBACK (e_meeting_time_selector_on_canvas_scroll_event), mts);
gtk_scrolled_window_set_vadjustment (GTK_SCROLLED_WINDOW (sw), GTK_LAYOUT (mts->display_main)->vadjustment);
@@ -2309,6 +2312,17 @@ e_meeting_time_selector_on_canvas_size_allocate (GtkWidget *widget,
e_meeting_time_selector_ensure_meeting_time_shown (mts);
}
+static gboolean
+e_meeting_time_selector_on_canvas_scroll_event (GtkWidget *widget, GdkEventScroll *event, EMeetingTimeSelector *mts)
+{
+ gboolean return_val = FALSE;
+
+ /* escalate to the list view's parent, which is a scrolled window */
+ g_signal_emit_by_name (gtk_widget_get_parent (GTK_WIDGET (mts->list_view)), "scroll-event", event, &return_val);
+
+ return return_val;
+}
+
/* This updates the canvas scroll regions according to the number of attendees.
If the total height needed is less than the height of the canvas, we must
use the height of the canvas, or it causes problems. */