diff options
author | tamplan <[email protected]> | 2020-05-24 12:58:45 +0200 |
---|---|---|
committer | raveit65 <[email protected]> | 2020-07-13 10:24:27 +0200 |
commit | f27d0293d6ba096c8b9a2325bf482e1c9c281de7 (patch) | |
tree | 55519a1021d2d1cbf5180bb2c680937b640c25f6 | |
parent | e6215d267425ec0db970aecf420077babfcc035d (diff) | |
download | eom-f27d0293d6ba096c8b9a2325bf482e1c9c281de7.tar.bz2 eom-f27d0293d6ba096c8b9a2325bf482e1c9c281de7.tar.xz |
Add tab scrolling support for dialog windows
-rw-r--r-- | src/eom-preferences-dialog.c | 2 | ||||
-rw-r--r-- | src/eom-properties-dialog.c | 2 | ||||
-rw-r--r-- | src/eom-util.c | 23 | ||||
-rw-r--r-- | src/eom-util.h | 4 |
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 |