This implements as described at https://phabricator.kde.org/T12793 and https://forum.kde.org/viewtopic.php?f=285&t=138602&p=370822 Namely, the changes allow you to have different sets of icon styles for the titlebar buttons, while still keeping the overall Breeze style. The motivation to add it was mainly to add the KDE1-inspired 'Classic' style of buttons, while also preserving the original Breeze 'Oxygen' button style for those who prefer it. A 'Redmond' button style is also added. 'Oxygen' remains the default style (though I would prefer 'Classic' as default, but did not want to change defaults without discussion).
Breeze window decoration configuration before patch:
After patch. Configuring the titlebar button icon style: ('Classic' has now been manually selected and 'Draw circle around close button' manually unticked)
The 'Classic' button icon style in more detail (note it also affects MDI icons within applications):
Modifications have been made to both kdecoration and kstyle so that window decorations for both normal windows and MDI applications will be affected, with new designs placed in libbreezecommon as are shared between both. A configuration in the Breeze window decoration settings will affect both kdecoration and kstyle so .kcfg files in each have been updated. 'Oxygen' remains the default style as at present.
A small bug is also fixed in kdecoration/config/breezeconfigwidget.cpp whereby the "Draw a circle around close button" setting does not reset to Defaults properly.