QMacStyle: Fix push buttons focus ring on Yosemite
authorGabriel de Dietrich <gabriel.dedietrich@digia.com>
Mon, 25 Aug 2014 17:07:11 +0000 (19:07 +0200)
committerGabriel de Dietrich <gabriel.dedietrich@digia.com>
Wed, 27 Aug 2014 10:13:01 +0000 (12:13 +0200)
commite94642a9b0806f2e5dfd9a2f8c76ce5b420c3424
tree6e3ea47c1ceadb3f6b01d7a56848a2a6e008648f
parent63f48d00aaa51bc892d6381b43d57a6bc55afced
QMacStyle: Fix push buttons focus ring on Yosemite

HITheme renders the focus ring in a way that diminishes contrast
on the focused button edges. The same issue seems to affect
combo boxes, check boxes, and radio buttons.

We refactor the code that was used to draw CE_FocusFrame into
qt_drawFocusRingOnPath(). We use it to render our own path for
the push button contour. This should also allow us to implement
the focus ring animation in the future.

As a side note, notice how the square button part (kThemeBevelButton)
is a complete joke. Not only we impose the wrong button kind and
let HITheme do what it can with it, but we also prevent ourselves
from using it by never adding padding for the focus ring.
Hopefully, we can fix this whole button sizing and padding mess
in 5.5 or 6.0, whatever breaks less apps around.

Task-number: QTBUG-40833
Change-Id: Ib9e7829d99b38dc926c55b31c3d6d5d32b691867
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
src/widgets/styles/qmacstyle_mac.mm