diff options
Diffstat (limited to 'src/widgets/styles/qcommonstyle.cpp')
-rw-r--r-- | src/widgets/styles/qcommonstyle.cpp | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 559ad913f8..a79c33005c 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -126,6 +126,30 @@ static QWindow *qt_getWindow(const QWidget *widget) return widget ? widget->window()->windowHandle() : nullptr; } +static QIcon tabBarCloseButtonIcon() +{ + QIcon result; + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-16.png")), + QIcon::Normal, QIcon::Off); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-32.png")), + QIcon::Normal, QIcon::Off); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-down-16.png")), + QIcon::Normal, QIcon::On); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-down-32.png")), + QIcon::Normal, QIcon::On); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-hover-16.png")), + QIcon::Active, QIcon::Off); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-hover-32.png")), + QIcon::Active, QIcon::Off); + return result; +} + /*! \class QCommonStyle \brief The QCommonStyle class encapsulates the common Look and Feel of a GUI. @@ -419,17 +443,8 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q } break; case PE_IndicatorTabClose: { - if (d->tabBarcloseButtonIcon.isNull()) { - d->tabBarcloseButtonIcon.addPixmap(QPixmap( - QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-16.png")), - QIcon::Normal, QIcon::Off); - d->tabBarcloseButtonIcon.addPixmap(QPixmap( - QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-down-16.png")), - QIcon::Normal, QIcon::On); - d->tabBarcloseButtonIcon.addPixmap(QPixmap( - QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-hover-16.png")), - QIcon::Active, QIcon::Off); - } + if (d->tabBarcloseButtonIcon.isNull()) + d->tabBarcloseButtonIcon = tabBarCloseButtonIcon(); const int size = proxy()->pixelMetric(QStyle::PM_SmallIconSize, opt); QIcon::Mode mode = opt->state & State_Enabled ? @@ -1693,8 +1708,9 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, alignment |= Qt::TextHideMnemonic; rect.translate(shiftX, shiftY); p->setFont(toolbutton->font); + const QString text = d->toolButtonElideText(toolbutton, rect, alignment); proxy()->drawItemText(p, rect, alignment, toolbutton->palette, - opt->state & State_Enabled, toolbutton->text, + opt->state & State_Enabled, text, QPalette::ButtonText); } else { QPixmap pm; |