Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/gui/styles/qmotifstyle.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the QtGui module of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    299299    QCommonStyle::unpolish(widget);
    300300#ifndef QT_NO_PROGRESSBAR
    301     if (qobject_cast<QProgressBar *>(widget))
     301    if (qobject_cast<QProgressBar *>(widget)) {
     302        Q_D(QMotifStyle);
    302303        widget->removeEventFilter(this);
     304        d->bars.removeAll(static_cast<QProgressBar*>(widget));
     305     }
    303306#endif
    304307}
     
    384387    case PE_FrameTabWidget:
    385388    case PE_FrameWindow:
    386         qDrawShadePanel(p, opt->rect, opt->palette, QStyle::State_None, pixelMetric(PM_DefaultFrameWidth));
     389        qDrawShadePanel(p, opt->rect, opt->palette, QStyle::State_None, proxy()->pixelMetric(PM_DefaultFrameWidth));
    387390        break;
    388391    case PE_FrameFocusRect:
     
    473476         if ((opt->state & State_Enabled || opt->state & State_On) || !(opt->state & State_AutoRaise))
    474477             qDrawShadePanel(p, opt->rect, opt->palette, bool(opt->state & (State_Sunken | State_On)),
    475                              pixelMetric(PM_DefaultFrameWidth), &fill);
     478                             proxy()->pixelMetric(PM_DefaultFrameWidth), &fill);
    476479        break; }
    477480
     
    488491        } else {
    489492            qDrawShadePanel(p, opt->rect, opt->palette, !showUp,
    490                             pixelMetric(PM_DefaultFrameWidth), &fill);
    491         }
    492         if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText))
     493                            proxy()->pixelMetric(PM_DefaultFrameWidth), &fill);
     494        }
     495        if (!(opt->state & State_Enabled) && proxy()->styleHint(SH_DitherDisabledText))
    493496            p->fillRect(opt->rect, QBrush(p->background().color(), Qt::Dense5Pattern));
    494497        break; }
     
    543546        a.translate(opt->rect.x(), opt->rect.y());
    544547        p->drawPolyline(a);
    545         if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText))
     548        if (!(opt->state & State_Enabled) && proxy()->styleHint(SH_DitherDisabledText))
    546549            p->fillRect(opt->rect, QBrush(p->background().color(), Qt::Dense5Pattern));
    547550        p->setPen(oldPen);
     
    734737#undef CTOP
    735738#undef CBOT
    736         if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText))
     739        if (!(opt->state & State_Enabled) && proxy()->styleHint(SH_DitherDisabledText))
    737740            p->fillRect(opt->rect, QBrush(p->background().color(), Qt::Dense5Pattern));
    738741        break; }
     
    740743    case PE_IndicatorDockWidgetResizeHandle: {
    741744        const int motifOffset = 10;
    742         int sw = pixelMetric(PM_SplitterWidth);
     745        int sw = proxy()->pixelMetric(PM_SplitterWidth);
    743746        if (opt->state & State_Horizontal) {
    744747            int yPos = opt->rect.y() + opt->rect.height() / 2;
     
    767770        int posX = opt->rect.x() + (opt->rect.width()  - markW) / 2 - 1;
    768771        int posY = opt->rect.y() + (opt->rect.height() - markH) / 2;
    769         int dfw = pixelMetric(PM_DefaultFrameWidth);
     772        int dfw = proxy()->pixelMetric(PM_DefaultFrameWidth);
    770773
    771774        if (dfw < 2) {
     
    841844        else
    842845            handleOpt.state |= State_Horizontal;
    843         drawPrimitive(PE_IndicatorDockWidgetResizeHandle, &handleOpt, p, widget);
     846        proxy()->drawPrimitive(PE_IndicatorDockWidgetResizeHandle, &handleOpt, p, widget);
    844847        break; }
    845848
     
    853856        QStyleOption arrowOpt = *opt;
    854857        arrowOpt.state |= State_Enabled;
    855         drawPrimitive(pe, &arrowOpt, p, widget);
    856         if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText)) {
    857             int fw = pixelMetric(PM_DefaultFrameWidth);
     858        proxy()->drawPrimitive(pe, &arrowOpt, p, widget);
     859        if (!(opt->state & State_Enabled) && proxy()->styleHint(SH_DitherDisabledText)) {
     860            int fw = proxy()->pixelMetric(PM_DefaultFrameWidth);
    858861            p->fillRect(opt->rect.adjusted(fw, fw, -fw, -fw), QBrush(p->background().color(), Qt::Dense5Pattern));
    859862        }
     
    871874        p->save();
    872875        p->setBrushOrigin(bevelOpt.rect.topLeft());
    873         drawPrimitive(PE_PanelButtonBevel, &bevelOpt, p, widget);
     876        proxy()->drawPrimitive(PE_PanelButtonBevel, &bevelOpt, p, widget);
    874877        p->restore();
    875         if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText))
     878        if (!(opt->state & State_Enabled) && proxy()->styleHint(SH_DitherDisabledText))
    876879            p->fillRect(opt->rect, QBrush(p->background().color(), Qt::Dense5Pattern));
    877880        break; }
     
    884887            subopt.rect = subElementRect(isRadio ? SE_RadioButtonIndicator
    885888                                         : SE_CheckBoxIndicator, btn, widget);
    886             drawPrimitive(isRadio ? PE_IndicatorRadioButton : PE_IndicatorCheckBox,
     889            proxy()->drawPrimitive(isRadio ? PE_IndicatorRadioButton : PE_IndicatorCheckBox,
    887890                          &subopt, p, widget);
    888891            subopt.rect = subElementRect(isRadio ? SE_RadioButtonContents
    889892                                         : SE_CheckBoxContents, btn, widget);
    890             drawControl(isRadio ? CE_RadioButtonLabel : CE_CheckBoxLabel, &subopt, p, widget);
     893            proxy()->drawControl(isRadio ? CE_RadioButtonLabel : CE_CheckBoxLabel, &subopt, p, widget);
    891894            if ((btn->state & State_HasFocus) && (!focus || !focus->isVisible())) {
    892895                QStyleOptionFocusRect fropt;
     
    894897                fropt.rect = subElementRect(isRadio ? SE_RadioButtonFocusRect
    895898                                            : SE_CheckBoxFocusRect, btn, widget);
    896                 drawPrimitive(PE_FrameFocusRect, &fropt, p, widget);
     899                proxy()->drawPrimitive(PE_FrameFocusRect, &fropt, p, widget);
    897900            }
    898901        }
     
    900903    case CE_PushButton:
    901904        if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(opt)) {
    902             drawControl(CE_PushButtonBevel, btn, p, widget);
     905            proxy()->drawControl(CE_PushButtonBevel, btn, p, widget);
    903906            QStyleOptionButton subopt = *btn;
    904907            subopt.rect = subElementRect(SE_PushButtonContents, btn, widget);
    905             drawControl(CE_PushButtonLabel, &subopt, p, widget);
     908            proxy()->drawControl(CE_PushButtonLabel, &subopt, p, widget);
    906909            if ((btn->state & State_HasFocus) && (!focus || !focus->isVisible())) {
    907910                QStyleOptionFocusRect fropt;
    908911                fropt.QStyleOption::operator=(*btn);
    909912                fropt.rect = subElementRect(SE_PushButtonFocusRect, btn, widget);
    910                 drawPrimitive(PE_FrameFocusRect, &fropt, p, widget);
     913                proxy()->drawPrimitive(PE_FrameFocusRect, &fropt, p, widget);
    911914            }
    912915        }
     
    917920            p->setPen(opt->palette.foreground().color());
    918921            p->setBrush(QBrush(opt->palette.button().color(), Qt::NoBrush));
    919             diw = pixelMetric(PM_ButtonDefaultIndicator);
     922            diw = proxy()->pixelMetric(PM_ButtonDefaultIndicator);
    920923            opt->rect.getCoords(&x1, &y1, &x2, &y2);
    921924            if (btn->features & (QStyleOptionButton::AutoDefaultButton|QStyleOptionButton::DefaultButton)) {
     
    946949                newOpt.rect = QRect(x1, y1, x2 - x1 + 1, y2 - y1 + 1);
    947950                p->setBrushOrigin(p->brushOrigin());
    948                 drawPrimitive(PE_PanelButtonCommand, &newOpt, p, widget);
     951                proxy()->drawPrimitive(PE_PanelButtonCommand, &newOpt, p, widget);
    949952            }
    950953            if (btn->features & QStyleOptionButton::HasMenu) {
    951                 int mbi = pixelMetric(PM_MenuButtonIndicator, btn, widget);
     954                int mbi = proxy()->pixelMetric(PM_MenuButtonIndicator, btn, widget);
    952955                QRect ir = btn->rect;
    953956                QStyleOptionButton newBtn = *btn;
    954957                newBtn.rect = QRect(ir.right() - mbi - 3, ir.y() + 4,  mbi, ir.height() - 8);
    955                 drawPrimitive(PE_IndicatorArrowDown, &newBtn, p, widget);
     958                proxy()->drawPrimitive(PE_IndicatorArrowDown, &newBtn, p, widget);
    956959            }
    957960            break;
     
    961964    case CE_TabBarTabShape:
    962965        if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(opt)) {
    963             const int default_frame = pixelMetric(PM_DefaultFrameWidth, tab, widget);
     966            const int default_frame = proxy()->pixelMetric(PM_DefaultFrameWidth, tab, widget);
    964967            const int frame_offset =  (default_frame > 1) ? 1 : 0;
    965968
     
    10791082                p->setTransform(m, true);
    10801083            }
    1081             const int unit_width = pixelMetric(PM_ProgressBarChunkWidth, opt, widget);
     1084            const int unit_width = proxy()->pixelMetric(PM_ProgressBarChunkWidth, opt, widget);
    10821085            int u = rect.width() / unit_width;
    10831086            int p_v = pb->progress - pb->minimum;
     
    11481151                    p->setFont(menuitem->font);
    11491152                    p->fillRect(x, y, w, h, opt->palette.brush(QPalette::Button));
    1150                     drawItemText(p, menuitem->rect.adjusted(10, 0, -5, 0), Qt::AlignLeft | Qt::AlignVCenter,
     1153                    proxy()->drawItemText(p, menuitem->rect.adjusted(10, 0, -5, 0), Qt::AlignLeft | Qt::AlignVCenter,
    11511154                                 menuitem->palette, menuitem->state & State_Enabled, menuitem->text,
    11521155                                 QPalette::Text);
    11531156                    textWidth = menuitem->fontMetrics.width(menuitem->text) + 10;
    1154                     y += menuitem->fontMetrics.lineSpacing() / 2;
     1157                    y += menuitem->fontMetrics.height() / 2;
    11551158                    p->setFont(oldFont);
    11561159                }
     
    12181221                if (menuitem->checkType & QStyleOptionMenuItem::Exclusive) {
    12191222                    newMenuItem.rect.setRect(xvis + 2, y + motifItemFrame + mh / 4, 11, 11);
    1220                     drawPrimitive(PE_IndicatorRadioButton, &newMenuItem, p, widget);
     1223                    proxy()->drawPrimitive(PE_IndicatorRadioButton, &newMenuItem, p, widget);
    12211224                } else {
    12221225                    newMenuItem.rect.setRect(xvis + 5, y + motifItemFrame + mh / 4, 9, 9);
    1223                     drawPrimitive(PE_IndicatorCheckBox, &newMenuItem, p, widget);
     1226                    proxy()->drawPrimitive(PE_IndicatorCheckBox, &newMenuItem, p, widget);
    12241227                }
    12251228            }
     
    12561259                    QRect tr(xv, y+m, menuitem->tabWidth, h-2*m);
    12571260                    p->drawText(tr, text_flags, s.mid(t+1));
    1258                     if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText))
     1261                    if (!(opt->state & State_Enabled) && proxy()->styleHint(SH_DitherDisabledText))
    12591262                        p->fillRect(tr, QBrush(p->background().color(), Qt::Dense5Pattern));
    12601263                    s = s.left(t);
     
    12631266                p->drawText(tr, text_flags, s.left(t));
    12641267                p->setFont(oldFont);
    1265                 if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText))
     1268                if (!(opt->state & State_Enabled) && proxy()->styleHint(SH_DitherDisabledText))
    12661269                    p->fillRect(tr, QBrush(p->background().color(), Qt::Dense5Pattern));
    12671270            }
     
    12771280                else
    12781281                    arrowOpt.state = ((opt->state & State_Enabled) ? State_Enabled : State_None);
    1279                 drawPrimitive(arrow, &arrowOpt, p, widget);
     1282                proxy()->drawPrimitive(arrow, &arrowOpt, p, widget);
    12801283            }
    12811284            break; }
     
    12941297        p->setBrushOrigin(opt->rect.topLeft());
    12951298        qDrawShadePanel(p, opt->rect, opt->palette, bool(opt->state & (State_Sunken|State_On)),
    1296                         pixelMetric(PM_DefaultFrameWidth),
     1299                        proxy()->pixelMetric(PM_DefaultFrameWidth),
    12971300                        &opt->palette.brush((opt->state & State_Sunken) ? QPalette::Mid : QPalette::Button));
    12981301        p->restore();
     
    14291432            = qstyleoption_cast<const QStyleOptionToolButton *>(opt)) {
    14301433            QRect button, menuarea;
    1431             button = subControlRect(cc, toolbutton, SC_ToolButton, widget);
    1432             menuarea = subControlRect(cc, toolbutton, SC_ToolButtonMenu, widget);
     1434            button = proxy()->subControlRect(cc, toolbutton, SC_ToolButton, widget);
     1435            menuarea = proxy()->subControlRect(cc, toolbutton, SC_ToolButtonMenu, widget);
    14331436
    14341437            State bflags = toolbutton->state & ~State_Sunken;
     
    14511454                    tool.rect = button;
    14521455                    tool.state = bflags;
    1453                     drawPrimitive(PE_PanelButtonTool, &tool, p, widget);
     1456                    proxy()->drawPrimitive(PE_PanelButtonTool, &tool, p, widget);
    14541457                }
    14551458            }
     
    14591462                fr.QStyleOption::operator=(*toolbutton);
    14601463                fr.rect = toolbutton->rect.adjusted(3, 3, -3, -3);
    1461                 drawPrimitive(PE_FrameFocusRect, &fr, p, widget);
     1464                proxy()->drawPrimitive(PE_FrameFocusRect, &fr, p, widget);
    14621465            }
    14631466            QStyleOptionToolButton label = *toolbutton;
    14641467            label.state = bflags;
    1465             int fw = pixelMetric(PM_DefaultFrameWidth, opt, widget);
     1468            int fw = proxy()->pixelMetric(PM_DefaultFrameWidth, opt, widget);
    14661469            label.rect = button.adjusted(fw, fw, -fw, -fw);
    1467             drawControl(CE_ToolButtonLabel, &label, p, widget);
     1470            proxy()->drawControl(CE_ToolButtonLabel, &label, p, widget);
    14681471
    14691472            if (toolbutton->subControls & SC_ToolButtonMenu) {
     
    14711474                tool.state = mflags;
    14721475                if (mflags & (State_Sunken | State_On | State_Raised))
    1473                     drawPrimitive(PE_IndicatorButtonDropDown, &tool, p, widget);
    1474                 drawPrimitive(PE_IndicatorArrowDown, &tool, p, widget);
     1476                    proxy()->drawPrimitive(PE_IndicatorButtonDropDown, &tool, p, widget);
     1477                proxy()->drawPrimitive(PE_IndicatorArrowDown, &tool, p, widget);
    14751478            } else if (toolbutton->features & QStyleOptionToolButton::HasMenu) {
    1476                 int mbi = pixelMetric(PM_MenuButtonIndicator, toolbutton, widget);
     1479                int mbi = proxy()->pixelMetric(PM_MenuButtonIndicator, toolbutton, widget);
    14771480                QRect ir = toolbutton->rect;
    14781481                QStyleOptionToolButton newBtn = *toolbutton;
    14791482                newBtn.rect = QRect(ir.right() + 5 - mbi, ir.height() - mbi + 4, mbi - 6, mbi - 6);
    1480                 drawPrimitive(PE_IndicatorArrowDown, &newBtn, p, widget);
     1483                proxy()->drawPrimitive(PE_IndicatorArrowDown, &newBtn, p, widget);
    14811484            }
    14821485        }
     
    14891492
    14901493            if (spinbox->frame && (spinbox->subControls & SC_SpinBoxFrame)) {
    1491                 QRect r = subControlRect(CC_SpinBox, spinbox, SC_SpinBoxFrame, widget);
    1492                 qDrawShadePanel(p, r, opt->palette, false, pixelMetric(PM_SpinBoxFrameWidth));
    1493 
    1494                 int fw = pixelMetric(QStyle::PM_DefaultFrameWidth);
    1495                 r = subControlRect(CC_SpinBox, spinbox, SC_SpinBoxEditField, widget).adjusted(-fw,-fw,fw,fw);
     1494                QRect r = proxy()->subControlRect(CC_SpinBox, spinbox, SC_SpinBoxFrame, widget);
     1495                qDrawShadePanel(p, r, opt->palette, false, proxy()->pixelMetric(PM_SpinBoxFrameWidth));
     1496
     1497                int fw = proxy()->pixelMetric(QStyle::PM_DefaultFrameWidth);
     1498                r = proxy()->subControlRect(CC_SpinBox, spinbox, SC_SpinBoxEditField, widget).adjusted(-fw,-fw,fw,fw);
    14961499                QStyleOptionFrame lineOpt;
    14971500                lineOpt.QStyleOption::operator=(*opt);
     
    15001503                lineOpt.midLineWidth = 0;
    15011504                lineOpt.state |= QStyle::State_Sunken;
    1502                 drawPrimitive(QStyle::PE_FrameLineEdit, &lineOpt, p, widget);
     1505                proxy()->drawPrimitive(QStyle::PE_FrameLineEdit, &lineOpt, p, widget);
    15031506            }
    15041507
     
    15231526                      : PE_IndicatorSpinUp);
    15241527
    1525                 copy.rect = subControlRect(CC_SpinBox, spinbox, SC_SpinBoxUp, widget);
    1526                 drawPrimitive(pe, &copy, p, widget);
     1528                copy.rect = proxy()->subControlRect(CC_SpinBox, spinbox, SC_SpinBoxUp, widget);
     1529                proxy()->drawPrimitive(pe, &copy, p, widget);
    15271530            }
    15281531
     
    15471550                      : PE_IndicatorSpinDown);
    15481551
    1549                 copy.rect = subControlRect(CC_SpinBox, spinbox, SC_SpinBoxDown, widget);
    1550                 drawPrimitive(pe, &copy, p, widget);
     1552                copy.rect = proxy()->subControlRect(CC_SpinBox, spinbox, SC_SpinBoxDown, widget);
     1553                proxy()->drawPrimitive(pe, &copy, p, widget);
    15511554            }
    15521555        }
     
    15561559    case CC_Slider:
    15571560        if (const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider *>(opt)) {
    1558             QRect groove = subControlRect(CC_Slider, opt, SC_SliderGroove, widget),
    1559                   handle = subControlRect(CC_Slider, opt, SC_SliderHandle, widget);
     1561            QRect groove = proxy()->subControlRect(CC_Slider, opt, SC_SliderGroove, widget),
     1562                  handle = proxy()->subControlRect(CC_Slider, opt, SC_SliderHandle, widget);
    15601563
    15611564            if ((opt->subControls & SC_SliderGroove) && groove.isValid()) {
    1562                 qDrawShadePanel(p, groove, opt->palette, true, pixelMetric(PM_DefaultFrameWidth),
     1565                qDrawShadePanel(p, groove, opt->palette, true, proxy()->pixelMetric(PM_DefaultFrameWidth),
    15631566                                &opt->palette.brush((opt->state & State_Enabled) ? QPalette::Mid : QPalette::Window));
    15641567                if ((opt->state & State_HasFocus) && (!focus || !focus->isVisible())) {
    15651568                    QStyleOption focusOpt = *opt;
    15661569                    focusOpt.rect = subElementRect(SE_SliderFocusRect, opt, widget);
    1567                     drawPrimitive(PE_FrameFocusRect, &focusOpt, p, widget);
     1570                    proxy()->drawPrimitive(PE_FrameFocusRect, &focusOpt, p, widget);
    15681571                }
    15691572            }
     
    15751578                p->save();
    15761579                p->setBrushOrigin(bevelOpt.rect.topLeft());
    1577                 drawPrimitive(PE_PanelButtonBevel, &bevelOpt, p, widget);
     1580                proxy()->drawPrimitive(PE_PanelButtonBevel, &bevelOpt, p, widget);
    15781581                p->restore();
    15791582
     
    15871590                                   true, 1);
    15881591                }
    1589                 if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText))
     1592                if (!(opt->state & State_Enabled) && proxy()->styleHint(SH_DitherDisabledText))
    15901593                    p->fillRect(handle, QBrush(p->background().color(), Qt::Dense5Pattern));
    15911594            }
     
    15941597                QStyleOptionSlider tmpSlider = *slider;
    15951598                tmpSlider.subControls = SC_SliderTickmarks;
    1596                 int frameWidth = pixelMetric(PM_DefaultFrameWidth);
     1599                int frameWidth = proxy()->pixelMetric(PM_DefaultFrameWidth);
    15971600                tmpSlider.rect.translate(frameWidth - 1, 0);
    15981601                QCommonStyle::drawComplexControl(cc, &tmpSlider, p, widget);
     
    16051608            if (opt->subControls & SC_ComboBoxArrow) {
    16061609                int awh, ax, ay, sh, sy, dh, ew;
    1607                 int fw = cb->frame ? pixelMetric(PM_ComboBoxFrameWidth, opt, widget) : 0;
     1610                int fw = cb->frame ? proxy()->pixelMetric(PM_ComboBoxFrameWidth, opt, widget) : 0;
    16081611
    16091612                if (cb->frame) {
     
    16111614                    btn.QStyleOption::operator=(*cb);
    16121615                    btn.state |= QStyle::State_Raised;
    1613                     drawPrimitive(PE_PanelButtonCommand, &btn, p, widget);
     1616                    proxy()->drawPrimitive(PE_PanelButtonCommand, &btn, p, widget);
    16141617                } else {
    16151618                    p->fillRect(opt->rect, opt->palette.brush(QPalette::Button));
     
    16251628                arrowOpt.rect = ar;
    16261629                arrowOpt.state |= State_Enabled;
    1627                 drawPrimitive(PE_IndicatorArrowDown, &arrowOpt, p, widget);
     1630                proxy()->drawPrimitive(PE_IndicatorArrowDown, &arrowOpt, p, widget);
    16281631
    16291632
     
    16411644                    focus.rect = subElementRect(SE_ComboBoxFocusRect, opt, widget);
    16421645                    focus.backgroundColor = opt->palette.button().color();
    1643                     drawPrimitive(PE_FrameFocusRect, &focus, p, widget);
     1646                    proxy()->drawPrimitive(PE_FrameFocusRect, &focus, p, widget);
    16441647                }
    16451648            }
     
    16471650            if (opt->subControls & SC_ComboBoxEditField) {
    16481651                if (cb->editable) {
    1649                     QRect er = subControlRect(CC_ComboBox, opt, SC_ComboBoxEditField, widget);
     1652                    QRect er = proxy()->subControlRect(CC_ComboBox, opt, SC_ComboBoxEditField, widget);
    16501653                    er.adjust(-1, -1, 1, 1);
    16511654                    qDrawShadePanel(p, er, opt->palette, true, 1,
     
    16611664        if (opt->subControls & SC_ScrollBarGroove)
    16621665            qDrawShadePanel(p, opt->rect, opt->palette, true,
    1663                             pixelMetric(PM_DefaultFrameWidth, opt, widget),
     1666                            proxy()->pixelMetric(PM_DefaultFrameWidth, opt, widget),
    16641667                            &opt->palette.brush((opt->state & State_Enabled) ? QPalette::Mid : QPalette::Window));
    16651668
     
    17961799
    17971800    case PM_ToolBarFrameWidth:
    1798         ret = pixelMetric(PM_DefaultFrameWidth);
     1801        ret = proxy()->pixelMetric(PM_DefaultFrameWidth);
    17991802        break;
    18001803
     
    18171820
    18181821    case PM_SliderThickness:
    1819         ret = 16 + 4 * pixelMetric(PM_DefaultFrameWidth);
     1822        ret = 16 + 4 * proxy()->pixelMetric(PM_DefaultFrameWidth);
    18201823        break;
    18211824#ifndef QT_NO_SLIDER
     
    18471850        if (const QStyleOptionSlider *sl = qstyleoption_cast<const QStyleOptionSlider *>(opt)) {
    18481851            if (sl->orientation == Qt::Horizontal)
    1849                 ret = sl->rect.width() - pixelMetric(PM_SliderLength, opt, widget) - 2 * pixelMetric(PM_DefaultFrameWidth, opt, widget);
     1852                ret = sl->rect.width() - proxy()->pixelMetric(PM_SliderLength, opt, widget) - 2 * proxy()->pixelMetric(PM_DefaultFrameWidth, opt, widget);
    18501853            else
    1851                 ret = sl->rect.height() - pixelMetric(PM_SliderLength, opt, widget) - 2 * pixelMetric(PM_DefaultFrameWidth, opt, widget);
     1854                ret = sl->rect.height() - proxy()->pixelMetric(PM_SliderLength, opt, widget) - 2 * proxy()->pixelMetric(PM_DefaultFrameWidth, opt, widget);
    18521855        }
    18531856        break;
     
    18991902    case CC_SpinBox:
    19001903        if (const QStyleOptionSpinBox *spinbox = qstyleoption_cast<const QStyleOptionSpinBox *>(opt)) {
    1901             int fw = spinbox->frame ? pixelMetric(PM_SpinBoxFrameWidth, spinbox, widget) : 0;
     1904            int fw = spinbox->frame ? proxy()->pixelMetric(PM_SpinBoxFrameWidth, spinbox, widget) : 0;
    19021905            QSize bs;
    19031906            bs.setHeight(opt->rect.height()/2 - fw);
     
    19421945        if (const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider *>(opt)) {
    19431946            if (sc == SC_SliderHandle) {
    1944                 int tickOffset = pixelMetric(PM_SliderTickmarkOffset, opt, widget);
    1945                 int thickness = pixelMetric(PM_SliderControlThickness, opt, widget);
     1947                int tickOffset = proxy()->pixelMetric(PM_SliderTickmarkOffset, opt, widget);
     1948                int thickness = proxy()->pixelMetric(PM_SliderControlThickness, opt, widget);
    19461949                bool horizontal = slider->orientation == Qt::Horizontal;
    1947                 int len = pixelMetric(PM_SliderLength, opt, widget);
    1948                 int motifBorder = pixelMetric(PM_DefaultFrameWidth);
     1950                int len = proxy()->pixelMetric(PM_SliderLength, opt, widget);
     1951                int motifBorder = proxy()->pixelMetric(PM_DefaultFrameWidth);
    19491952                int sliderPos = sliderPositionFromValue(slider->minimum, slider->maximum, slider->sliderPosition,
    19501953                                                        horizontal ? slider->rect.width() - len - 2 * motifBorder
     
    19651968    case CC_ScrollBar:
    19661969        if (const QStyleOptionSlider *scrollbar = qstyleoption_cast<const QStyleOptionSlider *>(opt)) {
    1967             int dfw = pixelMetric(PM_DefaultFrameWidth);
     1970            int dfw = proxy()->pixelMetric(PM_DefaultFrameWidth);
    19681971            QRect rect =  visualRect(scrollbar->direction, scrollbar->rect,
    19691972                                     QCommonStyle::subControlRect(cc, scrollbar, sc, widget));
     
    19891992            case SC_ComboBoxArrow: {
    19901993                int ew, awh, sh, dh, ax, ay, sy;
    1991                 int fw = cb->frame ? pixelMetric(PM_ComboBoxFrameWidth, opt, widget) : 0;
     1994                int fw = cb->frame ? proxy()->pixelMetric(PM_ComboBoxFrameWidth, opt, widget) : 0;
    19921995                QRect cr = opt->rect;
    19931996                cr.adjust(fw, fw, -fw, -fw);
     
    19972000
    19982001            case SC_ComboBoxEditField: {
    1999                 int fw = cb->frame ? pixelMetric(PM_ComboBoxFrameWidth, opt, widget) : 0;
     2002                int fw = cb->frame ? proxy()->pixelMetric(PM_ComboBoxFrameWidth, opt, widget) : 0;
    20002003                QRect rect = opt->rect;
    20012004                rect.adjust(fw, fw, -fw, -fw);
     
    20272030
    20282031    switch(ct) {
    2029     case CT_Splitter:
    2030         sz = QSize(10, 10);
    2031         break;
    2032 
    20332032    case CT_RadioButton:
    20342033    case CT_CheckBox:
     
    20582057            if (mi->menuItemType == QStyleOptionMenuItem::Separator) {
    20592058                w = 10;
    2060                 h = (mi->text.isEmpty()) ? motifSepHeight : mi->fontMetrics.lineSpacing();
     2059                h = (mi->text.isEmpty()) ? motifSepHeight : mi->fontMetrics.height();
    20612060            }
    20622061
     
    21172116    {
    21182117        int awh, ax, ay, sh, sy, dh, ew;
    2119         int fw = pixelMetric(PM_DefaultFrameWidth, opt, widget);
     2118        int fw = proxy()->pixelMetric(PM_DefaultFrameWidth, opt, widget);
    21202119        QRect tr = opt->rect;
    21212120
     
    26852684        ret = '*';
    26862685        break;
     2686    case SH_DialogButtonBox_ButtonsHaveIcons:
     2687        ret = 0;
     2688        break;
    26872689    default:
    26882690        ret = QCommonStyle::styleHint(hint, opt, widget, returnData);
Note: See TracChangeset for help on using the changeset viewer.