diff options
author | likorisd <[email protected]> | 2018-02-05 19:07:26 +0100 |
---|---|---|
committer | raveit65 <[email protected]> | 2018-02-23 15:24:58 +0100 |
commit | ed34d929a420da68b49e232a08bc3ca8f980200c (patch) | |
tree | 48d7ea80f4001af57f8311a50d455ba32e0daf6a /pluma/pluma-tab-label.c | |
parent | 1d82cc7c517fd84e6428ebb7ef29583240176af9 (diff) | |
download | pluma-ed34d929a420da68b49e232a08bc3ca8f980200c.tar.bz2 pluma-ed34d929a420da68b49e232a08bc3ca8f980200c.tar.xz |
Make notebook tabs scrollable
Diffstat (limited to 'pluma/pluma-tab-label.c')
-rw-r--r-- | pluma/pluma-tab-label.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/pluma/pluma-tab-label.c b/pluma/pluma-tab-label.c index 7f66b233..b1b30266 100644 --- a/pluma/pluma-tab-label.c +++ b/pluma/pluma-tab-label.c @@ -114,6 +114,16 @@ close_button_clicked_cb (GtkWidget *widget, g_signal_emit (tab_label, signals[CLOSE_CLICKED], 0, NULL); } +static gboolean +scroll_event_cb(GtkWidget *widget, + GdkEventScroll *event, + PlumaTabLabel *tab_label) +{ + g_signal_emit_by_name(tab_label, "scroll-event", &event); + + return FALSE; +} + static void sync_tip (PlumaTab *tab, PlumaTabLabel *tab_label) { @@ -265,6 +275,7 @@ pluma_tab_label_init (PlumaTabLabel *tab_label) GTK_ORIENTATION_HORIZONTAL); ebox = gtk_event_box_new (); + gtk_widget_add_events (ebox, GDK_SCROLL_MASK); gtk_event_box_set_visible_window (GTK_EVENT_BOX (ebox), FALSE); gtk_box_pack_start (GTK_BOX (tab_label), ebox, TRUE, TRUE, 0); tab_label->priv->ebox = ebox; @@ -273,6 +284,7 @@ pluma_tab_label_init (PlumaTabLabel *tab_label) gtk_container_add (GTK_CONTAINER (ebox), hbox); close_button = pluma_close_button_new (); + gtk_widget_add_events (close_button, GDK_SCROLL_MASK); gtk_widget_set_tooltip_text (close_button, _("Close document")); gtk_box_pack_start (GTK_BOX (tab_label), close_button, FALSE, FALSE, 0); tab_label->priv->close_button = close_button; @@ -281,6 +293,16 @@ pluma_tab_label_init (PlumaTabLabel *tab_label) "clicked", G_CALLBACK (close_button_clicked_cb), tab_label); + + g_signal_connect (close_button, + "scroll-event", + G_CALLBACK (scroll_event_cb), + tab_label); + + g_signal_connect (ebox, + "scroll-event", + G_CALLBACK (scroll_event_cb), + tab_label); spinner = gtk_spinner_new (); gtk_box_pack_start (GTK_BOX (hbox), spinner, FALSE, FALSE, 0); |