QToolButton: Don't elide text if an icon is present
The previous fix which adds an automatic text elision when the QToolButton is not large enough brought up an inconsistency between QToolButton::sizeHint() and QCommonStyle::drawControl(). Fix it by syncing the magic numbers between QToolButton::sizeHint() and QCommonStyle::drawControl(). Fixes: QTBUG-72226 Change-Id: If4a76792cb97bcdb918e18c6b29cb637730acec0 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
This commit is contained in:
parent
c4ee125891
commit
25231c4048
@ -1654,7 +1654,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt,
|
|||||||
alignment |= Qt::TextHideMnemonic;
|
alignment |= Qt::TextHideMnemonic;
|
||||||
|
|
||||||
if (toolbutton->toolButtonStyle == Qt::ToolButtonTextUnderIcon) {
|
if (toolbutton->toolButtonStyle == Qt::ToolButtonTextUnderIcon) {
|
||||||
pr.setHeight(pmSize.height() + 6);
|
pr.setHeight(pmSize.height() + 4); //### 4 is currently hardcoded in QToolButton::sizeHint()
|
||||||
tr.adjust(0, pr.height() - 1, 0, -1);
|
tr.adjust(0, pr.height() - 1, 0, -1);
|
||||||
pr.translate(shiftX, shiftY);
|
pr.translate(shiftX, shiftY);
|
||||||
if (!hasArrow) {
|
if (!hasArrow) {
|
||||||
@ -1664,7 +1664,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt,
|
|||||||
}
|
}
|
||||||
alignment |= Qt::AlignCenter;
|
alignment |= Qt::AlignCenter;
|
||||||
} else {
|
} else {
|
||||||
pr.setWidth(pmSize.width() + 8);
|
pr.setWidth(pmSize.width() + 4); //### 4 is currently hardcoded in QToolButton::sizeHint()
|
||||||
tr.adjust(pr.width(), 0, 0, 0);
|
tr.adjust(pr.width(), 0, 0, 0);
|
||||||
pr.translate(shiftX, shiftY);
|
pr.translate(shiftX, shiftY);
|
||||||
if (!hasArrow) {
|
if (!hasArrow) {
|
||||||
|
Loading…
Reference in New Issue
Block a user