Widgets: compile without features tabwidget/tabbar/toolbutton
Move the usage of the corresponding QStyleOption classes into a QT_CONFIG() guard to fix compilation when these options are disabled. Change-Id: I68e791f20bbc8389974878e765b08a97eb347b92 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit 0d4e04416554d9b2f03f325616052be06dd85a44) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
749bb5240a
commit
4630c92cea
@ -759,6 +759,7 @@ void QWindows11Style::drawPrimitive(PrimitiveElement element, const QStyleOption
|
||||
break;
|
||||
}
|
||||
case PE_FrameTabWidget:
|
||||
#if QT_CONFIG(tabwidget)
|
||||
if (const QStyleOptionTabWidgetFrame *frame = qstyleoption_cast<const QStyleOptionTabWidgetFrame *>(option)) {
|
||||
QRectF frameRect = frame->rect.marginsRemoved(QMargins(0,0,0,0));
|
||||
painter->setPen(Qt::NoPen);
|
||||
@ -769,6 +770,7 @@ void QWindows11Style::drawPrimitive(PrimitiveElement element, const QStyleOption
|
||||
painter->setBrush(Qt::NoBrush);
|
||||
painter->drawRoundedRect(frameRect.marginsRemoved(QMarginsF(0.5,0.5,0.5,0.5)), secondLevelRoundingRadius, secondLevelRoundingRadius);
|
||||
}
|
||||
#endif // QT_CONFIG(tabwidget)
|
||||
break;
|
||||
case PE_FrameGroupBox:
|
||||
if (const QStyleOptionFrame *frame = qstyleoption_cast<const QStyleOptionFrame *>(option)) {
|
||||
@ -1158,6 +1160,7 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op
|
||||
}
|
||||
break;
|
||||
case QStyle::CE_TabBarTabShape:
|
||||
#if QT_CONFIG(tabbar)
|
||||
if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(option)) {
|
||||
QRectF tabRect = tab->rect.marginsRemoved(QMargins(2,2,0,0));
|
||||
painter->setPen(Qt::NoPen);
|
||||
@ -1176,8 +1179,10 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op
|
||||
painter->drawRoundedRect(tabRect.adjusted(0.5,0.5,-0.5,-0.5),2,2);
|
||||
|
||||
}
|
||||
#endif // QT_CONFIG(tabbar)
|
||||
break;
|
||||
case CE_ToolButtonLabel:
|
||||
#if QT_CONFIG(toolbutton)
|
||||
if (const QStyleOptionToolButton *toolbutton
|
||||
= qstyleoption_cast<const QStyleOptionToolButton *>(option)) {
|
||||
QRect rect = toolbutton->rect;
|
||||
@ -1261,6 +1266,7 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
break;
|
||||
case QStyle::CE_ShapedFrame:
|
||||
if (const QStyleOptionFrame *f = qstyleoption_cast<const QStyleOptionFrame *>(option)) {
|
||||
|
@ -1732,6 +1732,7 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
|
||||
#endif // QT_CONFIG(dockwidget)
|
||||
|
||||
case PE_FrameTabWidget:
|
||||
#if QT_CONFIG(tabwidget)
|
||||
if (const auto *tab = qstyleoption_cast<const QStyleOptionTabWidgetFrame *>(option)) {
|
||||
themeNumber = QWindowsVistaStylePrivate::TabTheme;
|
||||
partId = TABP_PANE;
|
||||
@ -1789,7 +1790,7 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
#endif // QT_CONFIG(tabwidget)
|
||||
case PE_FrameStatusBarItem:
|
||||
themeNumber = QWindowsVistaStylePrivate::StatusTheme;
|
||||
partId = SP_PANE;
|
||||
@ -2001,6 +2002,7 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
|
||||
}
|
||||
|
||||
case PE_FrameTabBarBase:
|
||||
#if QT_CONFIG(tabbar)
|
||||
if (const auto *tbb = qstyleoption_cast<const QStyleOptionTabBarBase *>(option)) {
|
||||
painter->save();
|
||||
switch (tbb->shape) {
|
||||
@ -2031,6 +2033,7 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
|
||||
}
|
||||
painter->restore();
|
||||
}
|
||||
#endif // QT_CONFIG(tabbar)
|
||||
return;
|
||||
|
||||
case PE_Widget: {
|
||||
@ -2533,11 +2536,14 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
|
||||
return;
|
||||
|
||||
case CE_TabBarTab:
|
||||
#if QT_CONFIG(tabwidget)
|
||||
if (const auto *tab = qstyleoption_cast<const QStyleOptionTab *>(option))
|
||||
stateId = tab->state & State_Enabled ? TIS_NORMAL : TIS_DISABLED;
|
||||
#endif // QT_CONFIG(tabwidget)
|
||||
break;
|
||||
|
||||
case CE_TabBarTabShape:
|
||||
#if QT_CONFIG(tabwidget)
|
||||
if (const auto *tab = qstyleoption_cast<const QStyleOptionTab *>(option)) {
|
||||
themeNumber = QWindowsVistaStylePrivate::TabTheme;
|
||||
const bool isDisabled = !(tab->state & State_Enabled);
|
||||
@ -2639,6 +2645,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // QT_CONFIG(tabwidget)
|
||||
break;
|
||||
|
||||
case CE_ProgressBarGroove: {
|
||||
@ -3015,6 +3022,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
|
||||
}
|
||||
|
||||
case CE_ToolBar:
|
||||
#if QT_CONFIG(toolbar)
|
||||
if (const auto *toolbar = qstyleoption_cast<const QStyleOptionToolBar *>(option)) {
|
||||
QPalette pal = option->palette;
|
||||
pal.setColor(QPalette::Dark, option->palette.window().color().darker(130));
|
||||
@ -3022,6 +3030,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
|
||||
copyOpt.palette = pal;
|
||||
QWindowsStyle::drawControl(element, ©Opt, painter, widget);
|
||||
}
|
||||
#endif // QT_CONFIG(toolbar)
|
||||
return;
|
||||
|
||||
#if QT_CONFIG(dockwidget)
|
||||
@ -4159,6 +4168,7 @@ QRect QWindowsVistaStyle::subElementRect(SubElement element, const QStyleOption
|
||||
|
||||
case SE_TabWidgetTabContents:
|
||||
rect = QWindowsStyle::subElementRect(element, option, widget);
|
||||
#if QT_CONFIG(tabwidget)
|
||||
if (qstyleoption_cast<const QStyleOptionTabWidgetFrame *>(option)) {
|
||||
rect = QWindowsStyle::subElementRect(element, option, widget);
|
||||
if (const QTabWidget *tabWidget = qobject_cast<const QTabWidget *>(widget)) {
|
||||
@ -4167,10 +4177,12 @@ QRect QWindowsVistaStyle::subElementRect(SubElement element, const QStyleOption
|
||||
rect.adjust(0, 0, -2, -2);
|
||||
}
|
||||
}
|
||||
#endif // QT_CONFIG(tabwidget)
|
||||
break;
|
||||
|
||||
case SE_TabWidgetTabBar: {
|
||||
rect = QWindowsStyle::subElementRect(element, option, widget);
|
||||
#if QT_CONFIG(tabwidget)
|
||||
const auto *twfOption = qstyleoption_cast<const QStyleOptionTabWidgetFrame *>(option);
|
||||
if (twfOption && twfOption->direction == Qt::RightToLeft
|
||||
&& (twfOption->shape == QTabBar::RoundedNorth
|
||||
@ -4183,6 +4195,7 @@ QRect QWindowsVistaStyle::subElementRect(SubElement element, const QStyleOption
|
||||
int borderThickness = proxy()->pixelMetric(PM_DefaultFrameWidth, option, widget);
|
||||
rect.adjust(-overlap + borderThickness, 0, -overlap + borderThickness, 0);
|
||||
}
|
||||
#endif // QT_CONFIG(tabwidget)
|
||||
break;
|
||||
}
|
||||
|
||||
@ -4521,6 +4534,7 @@ int QWindowsVistaStyle::pixelMetric(PixelMetric metric, const QStyleOption *opti
|
||||
res = 2;
|
||||
break;
|
||||
|
||||
#if QT_CONFIG(tabbar)
|
||||
case PM_TabBarBaseOverlap:
|
||||
if (const auto *tab = qstyleoption_cast<const QStyleOptionTab *>(option)) {
|
||||
switch (tab->shape) {
|
||||
@ -4541,6 +4555,7 @@ int QWindowsVistaStyle::pixelMetric(PixelMetric metric, const QStyleOption *opti
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif // QT_CONFIG(tabbar)
|
||||
|
||||
case PM_SplitterWidth:
|
||||
res = QStyleHelper::dpiScaled(5., option);
|
||||
@ -4561,10 +4576,12 @@ int QWindowsVistaStyle::pixelMetric(PixelMetric metric, const QStyleOption *opti
|
||||
res = int(QStyleHelper::dpiScaled(4., option));
|
||||
break;
|
||||
|
||||
#if QT_CONFIG(toolbutton)
|
||||
case PM_ButtonShiftHorizontal:
|
||||
case PM_ButtonShiftVertical:
|
||||
res = qstyleoption_cast<const QStyleOptionToolButton *>(option) ? 1 : 0;
|
||||
break;
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
|
||||
default:
|
||||
res = QWindowsStyle::pixelMetric(metric, option, widget);
|
||||
@ -4586,8 +4603,12 @@ void QWindowsVistaStyle::polish(QWidget *widget)
|
||||
#if QT_CONFIG(abstractbutton)
|
||||
|| qobject_cast<QAbstractButton*>(widget)
|
||||
#endif // QT_CONFIG(abstractbutton)
|
||||
#if QT_CONFIG(toolbutton)
|
||||
|| qobject_cast<QToolButton*>(widget)
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
#if QT_CONFIG(tabbar)
|
||||
|| qobject_cast<QTabBar*>(widget)
|
||||
#endif // QT_CONFIG(tabbar)
|
||||
#if QT_CONFIG(combobox)
|
||||
|| qobject_cast<QComboBox*>(widget)
|
||||
#endif // QT_CONFIG(combobox)
|
||||
@ -4695,8 +4716,12 @@ void QWindowsVistaStyle::unpolish(QWidget *widget)
|
||||
#if QT_CONFIG(abstractbutton)
|
||||
|| qobject_cast<QAbstractButton*>(widget)
|
||||
#endif
|
||||
#if QT_CONFIG(toolbutton)
|
||||
|| qobject_cast<QToolButton*>(widget)
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
#if QT_CONFIG(tabbar)
|
||||
|| qobject_cast<QTabBar*>(widget)
|
||||
#endif // QT_CONFIG(tabbar)
|
||||
#if QT_CONFIG(combobox)
|
||||
|| qobject_cast<QComboBox*>(widget)
|
||||
#endif // QT_CONFIG(combobox)
|
||||
|
@ -2285,6 +2285,7 @@ QStyleOptionDockWidget::QStyleOptionDockWidget(int version)
|
||||
The default value is true.
|
||||
*/
|
||||
|
||||
#if QT_CONFIG(toolbutton)
|
||||
/*!
|
||||
\class QStyleOptionToolButton
|
||||
\brief The QStyleOptionToolButton class is used to describe the
|
||||
@ -2445,6 +2446,7 @@ QStyleOptionToolButton::QStyleOptionToolButton(int version)
|
||||
Qt::ToolButtonTextOnly. By default, the application's default font
|
||||
is used.
|
||||
*/
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
|
||||
/*!
|
||||
\class QStyleOptionComboBox
|
||||
|
@ -542,6 +542,7 @@ protected:
|
||||
};
|
||||
#endif // QT_CONFIG(spinbox)
|
||||
|
||||
#if QT_CONFIG(toolbutton)
|
||||
class Q_WIDGETS_EXPORT QStyleOptionToolButton : public QStyleOptionComplex
|
||||
{
|
||||
public:
|
||||
@ -570,6 +571,7 @@ protected:
|
||||
};
|
||||
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionToolButton::ToolButtonFeatures)
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
|
||||
class Q_WIDGETS_EXPORT QStyleOptionComboBox : public QStyleOptionComplex
|
||||
{
|
||||
|
@ -3290,6 +3290,7 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC
|
||||
break;
|
||||
|
||||
case CC_ToolButton:
|
||||
#if QT_CONFIG(toolbutton)
|
||||
if (const QStyleOptionToolButton *tool = qstyleoption_cast<const QStyleOptionToolButton *>(opt)) {
|
||||
QStyleOptionToolButton toolOpt(*tool);
|
||||
rule.configurePalette(&toolOpt.palette, QPalette::ButtonText, QPalette::Button);
|
||||
@ -3440,6 +3441,7 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC
|
||||
}
|
||||
return;
|
||||
}
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
break;
|
||||
|
||||
#if QT_CONFIG(scrollbar)
|
||||
@ -3671,6 +3673,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q
|
||||
|
||||
switch (ce) {
|
||||
case CE_ToolButtonLabel:
|
||||
#if QT_CONFIG(toolbutton)
|
||||
if (const QStyleOptionToolButton *btn = qstyleoption_cast<const QStyleOptionToolButton *>(opt)) {
|
||||
if (rule.hasBox() || btn->features & QStyleOptionToolButton::Arrow) {
|
||||
QWindowsStyle::drawControl(ce, opt, p, w);
|
||||
@ -3681,6 +3684,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q
|
||||
}
|
||||
return;
|
||||
}
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
break;
|
||||
|
||||
case CE_FocusFrame:
|
||||
@ -5979,6 +5983,7 @@ QRect QStyleSheetStyle::subControlRect(ComplexControl cc, const QStyleOptionComp
|
||||
break;
|
||||
|
||||
case CC_ToolButton:
|
||||
#if QT_CONFIG(toolbutton)
|
||||
if (const QStyleOptionToolButton *tb = qstyleoption_cast<const QStyleOptionToolButton *>(opt)) {
|
||||
if (rule.hasBox() || !rule.hasNativeBorder()) {
|
||||
switch (sc) {
|
||||
@ -5996,8 +6001,9 @@ QRect QStyleSheetStyle::subControlRect(ComplexControl cc, const QStyleOptionComp
|
||||
tool.rect = rule.borderRect(opt->rect);
|
||||
return rule.baseStyleCanDraw() ? baseStyle()->subControlRect(cc, &tool, sc, w)
|
||||
: QWindowsStyle::subControlRect(cc, &tool, sc, w);
|
||||
}
|
||||
break;
|
||||
}
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
break;
|
||||
|
||||
#if QT_CONFIG(scrollbar)
|
||||
case CC_ScrollBar:
|
||||
|
@ -2260,8 +2260,10 @@ QSize QWindowsStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
|
||||
break;
|
||||
#endif
|
||||
case CT_ToolButton:
|
||||
#if QT_CONFIG(toolbutton)
|
||||
if (qstyleoption_cast<const QStyleOptionToolButton *>(opt))
|
||||
return sz += QSize(7, 6);
|
||||
#endif // QT_CONFIG(toolbutton)
|
||||
Q_FALLTHROUGH();
|
||||
|
||||
default:
|
||||
|
Loading…
x
Reference in New Issue
Block a user