summaryrefslogtreecommitdiff
path: root/pluma/pluma-tab-label.c
diff options
context:
space:
mode:
authorlikorisd <[email protected]>2018-02-05 19:07:26 +0100
committerraveit65 <[email protected]>2018-02-23 15:24:58 +0100
commited34d929a420da68b49e232a08bc3ca8f980200c (patch)
tree48d7ea80f4001af57f8311a50d455ba32e0daf6a /pluma/pluma-tab-label.c
parent1d82cc7c517fd84e6428ebb7ef29583240176af9 (diff)
downloadpluma-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.c22
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);