Bug 443919

Summary: Changes to breeze Qt in 5.23 not synced to GTK(2,3)
Product: [Plasma] Breeze Reporter: Christian (Fuchs) <kde>
Component: gtk themeAssignee: Janet Blackquill <uhhadd>
Status: RESOLVED FIXED    
Severity: normal CC: aaronrennyv12, bsmith7581, cristobal.veas, kde-bugs, nate, ncqm3qdz, plasma-bugs, stefanomilani92
Priority: NOR    
Version: 5.23.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.25
Sentry Crash Report:

Description Christian (Fuchs) 2021-10-17 21:58:30 UTC
SUMMARY
Changes made to breeze (Checkboxes, Radio Buttons, Scrollbars, ...) have not been synced to the GTK themes

STEPS TO REPRODUCE
1. Open any GTK app in 5.23 
2. Note that the radio buttons, checkboxes and scrollbars still use the old design

OBSERVED RESULT

Applications are not consistent between Qt / GTK

EXPECTED RESULT

Applications are consistent (well, as much as they can be)

KDE Plasma Version: 5.23
KDE Frameworks Version: 5.87
Qt Version: 5.15.2

ADDITIONAL INFORMATION

Would be good if we had some automated testing or at least some sort of "dependency" to ensure we check and sync that before releasing a new major version of breeze.
Comment 1 Nate Graham 2021-10-17 23:07:27 UTC
Indeed, we didn't manage to get the GTK changes done in time. :(
Comment 2 Nate Graham 2021-10-25 20:54:40 UTC
*** Bug 444299 has been marked as a duplicate of this bug. ***
Comment 3 Janet Blackquill 2021-11-22 20:59:06 UTC
Git commit 19e285b42646c60bd5652c541723e95a3c24547d by Jan Blackquill.
Committed on 22/11/2021 at 20:50.
Pushed by cblack into branch 'master'.

gtk3, gtk4: refactor buttons heavily, make look near-identical to breeze qstyle
Related: bug 426557, bug 438185

M  +2    -33   src/gtk3/widgets/_app_notifications.scss
M  +105  -295  src/gtk3/widgets/_button.scss
M  +2    -8    src/gtk3/widgets/_color_chooser.scss
M  +1    -69   src/gtk3/widgets/_headerbar.scss
M  +0    -2    src/gtk3/widgets/_menus.scss
M  +0    -4    src/gtk3/widgets/_notebook.scss
M  +1    -1    src/gtk3/widgets/_pathbar.scss
M  +2    -33   src/gtk4/widgets/_app_notifications.scss
M  +105  -292  src/gtk4/widgets/_button.scss
M  +2    -8    src/gtk4/widgets/_color_chooser.scss
M  +1    -72   src/gtk4/widgets/_headerbar.scss
M  +0    -11   src/gtk4/widgets/_menus.scss
M  +0    -4    src/gtk4/widgets/_notebook.scss
M  +1    -1    src/gtk4/widgets/_pathbar.scss
M  +1    -1    src/gtk4/widgets/_spinbutton.scss

https://invent.kde.org/plasma/breeze-gtk/commit/19e285b42646c60bd5652c541723e95a3c24547d
Comment 4 Nate Graham 2021-11-22 23:47:13 UTC
Git commit ed314cf17880f71a897bd4a67cce2ffc9468610e by Nate Graham, on behalf of Jan Blackquill.
Committed on 22/11/2021 at 23:46.
Pushed by ngraham into branch 'Plasma/5.23'.

gtk3, gtk4: refactor buttons heavily, make look near-identical to breeze qstyle
Related: bug 426557, bug 438185
(cherry picked from commit 19e285b42646c60bd5652c541723e95a3c24547d)

M  +2    -33   src/gtk3/widgets/_app_notifications.scss
M  +105  -295  src/gtk3/widgets/_button.scss
M  +2    -8    src/gtk3/widgets/_color_chooser.scss
M  +1    -69   src/gtk3/widgets/_headerbar.scss
M  +0    -2    src/gtk3/widgets/_menus.scss
M  +0    -4    src/gtk3/widgets/_notebook.scss
M  +1    -1    src/gtk3/widgets/_pathbar.scss
M  +2    -33   src/gtk4/widgets/_app_notifications.scss
M  +105  -292  src/gtk4/widgets/_button.scss
M  +2    -8    src/gtk4/widgets/_color_chooser.scss
M  +1    -72   src/gtk4/widgets/_headerbar.scss
M  +0    -11   src/gtk4/widgets/_menus.scss
M  +0    -4    src/gtk4/widgets/_notebook.scss
M  +1    -1    src/gtk4/widgets/_pathbar.scss
M  +1    -1    src/gtk4/widgets/_spinbutton.scss

https://invent.kde.org/plasma/breeze-gtk/commit/ed314cf17880f71a897bd4a67cce2ffc9468610e
Comment 5 Nate Graham 2022-01-12 18:41:33 UTC
*** Bug 447796 has been marked as a duplicate of this bug. ***
Comment 6 Nate Graham 2022-01-13 18:31:14 UTC
Git commit 9cae70a584ae9115753d573ee17f63828e3d729e by Nate Graham, on behalf of Janet Blackquill.
Committed on 13/01/2022 at 18:30.
Pushed by ngraham into branch 'master'.

gtk3, gtk4: blue ocean switches

M  +55   -27   src/gtk3/widgets/_switch.scss
M  +55   -27   src/gtk4/widgets/_switch.scss

https://invent.kde.org/plasma/breeze-gtk/commit/9cae70a584ae9115753d573ee17f63828e3d729e
Comment 7 Nate Graham 2022-01-13 19:47:37 UTC
Git commit 7e7caf2ae427a9e0b169b473d5ab890161750abe by Nate Graham, on behalf of Artem Grinev.
Committed on 13/01/2022 at 19:47.
Pushed by ngraham into branch 'master'.

gtk3, gtk4: Blue ocean checkboxes

This MR adds a Blue Ocean-styled checkboxes and radio buttons. 
They follow Adwaita's approach to draw box in CSS and provide the image itself in a SVG. This allows us to control coloring of the box more precisely and also add an check/uncheck animation.

A  +47   -0    src/assets/bullet-symbolic.svg
A  +46   -0    src/assets/checkmark-symbolic.svg
A  +40   -0    src/assets/dash-symbolic.svg
M  +92   -35   src/gtk3/widgets/_checkboxes.scss
M  +1    -46   src/gtk3/widgets/_menus.scss
M  +91   -35   src/gtk4/widgets/_checkboxes.scss
M  +0    -46   src/gtk4/widgets/_menus.scss

https://invent.kde.org/plasma/breeze-gtk/commit/7e7caf2ae427a9e0b169b473d5ab890161750abe
Comment 8 Nate Graham 2022-01-17 22:42:56 UTC
Git commit 3a328da00c4c9ae63488844686f2844d142c298f by Nate Graham, on behalf of Artem Grinev.
Committed on 17/01/2022 at 22:42.
Pushed by ngraham into branch 'master'.

gtk3, gtk4: Disable overshoot effect

This makes scrolling be more consistent with Breeze QStyle.

M  +2    -127  src/gtk3/widgets/_overshoot.scss
M  +2    -119  src/gtk4/widgets/_overshoot.scss

https://invent.kde.org/plasma/breeze-gtk/commit/3a328da00c4c9ae63488844686f2844d142c298f
Comment 9 Nate Graham 2022-02-01 22:29:50 UTC
*** Bug 449369 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2022-02-01 22:30:44 UTC
*** Bug 449380 has been marked as a duplicate of this bug. ***
Comment 11 Nate Graham 2022-02-21 17:47:22 UTC
Git commit 14cfa4c300a2186f6718156f2efc6a7bb4b48a97 by Nate Graham, on behalf of Artem Grinev.
Committed on 21/02/2022 at 17:47.
Pushed by ngraham into branch 'master'.

gtk3, gtk4: Progressbar and scale blue ocean

This commit introduces new style for progress bars and scales.

* A new function `gtkoverlay` is added to replicate `KColorUtils::overlayColors`
  used in Breeze QStyle using `linear-gradient` color overlaying
* ...and `gtkoverlayalpha` for the same thing plus alpha channel
* Scale bars with steps got tickmarks back
* Fixed broken Gnome Disks partition change scale margins

M  +12   -0    src/_functions.scss
M  +26   -17   src/gtk3/widgets/_progressbar.scss
M  +120  -53   src/gtk3/widgets/_scale.scss
M  +26   -17   src/gtk4/widgets/_progressbar.scss
M  +138  -53   src/gtk4/widgets/_scale.scss

https://invent.kde.org/plasma/breeze-gtk/commit/14cfa4c300a2186f6718156f2efc6a7bb4b48a97
Comment 12 Nate Graham 2022-03-16 18:35:27 UTC
Git commit 873d9707f00e71d23c3028bb5c24b8aa675ac68f by Nate Graham, on behalf of Artem Grinev.
Committed on 16/03/2022 at 18:35.
Pushed by ngraham into branch 'master'.

gtk3, gtk4: Make circular buttons round

Since Kirigami has circular buttons now, it's fine to make GTK's `.circular`
buttons actually rounded by adding a 50% radius to them.

M  +6    -0    src/gtk3/widgets/_button.scss
M  +6    -0    src/gtk4/widgets/_button.scss

https://invent.kde.org/plasma/breeze-gtk/commit/873d9707f00e71d23c3028bb5c24b8aa675ac68f
Comment 13 Nate Graham 2022-03-16 18:40:16 UTC
Git commit 1c4d3d1c564405977ba1c1b14399a829e0363ae4 by Nate Graham, on behalf of Artem Grinev.
Committed on 16/03/2022 at 18:40.
Pushed by ngraham into branch 'master'.

gtk3, gtk4: implement blue ocean scrollbars

This implements Blue Ocean style for scrollbars. Also makes them look focused
on main content view focus.

Opacity levels were found based on QStyle element final colors as it seems
GTK handles alpha a bit differently.
Related: bug 446824
FIXED-IN: 5.25

M  +11   -2    src/gtk3/applications/_firefox.scss
M  +103  -43   src/gtk3/widgets/_scrollbar.scss
M  +107  -46   src/gtk4/widgets/_scrollbar.scss

https://invent.kde.org/plasma/breeze-gtk/commit/1c4d3d1c564405977ba1c1b14399a829e0363ae4
Comment 14 Al Schaapman 2022-03-22 15:03:06 UTC
Tab widgets seem to have not had their style updated so that their appearance is identical in GTK with the Blue Ocean changes to the QStyle. See bug 451793.