QTabWidget: properly horizontally align tab icon

When an icon used for a QTabWidget is smaller than the default size, it
was not properly aligned horizontally although it was done for the
vertical alignment.
Therefore also align it horizontally to be consistent.

Fixes: QTBUG-38108
Change-Id: I0e2e3af7ead699f2834aed1d8b67cbe775c897af
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
bb10
Christian Ehrlicher 2018-12-19 21:25:31 +01:00
parent aece0a1356
commit 844044f37b
1 changed files with 3 additions and 2 deletions

View File

@ -1186,8 +1186,9 @@ void QCommonStylePrivate::tabLayout(const QStyleOptionTab *opt, const QWidget *w
// High-dpi icons do not need adjustment; make sure tabIconSize is not larger than iconSize
tabIconSize = QSize(qMin(tabIconSize.width(), iconSize.width()), qMin(tabIconSize.height(), iconSize.height()));
*iconRect = QRect(tr.left(), tr.center().y() - tabIconSize.height() / 2,
tabIconSize.width(), tabIconSize.height());
const int offsetX = (iconSize.width() - tabIconSize.width()) / 2;
*iconRect = QRect(tr.left() + offsetX, tr.center().y() - tabIconSize.height() / 2,
tabIconSize.width(), tabIconSize.height());
if (!verticalTabs)
*iconRect = proxyStyle->visualRect(opt->direction, opt->rect, *iconRect);
tr.setLeft(tr.left() + tabIconSize.width() + 4);