Fix Fusion style ignoring SH_UnderlineShortcut from proxy style

Fixes: QTBUG-83133
Change-Id: If3fbfae515567d9a0136beb35ca1f9f59460894b
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
This commit is contained in:
Joni Poikelin 2020-03-27 12:34:59 +02:00
parent fd44fb7675
commit 7eb7bb979e

View File

@ -1532,7 +1532,7 @@ void QFusionStyle::drawControl(ControlElement element, const QStyleOption *optio
//draw text
QPalette::ColorRole textRole = dis ? QPalette::Text : QPalette::HighlightedText;
uint alignment = Qt::AlignCenter | Qt::TextShowMnemonic | Qt::TextDontClip | Qt::TextSingleLine;
if (!styleHint(SH_UnderlineShortcut, mbi, widget))
if (!proxy()->styleHint(SH_UnderlineShortcut, mbi, widget))
alignment |= Qt::TextHideMnemonic;
proxy()->drawItemText(painter, item.rect, alignment, mbi->palette, mbi->state & State_Enabled, mbi->text, textRole);
} else {
@ -1702,7 +1702,7 @@ void QFusionStyle::drawControl(ControlElement element, const QStyleOption *optio
p->save();
int t = s.indexOf(QLatin1Char('\t'));
int text_flags = Qt::AlignVCenter | Qt::TextShowMnemonic | Qt::TextDontClip | Qt::TextSingleLine;
if (!styleHint(SH_UnderlineShortcut, menuitem, widget))
if (!proxy()->styleHint(SH_UnderlineShortcut, menuitem, widget))
text_flags |= Qt::TextHideMnemonic;
text_flags |= Qt::AlignLeft;
if (t >= 0) {