Line
Link Here
|
0 |
-- a/gtk/gtknotebook.c |
0 |
++ b/gtk/gtknotebook.c |
Lines 344-349
Link Here
|
344 |
cairo_t *cr); |
344 |
cairo_t *cr); |
345 |
static gint gtk_notebook_button_press (GtkWidget *widget, |
345 |
static gint gtk_notebook_button_press (GtkWidget *widget, |
346 |
GdkEventButton *event); |
346 |
GdkEventButton *event); |
|
|
347 |
static gboolean gtk_notebook_scroll (GtkWidget *widget, |
348 |
GdkEventScroll *event); |
347 |
static gint gtk_notebook_button_release (GtkWidget *widget, |
349 |
static gint gtk_notebook_button_release (GtkWidget *widget, |
348 |
GdkEventButton *event); |
350 |
GdkEventButton *event); |
349 |
static gboolean gtk_notebook_popup_menu (GtkWidget *widget); |
351 |
static gboolean gtk_notebook_popup_menu (GtkWidget *widget); |
Lines 646-651
Link Here
|
646 |
widget_class->get_preferred_height_for_width = gtk_notebook_get_preferred_height_for_width; |
648 |
widget_class->get_preferred_height_for_width = gtk_notebook_get_preferred_height_for_width; |
647 |
widget_class->size_allocate = gtk_notebook_size_allocate; |
649 |
widget_class->size_allocate = gtk_notebook_size_allocate; |
648 |
widget_class->draw = gtk_notebook_draw; |
650 |
widget_class->draw = gtk_notebook_draw; |
|
|
651 |
widget_class->scroll_event = gtk_notebook_scroll; |
649 |
widget_class->button_press_event = gtk_notebook_button_press; |
652 |
widget_class->button_press_event = gtk_notebook_button_press; |
650 |
widget_class->button_release_event = gtk_notebook_button_release; |
653 |
widget_class->button_release_event = gtk_notebook_button_release; |
651 |
widget_class->popup_menu = gtk_notebook_popup_menu; |
654 |
widget_class->popup_menu = gtk_notebook_popup_menu; |
Lines 1894-1900
Link Here
|
1894 |
attributes.event_mask = gtk_widget_get_events (widget); |
1897 |
attributes.event_mask = gtk_widget_get_events (widget); |
1895 |
attributes.event_mask |= (GDK_BUTTON_PRESS_MASK | |
1898 |
attributes.event_mask |= (GDK_BUTTON_PRESS_MASK | |
1896 |
GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | |
1899 |
GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | |
1897 |
GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK); |
1900 |
GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK | |
|
|
1901 |
GDK_SCROLL_MASK); |
1898 |
attributes_mask = GDK_WA_X | GDK_WA_Y; |
1902 |
attributes_mask = GDK_WA_X | GDK_WA_Y; |
1899 |
|
1903 |
|
1900 |
priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), |
1904 |
priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), |
Lines 2863-2868
Link Here
|
2863 |
return FALSE; |
2867 |
return FALSE; |
2864 |
} |
2868 |
} |
2865 |
|
2869 |
|
|
|
2870 |
static gboolean |
2871 |
gtk_notebook_scroll (GtkWidget *widget, |
2872 |
GdkEventScroll *event) |
2873 |
{ |
2874 |
GtkNotebook *notebook = GTK_NOTEBOOK (widget); |
2875 |
GtkNotebookPrivate *priv = notebook->priv; |
2876 |
GtkWidget *child, *event_widget; |
2877 |
gint i; |
2878 |
|
2879 |
if (!priv->cur_page) |
2880 |
return FALSE; |
2881 |
|
2882 |
child = priv->cur_page->child; |
2883 |
event_widget = gtk_get_event_widget ((GdkEvent *)event); |
2884 |
|
2885 |
/* ignore scroll events from the content of the page */ |
2886 |
if (!event_widget || gtk_widget_is_ancestor (event_widget, child) || event_widget == child) |
2887 |
return FALSE; |
2888 |
|
2889 |
/* nor from the action area */ |
2890 |
for (i = 0; i < 2; i++) |
2891 |
{ |
2892 |
if (event_widget == priv->action_widget[i] || |
2893 |
(priv->action_widget[i] && |
2894 |
gtk_widget_is_ancestor (event_widget, priv->action_widget[i]))) |
2895 |
return FALSE; |
2896 |
} |
2897 |
|
2898 |
switch (event->direction) |
2899 |
{ |
2900 |
case GDK_SCROLL_RIGHT: |
2901 |
case GDK_SCROLL_DOWN: |
2902 |
gtk_notebook_next_page (notebook); |
2903 |
break; |
2904 |
case GDK_SCROLL_LEFT: |
2905 |
case GDK_SCROLL_UP: |
2906 |
gtk_notebook_prev_page (notebook); |
2907 |
break; |
2908 |
} |
2909 |
|
2910 |
return TRUE; |
2911 |
} |
2912 |
|
2913 |
|
2866 |
static GList* |
2914 |
static GList* |
2867 |
get_tab_at_pos (GtkNotebook *notebook, gint x, gint y) |
2915 |
get_tab_at_pos (GtkNotebook *notebook, gint x, gint y) |
2868 |
{ |
2916 |
{ |