forked from pool/breeze-gtk
Accepting request 749083 from KDE:Frameworks5
OBS-URL: https://build.opensuse.org/request/show/749083 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/breeze-gtk?expand=0&rev=71
This commit is contained in:
commit
b31eddefd8
183
0001-Revert-GTK3-Revert-checkbox-recolouring.patch
Normal file
183
0001-Revert-GTK3-Revert-checkbox-recolouring.patch
Normal file
@ -0,0 +1,183 @@
|
||||
From 6c70cac5e4d6566eded5893e34ac356e29deaff6 Mon Sep 17 00:00:00 2001
|
||||
From: Carson Black <uhhadd@gmail.com>
|
||||
Date: Sat, 16 Nov 2019 10:36:29 -0500
|
||||
Subject: [PATCH] Revert "[GTK3] Revert checkbox recolouring"
|
||||
|
||||
Summary:
|
||||
This reverts commit b1649126c8c6d1af746a8472939fcda40a260095, as an upstream librsvg bug was fixed, allowing checkboxes and radiobuttons to recolour properly.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/librsvg/issues/525
|
||||
|
||||
Test Plan: See that checkbox recolouring works as expected.
|
||||
|
||||
Reviewers: #breeze, #vdg, ngraham
|
||||
|
||||
Reviewed By: #breeze, #vdg, ngraham
|
||||
|
||||
Subscribers: ngraham, plasma-devel
|
||||
|
||||
Tags: #plasma
|
||||
|
||||
Differential Revision: https://phabricator.kde.org/D25336
|
||||
---
|
||||
src/gtk3/widgets/_checkboxes.scss | 92 ++++++++++++-------------------
|
||||
src/gtk3/widgets/_menus.scss | 29 +++++++---
|
||||
2 files changed, 55 insertions(+), 66 deletions(-)
|
||||
|
||||
diff --git a/src/gtk3/widgets/_checkboxes.scss b/src/gtk3/widgets/_checkboxes.scss
|
||||
index 3f398ae..b9fa4bd 100644
|
||||
--- a/src/gtk3/widgets/_checkboxes.scss
|
||||
+++ b/src/gtk3/widgets/_checkboxes.scss
|
||||
@@ -3,20 +3,6 @@
|
||||
/*************************
|
||||
* Check and Radio items *
|
||||
*************************/
|
||||
-@each $s,$as in ('','-unchecked'),
|
||||
- (':hover', '-unchecked-hover'),
|
||||
- (':active', '-unchecked-active'),
|
||||
- (':backdrop', '-unchecked-backdrop'),
|
||||
- (':checked', '-checked-active'),
|
||||
- (':checked:hover', '-checked-hover'),
|
||||
- (':checked:active', '-checked-active'),
|
||||
- (':backdrop:checked', '-checked-backdrop') {
|
||||
- .view.content-view.check#{$s}:not(list) {
|
||||
- -gtk-icon-shadow: none;
|
||||
- -gtk-icon-source: -gtk-scaled(url("../assets/check-selectionmode#{$as}.png"), url("../assets/check-selectionmode#{$as}@2.png"));
|
||||
- background-color: transparent;
|
||||
- }
|
||||
-}
|
||||
|
||||
checkbutton.text-button, radiobutton.text-button {
|
||||
// this is for a nice focus on check and radios text
|
||||
@@ -32,53 +18,43 @@ checkbutton.text-button, radiobutton.text-button {
|
||||
}
|
||||
}
|
||||
|
||||
-@each $a in ('check','radio') {
|
||||
+check, radio {
|
||||
+ margin: 0 4px;
|
||||
|
||||
- #{$a} {
|
||||
- margin: 0 4px;
|
||||
+ &:only-child { margin: 0; }
|
||||
|
||||
- &:only-child { margin: 0; }
|
||||
+ min-height: 18px;
|
||||
+ min-width: 18px;
|
||||
+ //border: none;
|
||||
+ animation: none;
|
||||
+ background-color: transparent;
|
||||
+ -gtk-icon-palette: error gtk("@theme_button_decoration_focus"), success gtk("@borders"), warning gtk("@theme_button_background_normal");
|
||||
+ -gtk-icon-shadow: 1px 1px rgba(35,38,41,0.2);
|
||||
|
||||
- min-height: 18px;
|
||||
- min-width: 18px;
|
||||
- //border: none;
|
||||
- animation: none;
|
||||
- background-color: transparent;
|
||||
- -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-unchecked.png"), url("../assets/#{$a}-unchecked@2.png"));
|
||||
+ &:hover {
|
||||
+ -gtk-icon-palette: error gtk("@theme_button_decoration_focus"), success gtk("@theme_button_decoration_focus"), warning gtk("@theme_button_background_normal");
|
||||
+ }
|
||||
+ &:disabled {
|
||||
+ -gtk-icon-palette: error gtk("@theme_button_decoration_focus_insensitive"), success gtk("@insensitive_borders"), warning gtk("@theme_button_background_insensitive");
|
||||
+ }
|
||||
|
||||
- @each $s,$as in ('hover','-hover'),
|
||||
- ('active','-active'),
|
||||
- ('disabled','-insensitive'),
|
||||
- ('backdrop','-backdrop'),
|
||||
- ('backdrop:disabled','-backdrop-insensitive') {
|
||||
- &:#{$s} { -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-unchecked#{$as}.png"), url("../assets/#{$a}-unchecked#{$as}@2.png")); }
|
||||
- &:checked {
|
||||
- -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-checked-active.png"), url("../assets/#{$a}-checked-active@2.png"));
|
||||
- &:#{$s} { -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-checked#{$as}.png"), url("../assets/#{$a}-checked#{$as}@2.png")); }
|
||||
- }
|
||||
- &:indeterminate {
|
||||
- -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-mixed-active.png"), url("../assets/#{$a}-mixed-active@2.png"));
|
||||
- &:#{$s} { -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-mixed#{$as}.png"), url("../assets/#{$a}-mixed#{$as}@2.png")); }
|
||||
- }
|
||||
+ menu menuitem & {
|
||||
+ margin: 0; // this is a workaround for a menu check/radio size allocation issue
|
||||
+ min-height: 18px;
|
||||
+ min-width: 18px;
|
||||
+ background-color: transparent;
|
||||
+ box-shadow: none;
|
||||
+ -gtk-icon-shadow: none;
|
||||
+ animation: none;
|
||||
}
|
||||
-
|
||||
- menu menuitem & {
|
||||
- margin: 0; // this is a workaround for a menu check/radio size allocation issue
|
||||
- min-height: 18px;
|
||||
- min-width: 18px;
|
||||
- background-color: transparent;
|
||||
- box-shadow: none;
|
||||
- -gtk-icon-shadow: none;
|
||||
- animation: none;
|
||||
- &:hover {
|
||||
- -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-unchecked.png"), url("../assets/#{$a}-unchecked@2.png"));
|
||||
- }
|
||||
- &:checked:hover {
|
||||
- -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-checked-active.png"), url("../assets/#{$a}-checked-active@2.png"));
|
||||
- }
|
||||
- &:indeterminate:hover {
|
||||
- -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-mixed-active.png"), url("../assets/#{$a}-mixed-active@2.png"));
|
||||
- }
|
||||
- }
|
||||
+}
|
||||
+@each $type in ('check', 'radio') {
|
||||
+ #{$type} {
|
||||
+ -gtk-icon-source: -gtk-recolor(url("../assets/breeze-#{$type}-unchecked-symbolic.svg"));
|
||||
+ @each $state in ('checked', 'indeterminate') {
|
||||
+ &:#{$state} {
|
||||
+ -gtk-icon-source: -gtk-recolor(url("../assets/breeze-#{$type}-#{$state}-symbolic.svg"));
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff --git a/src/gtk3/widgets/_menus.scss b/src/gtk3/widgets/_menus.scss
|
||||
index c241eab..7f6c40e 100644
|
||||
--- a/src/gtk3/widgets/_menus.scss
|
||||
+++ b/src/gtk3/widgets/_menus.scss
|
||||
@@ -205,14 +205,27 @@ modelbutton.flat,
|
||||
@extend %undecorated_button;
|
||||
color: gtk("@theme_unfocused_fg_color");
|
||||
}
|
||||
- check:hover {-gtk-icon-source: -gtk-scaled(url("../assets/check-unchecked.png"), url("../assets/check-unchecked@2.png"));}
|
||||
- radio:hover {-gtk-icon-source: -gtk-scaled(url("../assets/radio-unchecked.png"), url("../assets/radio-unchecked@2.png"));}
|
||||
-
|
||||
- check:checked:hover {-gtk-icon-source: -gtk-scaled(url("../assets/check-checked-active.png"), url("../assets/check-checked-active@2.png"));}
|
||||
- radio:checked:hover {-gtk-icon-source: -gtk-scaled(url("../assets/radio-checked-active.png"), url("../assets/radio-checked-active@2.png"));}
|
||||
-
|
||||
- check:indeterminate:hover {-gtk-icon-source: -gtk-scaled(url("../assets/check-mixed.png"), url("../assets/check-mixed@2.png"));}
|
||||
- radio:indeterminate:hover {-gtk-icon-source: -gtk-scaled(url("../assets/radio-mixed.png"), url("../assets/radio-mixed@2.png"));}
|
||||
+ check, radio {
|
||||
+ -gtk-icon-palette: error gtk("@theme_button_decoration_focus"), success gtk("@borders"), warning gtk("@theme_button_background_normal");
|
||||
+ -gtk-icon-shadow: 1px 1px rgba(35,38,41,0.2);
|
||||
+
|
||||
+ &:hover {
|
||||
+ -gtk-icon-palette: error gtk("@theme_button_decoration_focus"), success gtk("@theme_button_decoration_focus"), warning gtk("@theme_button_background_normal");
|
||||
+ }
|
||||
+ &:disabled {
|
||||
+ -gtk-icon-palette: error gtk("@theme_button_decoration_focus_insensitive"), success gtk("@insensitive_borders"), warning gtk("@theme_button_background_insensitive");
|
||||
+ }
|
||||
+ }
|
||||
+ @each $type in ('check', 'radio') {
|
||||
+ #{$type} {
|
||||
+ -gtk-icon-source: -gtk-recolor(url("../assets/breeze-#{$type}-unchecked-symbolic.svg"));
|
||||
+ @each $state in ('checked', 'indeterminate') {
|
||||
+ &:#{$state} {
|
||||
+ -gtk-icon-source: -gtk-recolor(url("../assets/breeze-#{$type}-#{$state}-symbolic.svg"));
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
// FIXME: remove the following when the checks/radios rewrite lands
|
||||
check:last-child,
|
||||
--
|
||||
2.23.0
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 16 17:25:57 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Add patch to enable checkbox recoloring again, fixed in librsvg:
|
||||
* 0001-Revert-GTK3-Revert-checkbox-recolouring.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 12 11:01:06 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
|
@ -30,6 +30,8 @@ Source: https://download.kde.org/stable/plasma/%{version}/breeze-gtk-%{v
|
||||
Source1: https://download.kde.org/stable/plasma/%{version}/breeze-gtk-%{version}.tar.xz.sig
|
||||
Source2: plasma.keyring
|
||||
%endif
|
||||
# PATCH-FIX-UPSTREAM (in master)
|
||||
Patch1: 0001-Revert-GTK3-Revert-checkbox-recolouring.patch
|
||||
BuildRequires: breeze5-style
|
||||
BuildRequires: cmake >= 2.8.12
|
||||
BuildRequires: extra-cmake-modules
|
||||
|
Loading…
Reference in New Issue
Block a user