summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/eom-preferences-dialog.c2
-rw-r--r--src/eom-properties-dialog.c2
-rw-r--r--src/eom-util.c23
-rw-r--r--src/eom-util.h4
4 files changed, 24 insertions, 7 deletions
diff --git a/src/eom-preferences-dialog.c b/src/eom-preferences-dialog.c
index 8ac8b7d..7b613b4 100644
--- a/src/eom-preferences-dialog.c
+++ b/src/eom-preferences-dialog.c
@@ -327,7 +327,7 @@ eom_preferences_dialog_init (EomPreferencesDialog *pref_dlg)
gtk_widget_add_events (priv->notebook, GDK_SCROLL_MASK);
g_signal_connect (priv->notebook,
"scroll-event",
- G_CALLBACK (eom_util_dialog_page_scroll_event_cb),
+ G_CALLBACK (eom_notebook_page_scroll_event_cb),
NULL);
}
diff --git a/src/eom-properties-dialog.c b/src/eom-properties-dialog.c
index 5b2446f..3295b2e 100644
--- a/src/eom-properties-dialog.c
+++ b/src/eom-properties-dialog.c
@@ -794,7 +794,7 @@ eom_properties_dialog_init (EomPropertiesDialog *prop_dlg)
gtk_widget_add_events (priv->notebook, GDK_SCROLL_MASK);
g_signal_connect (priv->notebook,
"scroll-event",
- G_CALLBACK (eom_util_dialog_page_scroll_event_cb),
+ G_CALLBACK (eom_notebook_page_scroll_event_cb),
NULL);
}
diff --git a/src/eom-util.c b/src/eom-util.c
index 9eccc73..69692d5 100644
--- a/src/eom-util.c
+++ b/src/eom-util.c
@@ -429,8 +429,8 @@ eom_util_show_file_in_filemanager (GFile *file, GtkWindow *toplevel)
}
gboolean
-eom_util_dialog_page_scroll_event_cb (GtkWidget *widget,
- GdkEventScroll *event)
+eom_notebook_page_scroll_event_cb (GtkWidget *widget,
+ GdkEventScroll *event)
{
GtkNotebook *notebook = GTK_NOTEBOOK (widget);
@@ -466,7 +466,24 @@ eom_util_dialog_page_scroll_event_cb (GtkWidget *widget,
gtk_notebook_prev_page (notebook);
break;
case GDK_SCROLL_SMOOTH:
- break;
+ switch (gtk_notebook_get_tab_pos (notebook))
+ {
+ case GTK_POS_LEFT:
+ case GTK_POS_RIGHT:
+ if (event->delta_y > 0)
+ gtk_notebook_next_page (notebook);
+ else if (event->delta_y < 0)
+ gtk_notebook_prev_page (notebook);
+ break;
+ case GTK_POS_TOP:
+ case GTK_POS_BOTTOM:
+ if (event->delta_x > 0)
+ gtk_notebook_next_page (notebook);
+ else if (event->delta_x < 0)
+ gtk_notebook_prev_page (notebook);
+ break;
+ }
+ break;
}
return TRUE;
diff --git a/src/eom-util.h b/src/eom-util.h
index a2b0ae8..b713721 100644
--- a/src/eom-util.h
+++ b/src/eom-util.h
@@ -65,8 +65,8 @@ G_GNUC_INTERNAL
void eom_util_show_file_in_filemanager (GFile *file,
GtkWindow *toplevel);
-gboolean eom_util_dialog_page_scroll_event_cb (GtkWidget *notebook,
- GdkEventScroll *event);
+gboolean eom_notebook_page_scroll_event_cb (GtkWidget *notebook,
+ GdkEventScroll *event);
G_END_DECLS