tdf#134708 Text coloring of buttons within forms amended
Change-Id: I55f91ff626a55ab588ac49a085070c0d9f919e68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99564
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 84b2849512bdb19597739d9515dd55e2d3ba9504)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101857
Reviewed-by: Thorsten Wagner <thorsten.wagner.4@gmail.com>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index 7e0a1bf..048ff21 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -752,6 +752,13 @@ void PushButton::ImplDrawPushButtonContent(OutputDevice *pDev, DrawFlags nDrawFl
if (nDrawFlags & DrawFlags::Mono)
aColor = COL_BLACK;
// Custom foreground color is reasonable on stock controls only. Stock controls are used if a custom background has been set
// (and thus no native controls are able to be used) or no native controls are available.
else if (IsControlForeground()
&& (IsControlBackground() || !IsNativeControlSupported(ControlType::Pushbutton, ControlPart::Entire)))
aColor = GetControlForeground();
// Button types with possibly different text coloring are flat buttons and regular buttons. Regular buttons may be action
// buttons and may have an additional default status. Moreover all buttons may have an additional pressed and rollover
// (highlight) status. Pressed buttons are always in rollover status.