summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qmacstyle_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/styles/qmacstyle_mac.mm')
-rw-r--r--src/widgets/styles/qmacstyle_mac.mm318
1 files changed, 166 insertions, 152 deletions
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm
index 38f4dc3abc..f1d513bc23 100644
--- a/src/widgets/styles/qmacstyle_mac.mm
+++ b/src/widgets/styles/qmacstyle_mac.mm
@@ -1683,46 +1683,6 @@ QMacStylePrivate::QMacStylePrivate()
}
-bool QMacStylePrivate::animatable(QMacStylePrivate::Animates as, const QObject *obj) const
-{
- if (!obj)
- return false;
-
- if (as == AquaPushButton) {
- QPushButton *pb = const_cast<QPushButton *>(qobject_cast<const QPushButton *>(obj));
- if (pb && pb->window()->isActiveWindow() && !mouseDown) {
- if (pb != defaultButton) {
- // Changed on its own, update the value.
- const_cast<QMacStylePrivate *>(this)->stopAnimate(as, defaultButton);
- const_cast<QMacStylePrivate *>(this)->startAnimate(as, pb);
- }
- return true;
- }
- }
- return animation(obj);
-}
-
-void QMacStylePrivate::stopAnimate(QMacStylePrivate::Animates as, QObject *obj)
-{
- stopAnimation(obj);
- if (as == AquaPushButton && defaultButton) {
- stopAnimation(defaultButton);
- QPushButton *tmp = defaultButton;
- defaultButton = 0;
- tmp->update();
- } else if (as == AquaScrollBar) {
- scrollBarInfos.remove(qobject_cast<QWidget*>(obj));
- }
-}
-
-void QMacStylePrivate::startAnimate(QMacStylePrivate::Animates as, QObject *obj)
-{
- if (!animation(obj))
- startAnimation(new QStyleAnimation(obj));
- if (as == AquaPushButton)
- defaultButton = qobject_cast<QPushButton *>(obj);
-}
-
bool QMacStylePrivate::addWidget(QWidget *w)
{
//already knew of it
@@ -1730,18 +1690,9 @@ bool QMacStylePrivate::addWidget(QWidget *w)
return false;
Q_Q(QMacStyle);
- if (QPushButton *btn = qobject_cast<QPushButton *>(w)) {
- btn->installEventFilter(q);
- if (btn->isDefault() || (btn->autoDefault() && btn->hasFocus()))
- startAnimate(AquaPushButton, btn);
+ if (qobject_cast<QScrollBar *>(w)) {
+ w->installEventFilter(q);
return true;
- } else {
- bool isScrollBar = (qobject_cast<QScrollBar *>(w));
- if (isScrollBar) {
- w->installEventFilter(q);
- startAnimate(AquaScrollBar, w);
- return true;
- }
}
if (w->isWindow()) {
w->installEventFilter(q);
@@ -1750,16 +1701,6 @@ bool QMacStylePrivate::addWidget(QWidget *w)
return false;
}
-void QMacStylePrivate::removeWidget(QWidget *w)
-{
- QPushButton *btn = qobject_cast<QPushButton *>(w);
- if (btn && btn == defaultButton) {
- stopAnimate(AquaPushButton, btn);
- } else if (qobject_cast<QScrollBar *>(w)) {
- stopAnimate(AquaScrollBar, w);
- }
-}
-
ThemeDrawState QMacStylePrivate::getDrawState(QStyle::State flags)
{
ThemeDrawState tds = kThemeStateActive;
@@ -1840,49 +1781,6 @@ bool QMacStyle::eventFilter(QObject *o, QEvent *e)
}
}
#endif
- } else if (QPushButton *btn = qobject_cast<QPushButton *>(o)) {
- switch (e->type()) {
- default:
- break;
- case QEvent::FocusIn:
- if (btn->autoDefault())
- d->startAnimate(QMacStylePrivate::AquaPushButton, btn);
- break;
- case QEvent::Destroy:
- case QEvent::Hide:
- if (btn == d->defaultButton)
- d->stopAnimate(QMacStylePrivate::AquaPushButton, btn);
- break;
- case QEvent::MouseButtonPress:
- // It is very confusing to keep the button pulsing, so just stop the animation.
- if (static_cast<QMouseEvent *>(e)->button() == Qt::LeftButton)
- d->mouseDown = true;
- d->stopAnimate(QMacStylePrivate::AquaPushButton, btn);
- break;
- case QEvent::MouseButtonRelease:
- if (static_cast<QMouseEvent *>(e)->button() == Qt::LeftButton)
- d->mouseDown = false;
- // fall through
- case QEvent::FocusOut:
- case QEvent::Show:
- case QEvent::WindowActivate: {
- QList<QPushButton *> list = btn->window()->findChildren<QPushButton *>();
- for (int i = 0; i < list.size(); ++i) {
- QPushButton *pBtn = list.at(i);
- if ((e->type() == QEvent::FocusOut
- && (pBtn->isDefault() || (pBtn->autoDefault() && pBtn->hasFocus()))
- && pBtn != btn)
- || ((e->type() == QEvent::Show || e->type() == QEvent::MouseButtonRelease
- || e->type() == QEvent::WindowActivate)
- && pBtn->isDefault())) {
- if (pBtn->window()->isActiveWindow()) {
- d->startAnimate(QMacStylePrivate::AquaPushButton, pBtn);
- }
- break;
- }
- }
- break; }
- }
}
return false;
}
@@ -1993,7 +1891,7 @@ void QMacStylePrivate::drawColorlessButton(const HIRect &macRect, HIThemeButtonD
}
QMacStyle::QMacStyle()
- : QWindowsStyle(*new QMacStylePrivate)
+ : QCommonStyle(*new QMacStylePrivate)
{
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
Q_D(QMacStyle);
@@ -2156,7 +2054,7 @@ void QMacStyle::polish(QWidget* w)
}
}
- QWindowsStyle::polish(w);
+ QCommonStyle::polish(w);
if (QRubberBand *rubber = qobject_cast<QRubberBand*>(w)) {
rubber->setWindowOpacity(0.25);
@@ -2173,7 +2071,6 @@ void QMacStyle::polish(QWidget* w)
void QMacStyle::unpolish(QWidget* w)
{
Q_D(QMacStyle);
- d->removeWidget(w);
if ((qobject_cast<QMenu*>(w) || qt_mac_is_metal(w)) && !w->testAttribute(Qt::WA_SetPalette)) {
QPalette pal = qApp->palette(w);
w->setPalette(pal);
@@ -2197,11 +2094,12 @@ void QMacStyle::unpolish(QWidget* w)
if (QFocusFrame *frame = qobject_cast<QFocusFrame *>(w))
frame->setAttribute(Qt::WA_NoSystemBackground, true);
- QWindowsStyle::unpolish(w);
+ QCommonStyle::unpolish(w);
if (qobject_cast<QScrollBar*>(w)) {
w->setAttribute(Qt::WA_OpaquePaintEvent, true);
w->setMouseTracking(false);
+ d->scrollBarInfos.remove(w);
}
}
@@ -2307,6 +2205,47 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
case PM_SliderLength:
ret = 17;
break;
+ // Returns the number of pixels to use for the business part of the
+ // slider (i.e., the non-tickmark portion). The remaining space is shared
+ // equally between the tickmark regions.
+ case PM_SliderControlThickness:
+ if (const QStyleOptionSlider *sl = qstyleoption_cast<const QStyleOptionSlider *>(opt)) {
+ int space = (sl->orientation == Qt::Horizontal) ? sl->rect.height() : sl->rect.width();
+ int ticks = sl->tickPosition;
+ int n = 0;
+ if (ticks & QSlider::TicksAbove)
+ ++n;
+ if (ticks & QSlider::TicksBelow)
+ ++n;
+ if (!n) {
+ ret = space;
+ break;
+ }
+
+ int thick = 6; // Magic constant to get 5 + 16 + 5
+ if (ticks != QSlider::TicksBothSides && ticks != QSlider::NoTicks)
+ thick += proxy()->pixelMetric(PM_SliderLength, sl, widget) / 4;
+
+ space -= thick;
+ if (space > 0)
+ thick += (space * 2) / (n + 2);
+ ret = thick;
+ } else {
+ ret = 0;
+ }
+ break;
+ case PM_SmallIconSize:
+ ret = int(QStyleHelper::dpiScaled(16.));
+ break;
+
+ case PM_LargeIconSize:
+ ret = int(QStyleHelper::dpiScaled(32.));
+ break;
+
+ case PM_IconViewIconSize:
+ ret = proxy()->pixelMetric(PM_LargeIconSize, opt, widget);
+ break;
+
case PM_ButtonDefaultIndicator:
ret = 0;
break;
@@ -2554,7 +2493,7 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
switch (d->aquaSizeConstrain(opt, widget)) {
case QAquaSizeLarge:
case QAquaSizeUnknown:
- ret = QWindowsStyle::pixelMetric(metric, opt, widget);
+ ret = QCommonStyle::pixelMetric(metric, opt, widget);
break;
case QAquaSizeSmall:
ret = 20;
@@ -2585,7 +2524,7 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
#endif
break;
default:
- ret = QWindowsStyle::pixelMetric(metric, opt, widget);
+ ret = QCommonStyle::pixelMetric(metric, opt, widget);
break;
}
return ret;
@@ -2593,7 +2532,7 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
QPalette QMacStyle::standardPalette() const
{
- QPalette pal = QWindowsStyle::standardPalette();
+ QPalette pal = QCommonStyle::standardPalette();
pal.setColor(QPalette::Disabled, QPalette::Dark, QColor(191, 191, 191));
pal.setColor(QPalette::Active, QPalette::Dark, QColor(191, 191, 191));
pal.setColor(QPalette::Inactive, QPalette::Dark, QColor(191, 191, 191));
@@ -2605,6 +2544,22 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
{
SInt32 ret = 0;
switch (sh) {
+ case SH_Slider_SnapToValue:
+ case SH_PrintDialog_RightAlignButtons:
+ case SH_FontDialog_SelectAssociatedText:
+ case SH_MenuBar_MouseTracking:
+ case SH_Menu_MouseTracking:
+ case SH_ComboBox_ListMouseTracking:
+ case SH_MainWindow_SpaceBelowMenuBar:
+ case SH_ItemView_ChangeHighlightOnFocus:
+ ret = 1;
+ break;
+ case SH_ToolBox_SelectedPageTitleBold:
+ ret = 0;
+ break;
+ case SH_DialogButtonBox_ButtonsHaveIcons:
+ ret = 0;
+ break;
case SH_Menu_SelectionWrap:
ret = false;
break;
@@ -2658,7 +2613,7 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
ret = Qt::AlignTop;
break;
case SH_ScrollView_FrameOnlyAroundContents:
- ret = QWindowsStyle::styleHint(sh, opt, w, hret);
+ ret = QCommonStyle::styleHint(sh, opt, w, hret);
break;
case SH_Menu_FillScreenWithScroll:
ret = false;
@@ -2882,7 +2837,7 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
ret = false;
break;
default:
- ret = QWindowsStyle::styleHint(sh, opt, w, hret);
+ ret = QCommonStyle::styleHint(sh, opt, w, hret);
break;
}
return ret;
@@ -2909,7 +2864,7 @@ QPixmap QMacStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixm
default:
;
}
- return QWindowsStyle::generatedIconPixmap(iconMode, pixmap, opt);
+ return QCommonStyle::generatedIconPixmap(iconMode, pixmap, opt);
}
@@ -2924,7 +2879,7 @@ QPixmap QMacStyle::standardPixmap(StandardPixmap standardPixmap, const QStyleOpt
static bool recursionGuard = false;
if (recursionGuard)
- return QWindowsStyle::standardPixmap(standardPixmap, opt, widget);
+ return QCommonStyle::standardPixmap(standardPixmap, opt, widget);
recursionGuard = true;
QIcon icon = standardIcon(standardPixmap, opt, widget);
@@ -3066,7 +3021,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
if (const QStyleOptionFrame *groupBox = qstyleoption_cast<const QStyleOptionFrame *>(opt)) {
const QStyleOptionFrameV2 *frame2 = qstyleoption_cast<const QStyleOptionFrameV2 *>(opt);
if (frame2 && frame2->features & QStyleOptionFrameV2::Flat) {
- QWindowsStyle::drawPrimitive(pe, groupBox, p, w);
+ QCommonStyle::drawPrimitive(pe, groupBox, p, w);
} else {
HIThemeGroupBoxDrawInfo gdi;
gdi.version = qt_mac_hitheme_version;
@@ -3300,12 +3255,12 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
HIThemeDrawFrame(&hirect, &fdi, cg, kHIThemeOrientationNormal);
} else {
- QWindowsStyle::drawPrimitive(pe, opt, p, w);
+ QCommonStyle::drawPrimitive(pe, opt, p, w);
}
}
break;
case PE_PanelLineEdit:
- QWindowsStyle::drawPrimitive(pe, opt, p, w);
+ QCommonStyle::drawPrimitive(pe, opt, p, w);
// Draw the focus frame for widgets other than QLineEdit (e.g. for line edits in Webkit).
// Focus frame is drawn outside the rectangle passed in the option-rect.
if (const QStyleOptionFrame *panel = qstyleoption_cast<const QStyleOptionFrame *>(opt)) {
@@ -3350,14 +3305,14 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
} break;
case PE_PanelStatusBar: {
if (QSysInfo::MacintoshVersion <= QSysInfo::MV_10_4) {
- QWindowsStyle::drawPrimitive(pe, opt, p, w);
+ QCommonStyle::drawPrimitive(pe, opt, p, w);
break;
}
// Use the Leopard style only if the status bar is the status bar for a
// QMainWindow with a unifed toolbar.
if (w == 0 || w->parent() == 0 || qobject_cast<QMainWindow *>(w->parent()) == 0 ||
qobject_cast<QMainWindow *>(w->parent())->unifiedTitleAndToolBarOnMac() == false ) {
- QWindowsStyle::drawPrimitive(pe, opt, p, w);
+ QCommonStyle::drawPrimitive(pe, opt, p, w);
break;
}
@@ -3383,7 +3338,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
}
default:
- QWindowsStyle::drawPrimitive(pe, opt, p, w);
+ QCommonStyle::drawPrimitive(pe, opt, p, w);
break;
}
}
@@ -3614,10 +3569,10 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
}
}
} else {
- QWindowsStyle::drawControl(ce, &myTb, p, w);
+ QCommonStyle::drawControl(ce, &myTb, p, w);
}
} else {
- QWindowsStyle::drawControl(ce, &myTb, p, w);
+ QCommonStyle::drawControl(ce, &myTb, p, w);
}
}
break;
@@ -3630,17 +3585,68 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
break;
if (btn->features & QStyleOptionButton::CommandLinkButton) {
- QWindowsStyle::drawControl(ce, opt, p, w);
+ QCommonStyle::drawControl(ce, opt, p, w);
break;
}
+ // a focused auto-default button within an active window
+ // takes precedence over a normal default button
+ if (btn->features & QStyleOptionButton::AutoDefaultButton
+ && opt->state & State_Active && opt->state & State_HasFocus) {
+ d->autoDefaultButton = opt->styleObject;
+ if (!d->animation(opt->styleObject))
+ d->startAnimation(new QStyleAnimation(opt->styleObject));
+ } else if (d->autoDefaultButton == opt->styleObject) {
+ if (QStyleAnimation *animation = d->animation(opt->styleObject)) {
+ animation->updateTarget();
+ d->stopAnimation(opt->styleObject);
+ }
+ d->autoDefaultButton = 0;
+ }
+
+ if (!d->autoDefaultButton) {
+ if (btn->features & QStyleOptionButton::DefaultButton && opt->state & State_Active) {
+ d->defaultButton = opt->styleObject;
+ if (!d->animation(opt->styleObject))
+ d->startAnimation(new QStyleAnimation(opt->styleObject));
+ } else if (d->defaultButton == opt->styleObject) {
+ if (QStyleAnimation *animation = d->animation(opt->styleObject)) {
+ animation->updateTarget();
+ d->stopAnimation(opt->styleObject);
+ }
+ d->defaultButton = 0;
+ }
+ }
+
+ // TODO: find out the pressed button in a qwidget independent way
+ extern QWidget *qt_button_down; // qwidgetwindow.cpp
+ if (opt->styleObject == qt_button_down)
+ d->pressedButton = opt->styleObject;
+ else if (d->pressedButton == opt->styleObject)
+ d->pressedButton = 0;
+
+ // the default button animation is paused meanwhile any button
+ // is pressed or an auto-default button is animated instead
+ if (QStyleAnimation *defaultAnimation = d->animation(d->defaultButton)) {
+ if (d->pressedButton || d->autoDefaultButton) {
+ if (defaultAnimation->state() == QStyleAnimation::Running) {
+ defaultAnimation->pause();
+ defaultAnimation->updateTarget();
+ }
+ } else if (defaultAnimation->state() == QStyleAnimation::Paused) {
+ defaultAnimation->resume();
+ }
+ }
+
HIThemeButtonDrawInfo bdi;
d->initHIThemePushButton(btn, w, tds, &bdi);
- if (btn->features & QStyleOptionButton::DefaultButton
- && d->animatable(QMacStylePrivate::AquaPushButton, w)) {
- bdi.adornment |= kThemeAdornmentDefault;
- bdi.animation.time.start = d->defaultButtonStart;
- bdi.animation.time.current = CFAbsoluteTimeGetCurrent();
+ if (!d->pressedButton) {
+ QStyleAnimation* animation = d->animation(opt->styleObject);
+ if (animation && animation->state() == QStyleAnimation::Running) {
+ bdi.adornment |= kThemeAdornmentDefault;
+ bdi.animation.time.start = d->defaultButtonStart;
+ bdi.animation.time.current = CFAbsoluteTimeGetCurrent();
+ }
}
// Unlike Carbon, we want the button to always be drawn inside its bounds.
// Therefore, make the button a bit smaller, so that even if it got focus,
@@ -3707,7 +3713,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
}
}
if (themeId == kThemePushButtonFont) {
- QWindowsStyle::drawControl(ce, btn, p, w);
+ QCommonStyle::drawControl(ce, btn, p, w);
} else {
p->save();
CGContextSetShouldAntialias(cg, true);
@@ -3735,7 +3741,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
}
} else {
if (hasIcon && !hasText) {
- QWindowsStyle::drawControl(ce, btn, p, w);
+ QCommonStyle::drawControl(ce, btn, p, w);
} else {
QRect freeContentRect = btn->rect;
QRect textRect = itemTextRect(
@@ -3779,7 +3785,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
if (const QStyleOptionComboBox *cb = qstyleoption_cast<const QStyleOptionComboBox *>(opt)) {
QStyleOptionComboBox comboCopy = *cb;
comboCopy.direction = Qt::LeftToRight;
- QWindowsStyle::drawControl(CE_ComboBoxLabel, &comboCopy, p, w);
+ QCommonStyle::drawControl(CE_ComboBoxLabel, &comboCopy, p, w);
}
break;
case CE_TabBarTabShape:
@@ -4507,7 +4513,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
} break;
default:
- QWindowsStyle::drawControl(ce, opt, p, w);
+ QCommonStyle::drawControl(ce, opt, p, w);
break;
}
}
@@ -4554,7 +4560,7 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt,
break;
case SE_HeaderLabel:
if (qstyleoption_cast<const QStyleOptionHeader *>(opt)) {
- rect = QWindowsStyle::subElementRect(sr, opt, widget);
+ rect = QCommonStyle::subElementRect(sr, opt, widget);
if (widget && widget->height() <= 22){
// We need to allow the text a bit more space when the header is
// small, otherwise it gets clipped:
@@ -4630,7 +4636,7 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt,
}
break;
case SE_TabWidgetTabContents:
- rect = QWindowsStyle::subElementRect(sr, opt, widget);
+ rect = QCommonStyle::subElementRect(sr, opt, widget);
if (const QStyleOptionTabWidgetFrame *twf
= qstyleoption_cast<const QStyleOptionTabWidgetFrame *>(opt)) {
if (twf->lineWidth != 0) {
@@ -4651,7 +4657,7 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt,
}
break;
case SE_LineEditContents:
- rect = QWindowsStyle::subElementRect(sr, opt, widget);
+ rect = QCommonStyle::subElementRect(sr, opt, widget);
if(widget->parentWidget() && qobject_cast<const QComboBox*>(widget->parentWidget()))
rect.adjust(-1, -2, 0, 0);
else
@@ -4906,7 +4912,7 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt,
}
#endif
default:
- rect = QWindowsStyle::subElementRect(sr, opt, widget);
+ rect = QCommonStyle::subElementRect(sr, opt, widget);
break;
}
return rect;
@@ -5106,6 +5112,14 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
QMacStylePrivate::ScrollBarFadeOutDuration);
info.cleared = opacity <= 0.0;
+ if (info.animating && info.cleared) {
+ d->stopAnimation(slider->styleObject);
+ info.animating = false;
+ } else if (!info.animating && !info.cleared) {
+ d->startAnimation(new QStyleAnimation(slider->styleObject));
+ info.animating = true;
+ }
+
CGContextBeginTransparencyLayerWithRect(cg, qt_hirectForQRect(slider->rect), NULL);
CGContextSetAlpha(cg, opacity);
@@ -5390,7 +5404,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
groupBox.subControls = groupBox.subControls & ~SC_GroupBoxLabel;
didModifySubControls = true;
}
- QWindowsStyle::drawComplexControl(cc, &groupBox, p, widget);
+ QCommonStyle::drawComplexControl(cc, &groupBox, p, widget);
if (didModifySubControls) {
p->save();
CGContextSetShouldAntialias(cg, true);
@@ -5543,7 +5557,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
QStyleHelper::drawDial(dial, p);
break;
default:
- QWindowsStyle::drawComplexControl(cc, opt, p, widget);
+ QCommonStyle::drawComplexControl(cc, opt, p, widget);
break;
}
}
@@ -5557,7 +5571,7 @@ QStyle::SubControl QMacStyle::hitTestComplexControl(ComplexControl cc,
switch (cc) {
case CC_ComboBox:
if (const QStyleOptionComboBox *cmb = qstyleoption_cast<const QStyleOptionComboBox *>(opt)) {
- sc = QWindowsStyle::hitTestComplexControl(cc, cmb, pt, widget);
+ sc = QCommonStyle::hitTestComplexControl(cc, cmb, pt, widget);
if (!cmb->editable && sc != QStyle::SC_None)
sc = SC_ComboBoxArrow; // A bit of a lie, but what we want
}
@@ -5673,7 +5687,7 @@ QStyle::SubControl QMacStyle::hitTestComplexControl(ComplexControl cc,
break;
*/
default:
- sc = QWindowsStyle::hitTestComplexControl(cc, opt, pt, widget);
+ sc = QCommonStyle::hitTestComplexControl(cc, opt, pt, widget);
break;
}
return sc;
@@ -5895,7 +5909,7 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op
case SC_GroupBoxContents:
case SC_GroupBoxFrame: {
if (flat) {
- ret = QWindowsStyle::subControlRect(cc, groupBox, sc, widget);
+ ret = QCommonStyle::subControlRect(cc, groupBox, sc, widget);
break;
}
QFontMetrics fm = groupBox->fontMetrics;
@@ -5916,7 +5930,7 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op
}
break;
default:
- ret = QWindowsStyle::subControlRect(cc, groupBox, sc, widget);
+ ret = QCommonStyle::subControlRect(cc, groupBox, sc, widget);
break;
}
}
@@ -6009,19 +6023,19 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op
ret = visualRect(spin->direction, spin->rect, ret);
break;
default:
- ret = QWindowsStyle::subControlRect(cc, spin, sc, widget);
+ ret = QCommonStyle::subControlRect(cc, spin, sc, widget);
break;
}
}
break;
case CC_ToolButton:
- ret = QWindowsStyle::subControlRect(cc, opt, sc, widget);
+ ret = QCommonStyle::subControlRect(cc, opt, sc, widget);
if (sc == SC_ToolButtonMenu && widget && !qobject_cast<QToolBar*>(widget->parentWidget())) {
ret.adjust(-1, 0, 0, 0);
}
break;
default:
- ret = QWindowsStyle::subControlRect(cc, opt, sc, widget);
+ ret = QCommonStyle::subControlRect(cc, opt, sc, widget);
break;
}
return ret;
@@ -6042,7 +6056,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
case QStyle::CT_TabWidget:
// the size between the pane and the "contentsRect" (+4,+4)
// (the "contentsRect" is on the inside of the pane)
- sz = QWindowsStyle::sizeFromContents(ct, opt, csz, widget);
+ sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget);
/**
This is supposed to show the relationship between the tabBar and
the stack widget of a QTabWidget.
@@ -6240,7 +6254,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
break; }
case CT_HeaderSection:{
const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(opt);
- sz = QWindowsStyle::sizeFromContents(ct, opt, csz, widget);
+ sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget);
if (header->text.contains(QLatin1Char('\n')))
useAquaGuideline = false;
break; }
@@ -6262,7 +6276,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
break;
default:
- sz = QWindowsStyle::sizeFromContents(ct, opt, csz, widget);
+ sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget);
}
if (useAquaGuideline){
@@ -6304,7 +6318,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
case CT_PushButton:
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(opt)) {
if (btn->features & QStyleOptionButton::CommandLinkButton) {
- return QWindowsStyle::sizeFromContents(ct, opt, sz, widget);
+ return QCommonStyle::sizeFromContents(ct, opt, sz, widget);
}
}
@@ -6359,7 +6373,7 @@ void QMacStyle::drawItemText(QPainter *p, const QRect &r, int flags, const QPale
{
if(flags & Qt::TextShowMnemonic)
flags |= Qt::TextHideMnemonic;
- QWindowsStyle::drawItemText(p, r, flags, pal, enabled, text, textRole);
+ QCommonStyle::drawItemText(p, r, flags, pal, enabled, text, textRole);
}
bool QMacStyle::event(QEvent *e)
@@ -6416,7 +6430,7 @@ QIcon QMacStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption *o
{
switch (standardIcon) {
default:
- return QWindowsStyle::standardIcon(standardIcon, opt, widget);
+ return QCommonStyle::standardIcon(standardIcon, opt, widget);
case SP_ToolBarHorizontalExtensionButton:
case SP_ToolBarVerticalExtensionButton: {
QPixmap pixmap(qt_mac_toolbar_ext);