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.