summaryrefslogtreecommitdiff
path: root/gtk/gtknotebook.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtknotebook.c')
-rw-r--r--gtk/gtknotebook.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index b3feea7fe3..70fa1a92bc 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -693,6 +693,8 @@ static void gtk_notebook_grab_notify (GtkWidget *widget,
gboolean was_grabbed);
static void gtk_notebook_state_flags_changed (GtkWidget *widget,
GtkStateFlags previous_state);
+static void gtk_notebook_direction_changed (GtkWidget *widget,
+ GtkTextDirection previous_direction);
static gboolean gtk_notebook_focus (GtkWidget *widget,
GtkDirectionType direction);
@@ -958,6 +960,7 @@ gtk_notebook_class_init (GtkNotebookClass *class)
widget_class->popup_menu = gtk_notebook_popup_menu;
widget_class->grab_notify = gtk_notebook_grab_notify;
widget_class->state_flags_changed = gtk_notebook_state_flags_changed;
+ widget_class->direction_changed = gtk_notebook_direction_changed;
widget_class->focus = gtk_notebook_focus;
widget_class->compute_expand = gtk_notebook_compute_expand;
@@ -3016,11 +3019,16 @@ update_arrow_nodes (GtkNotebook *notebook)
up_icon_name = "pan-down-symbolic";
down_icon_name = "pan-up-symbolic";
}
- else
+ else if (gtk_widget_get_direction (GTK_WIDGET (notebook)) == GTK_TEXT_DIR_LTR)
{
up_icon_name = "pan-end-symbolic";
down_icon_name = "pan-start-symbolic";
}
+ else
+ {
+ up_icon_name = "pan-start-symbolic";
+ down_icon_name = "pan-end-symbolic";
+ }
arrow[0] = TRUE;
arrow[1] = FALSE;
@@ -3106,6 +3114,13 @@ update_arrow_nodes (GtkNotebook *notebook)
}
static void
+gtk_notebook_direction_changed (GtkWidget *widget,
+ GtkTextDirection previous_direction)
+{
+ update_arrow_nodes (GTK_NOTEBOOK (widget));
+}
+
+static void
gtk_notebook_dnd_finished_cb (GdkDrag *drag,
GtkWidget *widget)
{