[gtk/wip/jimmac/menu-styling-adjustments-popover] Adwaita: popover menu styling



commit 94bda61f6836f95f0c9284477ec69b2fc952dbb4
Author: Jakub Steiner <jimmac gmail com>
Date:   Thu Apr 30 12:10:42 2020 +0200

    Adwaita: popover menu styling
    
    - match existing popover styling for menus
    
    See https://gitlab.gnome.org/GNOME/gtk/-/issues/2675

 gtk/theme/Adwaita/_colors.scss         |  3 ++-
 gtk/theme/Adwaita/_common.scss         | 25 ++++++++++++++++---------
 gtk/theme/HighContrast/_colors-hc.scss |  1 +
 3 files changed, 19 insertions(+), 10 deletions(-)
---
diff --git a/gtk/theme/Adwaita/_colors.scss b/gtk/theme/Adwaita/_colors.scss
index a3f4c69a2c..5ca9c7a68c 100644
--- a/gtk/theme/Adwaita/_colors.scss
+++ b/gtk/theme/Adwaita/_colors.scss
@@ -18,7 +18,8 @@ $link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), li
 $top_hilight: $borders_edge;
 $dark_fill: mix($borders_color, $bg_color, 50%);
 $headerbar_color: if($variant == 'light', lighten($bg_color, 5%), darken($bg_color, 3%));
-$menu_color: if($variant == 'light', $base_color, mix($bg_color, $base_color, 20%));
+$menu_color: $bg_color;
+$menu_selected_color: $base_color;
 $popover_bg_color: $bg_color;
 $popover_hover_color: lighten($bg_color, 5%);
 
diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss
index cbbaad7936..d3cdbeeac0 100644
--- a/gtk/theme/Adwaita/_common.scss
+++ b/gtk/theme/Adwaita/_common.scss
@@ -4338,6 +4338,8 @@ menubar {
 
 $_menu-padding: 12px;
 
+/* Popover menu is a popover more than it is a menu */
+
 popover.menu {
   padding: 0px;
 
@@ -4354,7 +4356,7 @@ popover.menu {
       outline: none;
       transition: none;
 
-      &:selected { @extend %selected_items; }
+      &:selected { background: image($menu_selected_color); }
     }
   }
 
@@ -4392,16 +4394,13 @@ popover.menu {
   radio {
     @include check('menu', 'transparent', $text_color);
 
-    &:hover, &:active {
-      @include check('menu-active', 'transparent', $selected_fg_color);
-    }
+    &:hover { @include check('menu-active', 'transparent', $text_color); }
+    &:active { @include check('menu-active', 'transparent', $text_color); }
   }
 
   //only menu radios have a border
   radio { border-color: $borders_color;
-    &:active, &:hover {
-       border-color: transparentize($selected_fg_color,0.5);
-    }
+    &:active { border-color: transparentize($borders_color,0.5); }
   }
 
   arrow.left,
@@ -4421,10 +4420,18 @@ popover.menu {
   modelbutton {
     min-height: 30px;
     min-width: 40px;
+    margin: 0 $_menu-padding/2;
     padding: 0 $_menu-padding;
-    border-radius: 0;
 
-    &:selected { @extend %selected_items; }
+    &:selected {
+      color: $text-color;
+      background-color: $menu_selected_color;
+    }
+    &:selected:active {
+      //@extend %selected_items;
+      //color: $selected_fg_color;
+      background-color: darken($bg_color,14%); // matching buttons
+    }
   }
 
   label.title {
diff --git a/gtk/theme/HighContrast/_colors-hc.scss b/gtk/theme/HighContrast/_colors-hc.scss
index d9dfc278cd..31808e81a2 100644
--- a/gtk/theme/HighContrast/_colors-hc.scss
+++ b/gtk/theme/HighContrast/_colors-hc.scss
@@ -9,6 +9,7 @@ $selected_bg_color: darken($selected_bg_color,10%);
 $selected_borders_color: darken($selected_borders_color, 10%);
 $borders_color: if($variant == 'light', darken($borders_color, 30%), lighten($borders_color, 30%));
 $alt_borders_color: if($variant == 'light', darken($alt_borders_color, 33%), lighten($alt_borders_color, 
28%));
+$menu_selected_color: if($variant == 'light', $base_color, darken($bg_color,10%));
 
 //insensitive state derived colors
 $insensitive_fg_color: mix($fg_color, $bg_color, 50%);


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