[gtk: 2/5] Adwaita: Make check & radio symbolic icon style in popover.menu



commit 797cecd9aef040a86c56c4c0dd7d8233455f31c5
Author: nana-4 <hnmaigo gmail com>
Date:   Thu Nov 7 22:00:20 2019 +0900

    Adwaita: Make check & radio symbolic icon style in popover.menu
    
    The disabled modelbutton color needs to be specified explicitly
    in order for check & radio to properly read the color with
    currentColor.
    
    https://gitlab.gnome.org/GNOME/gtk/issues/1824

 gtk/theme/Adwaita/_common.scss           | 13 +++++++++++++
 gtk/theme/Adwaita/gtk-contained-dark.css | 10 +++++++---
 gtk/theme/Adwaita/gtk-contained.css      | 10 +++++++---
 3 files changed, 27 insertions(+), 6 deletions(-)
---
diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss
index 357ee5d4eb..bec0dce2b5 100644
--- a/gtk/theme/Adwaita/_common.scss
+++ b/gtk/theme/Adwaita/_common.scss
@@ -1031,6 +1031,12 @@ modelbutton.flat,
 
   &:hover { background-color: $popover_hover_color; }
 
+  &:disabled {
+    color: $insensitive_fg_color;
+
+    &:backdrop { color: $backdrop_insensitive_color; }
+  }
+
   &:selected { @extend %selected_items; }
 
   &:backdrop,
@@ -2929,6 +2935,7 @@ radio {
     &:disabled { @include button(osd-insensitive); }
   }
 
+  @at-root %menu_check_radio,
   menu menuitem & {
     margin: 0; // this is a workaround for a menu check/radio size allocation issue
 
@@ -2989,6 +2996,7 @@ check {
 }
 
 menu menuitem {
+  @at-root %menu_check_radio,
   radio,
   check {
      &:checked:not(:backdrop), &:indeterminate:not(:backdrop) { transition: none; }
@@ -4910,6 +4918,11 @@ popover.menu {
     &:dir(rtl) { margin-right: 20px; }
   }
 
+  & check,
+  & radio {
+    @extend %menu_check_radio;
+  }
+
   & arrow.left,
   & radio.left,
   & check.left {
diff --git a/gtk/theme/Adwaita/gtk-contained-dark.css b/gtk/theme/Adwaita/gtk-contained-dark.css
index 8ec5f683dd..021397692b 100644
--- a/gtk/theme/Adwaita/gtk-contained-dark.css
+++ b/gtk/theme/Adwaita/gtk-contained-dark.css
@@ -415,6 +415,10 @@ modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; p
 
 modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: #424242; }
 
+modelbutton.flat:disabled, .menuitem.button.flat:disabled { color: #919190; }
+
+modelbutton.flat:disabled:backdrop, .menuitem.button.flat:disabled:backdrop { color: #5b5b5b; }
+
 modelbutton.flat arrow { background: none; min-width: 16px; min-height: 16px; }
 
 modelbutton.flat arrow:hover { background: none; }
@@ -1140,9 +1144,9 @@ check:backdrop, radio:backdrop { transition: 200ms ease-out; }
 
 .osd check:disabled, .osd radio:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(58, 58, 57, 0.5)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
-menu menuitem check, menu menuitem radio { margin: 0; }
+popover.menu check, popover.menu radio, menu menuitem check, menu menuitem radio { margin: 0; }
 
-menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, 
menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, 
menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, 
menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem 
radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem 
radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; 
background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: 
inherit; border-color: currentColor; }
+popover.menu check, popover.menu radio, popover.menu check:hover, popover.menu radio:hover, popover.menu 
check:disabled, popover.menu radio:disabled, popover.menu check:checked, popover.menu radio:checked, 
popover.menu check:checked:hover, popover.menu radio:checked:hover, popover.menu check:checked:disabled, 
popover.menu radio:checked:disabled, popover.menu check:indeterminate, popover.menu radio:indeterminate, 
popover.menu check:indeterminate:hover, popover.menu radio:indeterminate:hover, popover.menu 
check:indeterminate:disabled, popover.menu radio:indeterminate:disabled, menu menuitem check, menu menuitem 
check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, 
menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem 
check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem 
radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, 
 menu men
 uitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu 
menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 
14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: 
inherit; border-color: currentColor; }
 
 check { border-radius: 3px; -gtk-icon-size: 14px; }
 
@@ -1164,7 +1168,7 @@ radio:active, check:active { -gtk-icon-transform: scale(0, 1); }
 
 radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), 
check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; }
 
-menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem 
check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; }
+popover.menu check:checked:not(:backdrop), popover.menu radio:checked:not(:backdrop), popover.menu 
check:indeterminate:not(:backdrop), popover.menu radio:indeterminate:not(:backdrop), 
radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), 
check:indeterminate:not(:backdrop) { transition: none; }
 
 treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, 
treeview.view radio:selected { color: #ffffff; }
 
diff --git a/gtk/theme/Adwaita/gtk-contained.css b/gtk/theme/Adwaita/gtk-contained.css
index b896c3c52d..d67ba210cb 100644
--- a/gtk/theme/Adwaita/gtk-contained.css
+++ b/gtk/theme/Adwaita/gtk-contained.css
@@ -417,6 +417,10 @@ modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; p
 
 modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: white; }
 
+modelbutton.flat:disabled, .menuitem.button.flat:disabled { color: #929595; }
+
+modelbutton.flat:disabled:backdrop, .menuitem.button.flat:disabled:backdrop { color: #d4cfca; }
+
 modelbutton.flat arrow { background: none; min-width: 16px; min-height: 16px; }
 
 modelbutton.flat arrow:hover { background: none; }
@@ -1156,9 +1160,9 @@ row:selected check, row:selected radio { border-color: #185fb4; }
 
 .osd check:disabled, .osd radio:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(71, 71, 71, 0.5)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
-menu menuitem check, menu menuitem radio { margin: 0; }
+popover.menu check, popover.menu radio, menu menuitem check, menu menuitem radio { margin: 0; }
 
-menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, 
menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, 
menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, 
menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem 
radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem 
radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; 
background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: 
inherit; border-color: currentColor; }
+popover.menu check, popover.menu radio, popover.menu check:hover, popover.menu radio:hover, popover.menu 
check:disabled, popover.menu radio:disabled, popover.menu check:checked, popover.menu radio:checked, 
popover.menu check:checked:hover, popover.menu radio:checked:hover, popover.menu check:checked:disabled, 
popover.menu radio:checked:disabled, popover.menu check:indeterminate, popover.menu radio:indeterminate, 
popover.menu check:indeterminate:hover, popover.menu radio:indeterminate:hover, popover.menu 
check:indeterminate:disabled, popover.menu radio:indeterminate:disabled, menu menuitem check, menu menuitem 
check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, 
menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem 
check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem 
radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, 
 menu men
 uitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu 
menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 
14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: 
inherit; border-color: currentColor; }
 
 check { border-radius: 3px; -gtk-icon-size: 14px; }
 
@@ -1180,7 +1184,7 @@ radio:active, check:active { -gtk-icon-transform: scale(0, 1); }
 
 radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), 
check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; }
 
-menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem 
check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; }
+popover.menu check:checked:not(:backdrop), popover.menu radio:checked:not(:backdrop), popover.menu 
check:indeterminate:not(:backdrop), popover.menu radio:indeterminate:not(:backdrop), 
radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), 
check:indeterminate:not(:backdrop) { transition: none; }
 
 treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, 
treeview.view radio:selected { color: #ffffff; border-color: #185fb4; }
 


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