[gtk/wip/baedert/icontheme2: 86/134] scale: Use top/left/bottom/right style classes on value label



commit 3779383290662dea44720cb7937651855f533d07
Author: Timm Bäder <mail baedert org>
Date:   Mon Aug 26 18:56:04 2019 +0200

    scale: Use top/left/bottom/right style classes on value label
    
    Just top/bottom is not enough anymore.
    
    77769a52b3cc0b836b226457963d7b5fe92ee115 broke e.g. horizontal scales
    with the value on top/bottom, adding too much space.

 gtk/gtkscale.c                 | 22 +++++++++++++---------
 gtk/theme/Adwaita/_common.scss |  8 ++++----
 2 files changed, 17 insertions(+), 13 deletions(-)
---
diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c
index fafcfab3bb..7a007c4e6b 100644
--- a/gtk/gtkscale.c
+++ b/gtk/gtkscale.c
@@ -85,7 +85,7 @@
  * │   ┊    ╰── indicator
  * ┊   ┊
  * │   ╰── mark
- * ├── [value][.top][.bottom]
+ * ├── [value][.top][.right][.bottom][.left]
  * ├── trough
  * │   ├── [fill]
  * │   ├── [highlight]
@@ -1049,15 +1049,19 @@ update_value_position (GtkScale *scale)
 
   context = gtk_widget_get_style_context (priv->value_widget);
 
-  if (priv->value_pos == GTK_POS_TOP || priv->value_pos == GTK_POS_LEFT)
-    {
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_BOTTOM);
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_TOP);
-    }
-  else
+  gtk_style_context_remove_class (context, GTK_STYLE_CLASS_TOP);
+  gtk_style_context_remove_class (context, GTK_STYLE_CLASS_RIGHT);
+  gtk_style_context_remove_class (context, GTK_STYLE_CLASS_BOTTOM);
+  gtk_style_context_remove_class (context, GTK_STYLE_CLASS_LEFT);
+
+  switch (priv->value_pos)
     {
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_TOP);
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_BOTTOM);
+    case GTK_POS_TOP:    gtk_style_context_add_class (context, GTK_STYLE_CLASS_TOP); break;
+    case GTK_POS_RIGHT:  gtk_style_context_add_class (context, GTK_STYLE_CLASS_RIGHT); break;
+    case GTK_POS_BOTTOM: gtk_style_context_add_class (context, GTK_STYLE_CLASS_BOTTOM); break;
+    case GTK_POS_LEFT:   gtk_style_context_add_class (context, GTK_STYLE_CLASS_LEFT); break;
+
+    default: g_assert_not_reached ();
     }
 }
 
diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss
index ad400fbe1a..8bc9f71c91 100644
--- a/gtk/theme/Adwaita/_common.scss
+++ b/gtk/theme/Adwaita/_common.scss
@@ -3197,8 +3197,8 @@ scale {
       }
     }
 
-    >value.top    { margin-bottom: 9px; }
-    >value.bottom { margin-top: 9px; }
+    > value.left  { margin-right: 9px; }
+    > value.right { margin-left: 9px; }
 
     &.fine-tune >marks {
       &.top { margin-top: 3px; }
@@ -3221,8 +3221,8 @@ scale {
       }
     }
 
-    >value.top    { margin-bottom: 9px; }
-    >value.bottom { margin-top: 9px; }
+    > value.top    { margin-bottom: 9px; }
+    > value.bottom { margin-top: 9px; }
 
     &.fine-tune >marks {
       &.top { margin-left: 3px; }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]