summaryrefslogtreecommitdiff
path: root/gtk/gtkprogressbar.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkprogressbar.c')
-rw-r--r--gtk/gtkprogressbar.c13
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));