diff options
Diffstat (limited to 'gtk/gtkprogressbar.c')
-rw-r--r-- | gtk/gtkprogressbar.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c index 3cc366c6a2..9c8fd92e70 100644 --- a/gtk/gtkprogressbar.c +++ b/gtk/gtkprogressbar.c @@ -1204,10 +1204,23 @@ gtk_progress_bar_set_orientation (GtkProgressBar *pbar, GtkOrientation orientation) { GtkProgressBarPrivate *priv = pbar->priv; + GtkStyleContext *context; if (priv->orientation != orientation) { priv->orientation = orientation; + context = gtk_widget_get_style_context (GTK_WIDGET (pbar)); + + if (pbar->priv->orientation == GTK_ORIENTATION_VERTICAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } if (gtk_widget_is_drawable (GTK_WIDGET (pbar))) gtk_widget_queue_resize (GTK_WIDGET (pbar)); |