[gtk/gtk-3-24: 1/2] Adwaita: Fix selection-mode checkboxes



commit a58d7573f6daff1cb71ddc8573d572683fedeb7f
Author: Alex Monday <monday15 gmx com>
Date:   Mon Mar 11 18:57:19 2019 +0500

    Adwaita: Fix selection-mode checkboxes
    
    Use object-select-symbolic as a check icon, adjust styles.
    
    Closes https://gitlab.gnome.org/GNOME/gtk/issues/28

 gtk/theme/Adwaita/_common.scss           | 37 ++++++++++++++++++--------------
 gtk/theme/Adwaita/gtk-contained-dark.css | 16 +++++++-------
 gtk/theme/Adwaita/gtk-contained.css      | 16 +++++++-------
 3 files changed, 37 insertions(+), 32 deletions(-)
---
diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss
index 1cb2c7da66..47d34387b9 100644
--- a/gtk/theme/Adwaita/_common.scss
+++ b/gtk/theme/Adwaita/_common.scss
@@ -2858,25 +2858,30 @@ switch {
 
 
 //selection-mode
-@each $s,$as in ('','-selectionmode'),
-                  (':hover', '-hover-selectionmode'),
-                  (':active', '-active-selectionmode'),
-                  (':backdrop', '-backdrop-selectionmode'),
-                  (':checked', '-checked-selectionmode'),
-                  (':checked:hover', '-checked-hover-selectionmode'),
-                  (':checked:active', '-checked-active-selectionmode'),
-                  (':backdrop:checked', '-checked-backdrop-selectionmode') {
-  .view.content-view.check#{$s}:not(list),
-  .content-view .tile check#{$s}:not(list) {
-    -gtk-icon-shadow: none;
-    -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), url("assets/checkbox#{$as}@2.png"));
-    background-color: transparent;
-    min-width: 40px;
-    min-height: 40px;
+@each $check_state, $check_icon, $check_color, $check_background in
+  ('', 'none', 'transparent', '#{transparentize($selected_bg_color, .05)}'),
+  (':hover', 'none', 'transparent', '#{transparentize($selected_bg_color, .05)}'),
+  (':active', 'none', 'transparent', '#{transparentize($selected_bg_color, .05)}'),
+  (':backdrop', 'none', 'transparent', '#{transparentize(desaturate($selected_bg_color, 100%), .05)}'),
+  (':checked', '-gtk-icontheme(\'object-select-symbolic\')', '#{$osd_fg_color}', 
'#{transparentize($selected_bg_color, .05)}'),
+  (':checked:hover', '-gtk-icontheme(\'object-select-symbolic\')', '#{$osd_fg_color}', 
'#{transparentize($selected_bg_color, .05)}'),
+  (':checked:active', '-gtk-icontheme(\'object-select-symbolic\')', '#{$osd_fg_color}', 
'#{transparentize($selected_bg_color, .05)}'),
+  (':backdrop:checked', '-gtk-icontheme(\'object-select-symbolic\')', '#{transparentize($osd_fg_color, 
0.2)}', '#{transparentize(desaturate($selected_bg_color, 100%), .05)}'), {
+
+  .view.content-view.check#{$check_state}:not(list),
+  .content-view .tile check#{$check_state}:not(list) {
+    margin: 4px;
+    min-width: 32px;
+    min-height: 32px;
+    color: #{$check_color};
+    background-color: #{$check_background};
+    border-radius: 5px;
     background-image: none;
-    transition: none;
+    transition: 200ms;
     box-shadow: none;
     border-width: 0;
+    -gtk-icon-source: #{$check_icon};
+    -gtk-icon-shadow: none;
   }
 }
 
diff --git a/gtk/theme/Adwaita/gtk-contained-dark.css b/gtk/theme/Adwaita/gtk-contained-dark.css
index c2d39a52c9..852cdceac8 100644
--- a/gtk/theme/Adwaita/gtk-contained-dark.css
+++ b/gtk/theme/Adwaita/gtk-contained-dark.css
@@ -1118,21 +1118,21 @@ switch:backdrop:disabled slider { border-color: #202020; background-image: image
 switch:backdrop:disabled slider label, switch:backdrop:disabled slider { color: #5b5b5b; }
 
 /************************* Check and Radio items * */
-.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view .tile 
check:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode 2 png")); 
background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: none; 
box-shadow: none; border-width: 0; }
+.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view .tile 
check:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: 
rgba(21, 83, 158, 0.95); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; 
border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view .tile 
check:hover:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode 2 
png")); background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: 
none; box-shadow: none; border-width: 0; }
+.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view .tile 
check:hover:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: 
rgba(21, 83, 158, 0.95); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; 
border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view .tile 
check:active:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-active-selectionmode.png"), url("assets/checkbox-active-selectionmode 2 
png")); background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: 
none; box-shadow: none; border-width: 0; }
+.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view .tile 
check:active:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(21, 83, 158, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view 
.tile check:backdrop:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-backdrop-selectionmode.png"), url("assets/checkbox-backdrop-selectionmode 2 
png")); background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: 
none; box-shadow: none; border-width: 0; }
+.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view 
.tile check:backdrop:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(90, 90, 90, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view 
.tile check:checked:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode 2 
png")); background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: 
none; box-shadow: none; border-width: 0; }
+.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view 
.tile check:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; 
background-color: rgba(21, 83, 158, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
-.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), 
.content-view .tile check:checked:hover:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), 
url("assets/checkbox-checked-hover-selectionmode 2 png")); background-color: transparent; min-width: 40px; 
min-height: 40px; background-image: none; transition: none; box-shadow: none; border-width: 0; }
+.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), 
.content-view .tile check:checked:hover:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
#eeeeec; background-color: rgba(21, 83, 158, 0.95); border-radius: 5px; background-image: none; transition: 
200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
-.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), 
.content-view .tile check:checked:active:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-checked-active-selectionmode.png"), 
url("assets/checkbox-checked-active-selectionmode 2 png")); background-color: transparent; min-width: 40px; 
min-height: 40px; background-image: none; transition: none; box-shadow: none; border-width: 0; }
+.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), 
.content-view .tile check:checked:active:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
#eeeeec; background-color: rgba(21, 83, 158, 0.95); border-radius: 5px; background-image: none; transition: 
200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
-.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), 
.content-view .tile check:backdrop:checked:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-checked-backdrop-selectionmode.png"), 
url("assets/checkbox-checked-backdrop-selectionmode 2 png")); background-color: transparent; min-width: 40px; 
min-height: 40px; background-image: none; transition: none; box-shadow: none; border-width: 0; }
+.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), 
.content-view .tile check:backdrop:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
rgba(238, 238, 236, 0.8); background-color: rgba(90, 90, 90, 0.95); border-radius: 5px; background-image: 
none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: 
-gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; }
 
 checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; }
 
diff --git a/gtk/theme/Adwaita/gtk-contained.css b/gtk/theme/Adwaita/gtk-contained.css
index 1b20d3812f..e195710a9a 100644
--- a/gtk/theme/Adwaita/gtk-contained.css
+++ b/gtk/theme/Adwaita/gtk-contained.css
@@ -1136,21 +1136,21 @@ row:selected switch slider:dir(ltr) { border-right-color: #cdc7c2; }
 row:selected switch slider:checked, row:selected switch slider { border-color: #185fb4; }
 
 /************************* Check and Radio items * */
-.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view .tile 
check:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode 2 png")); 
background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: none; 
box-shadow: none; border-width: 0; }
+.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view .tile 
check:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: 
rgba(53, 132, 228, 0.95); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; 
border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view .tile 
check:hover:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode 2 
png")); background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: 
none; box-shadow: none; border-width: 0; }
+.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view .tile 
check:hover:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: 
rgba(53, 132, 228, 0.95); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; 
border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view .tile 
check:active:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-active-selectionmode.png"), url("assets/checkbox-active-selectionmode 2 
png")); background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: 
none; box-shadow: none; border-width: 0; }
+.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view .tile 
check:active:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(53, 132, 228, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view 
.tile check:backdrop:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-backdrop-selectionmode.png"), url("assets/checkbox-backdrop-selectionmode 2 
png")); background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: 
none; box-shadow: none; border-width: 0; }
+.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view 
.tile check:backdrop:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(141, 141, 141, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view 
.tile check:checked:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode 2 
png")); background-color: transparent; min-width: 40px; min-height: 40px; background-image: none; transition: 
none; box-shadow: none; border-width: 0; }
+.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view 
.tile check:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; 
background-color: rgba(53, 132, 228, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
-.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), 
.content-view .tile check:checked:hover:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), 
url("assets/checkbox-checked-hover-selectionmode 2 png")); background-color: transparent; min-width: 40px; 
min-height: 40px; background-image: none; transition: none; box-shadow: none; border-width: 0; }
+.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), 
.content-view .tile check:checked:hover:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
#eeeeec; background-color: rgba(53, 132, 228, 0.95); border-radius: 5px; background-image: none; transition: 
200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
-.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), 
.content-view .tile check:checked:active:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-checked-active-selectionmode.png"), 
url("assets/checkbox-checked-active-selectionmode 2 png")); background-color: transparent; min-width: 40px; 
min-height: 40px; background-image: none; transition: none; box-shadow: none; border-width: 0; }
+.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), 
.content-view .tile check:checked:active:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
#eeeeec; background-color: rgba(53, 132, 228, 0.95); border-radius: 5px; background-image: none; transition: 
200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
-.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), 
.content-view .tile check:backdrop:checked:not(list) { -gtk-icon-shadow: none; -gtk-icon-source: 
-gtk-scaled(url("assets/checkbox-checked-backdrop-selectionmode.png"), 
url("assets/checkbox-checked-backdrop-selectionmode 2 png")); background-color: transparent; min-width: 40px; 
min-height: 40px; background-image: none; transition: none; box-shadow: none; border-width: 0; }
+.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), 
.content-view .tile check:backdrop:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
rgba(238, 238, 236, 0.8); background-color: rgba(141, 141, 141, 0.95); border-radius: 5px; background-image: 
none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: 
-gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; }
 
 checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; }
 


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