4119 #endif //Q_WS_WINCE_WM |
4119 #endif //Q_WS_WINCE_WM |
4120 } |
4120 } |
4121 |
4121 |
4122 void QWindowsMobileStylePrivate::drawTabBarTab(QPainter *painter, const QStyleOptionTab *tab) |
4122 void QWindowsMobileStylePrivate::drawTabBarTab(QPainter *painter, const QStyleOptionTab *tab) |
4123 { |
4123 { |
|
4124 #ifndef QT_NO_TABBAR |
4124 #ifdef Q_WS_WINCE_WM |
4125 #ifdef Q_WS_WINCE_WM |
4125 if (wm65) { |
4126 if (wm65) { |
4126 tintImagesButton(tab->palette.button().color()); |
4127 tintImagesButton(tab->palette.button().color()); |
4127 QRect r; |
4128 QRect r; |
4128 r.setTopLeft(tab->rect.topRight() - QPoint(imageTabMiddle.width(), 0)); |
4129 r.setTopLeft(tab->rect.topRight() - QPoint(imageTabMiddle.width(), 0)); |
4205 painter->drawLine(tab->rect.topRight(), tab->rect.bottomRight()); |
4206 painter->drawLine(tab->rect.topRight(), tab->rect.bottomRight()); |
4206 painter->drawLine(tab->rect.bottomLeft(), tab->rect.bottomRight()); |
4207 painter->drawLine(tab->rect.bottomLeft(), tab->rect.bottomRight()); |
4207 } |
4208 } |
4208 } |
4209 } |
4209 painter->restore(); |
4210 painter->restore(); |
|
4211 #endif //QT_NO_TABBAR |
4210 } |
4212 } |
4211 |
4213 |
4212 void QWindowsMobileStylePrivate::drawPanelItemViewSelected(QPainter *painter, const QStyleOptionViewItemV4 *option, QRect rect) |
4214 void QWindowsMobileStylePrivate::drawPanelItemViewSelected(QPainter *painter, const QStyleOptionViewItemV4 *option, QRect rect) |
4213 { |
4215 { |
4214 #ifdef Q_WS_WINCE_WM |
4216 #ifdef Q_WS_WINCE_WM |
4410 } |
4412 } |
4411 } |
4413 } |
4412 |
4414 |
4413 void QWindowsMobileStylePrivate::drawScrollbarHandleDown(QPainter *p, QStyleOptionSlider *opt, bool completeFrame, bool secondScrollBar) |
4415 void QWindowsMobileStylePrivate::drawScrollbarHandleDown(QPainter *p, QStyleOptionSlider *opt, bool completeFrame, bool secondScrollBar) |
4414 { |
4416 { |
4415 |
4417 #ifndef QT_NO_SCROLLBAR |
4416 #ifdef Q_WS_WINCE_WM |
4418 #ifdef Q_WS_WINCE_WM |
4417 if (wm65) { |
4419 if (wm65) { |
4418 tintImagesHigh(opt->palette.highlight().color()); |
4420 tintImagesHigh(opt->palette.highlight().color()); |
4419 QRect r = opt->rect; |
4421 QRect r = opt->rect; |
4420 if (opt->orientation == Qt::Horizontal) { |
4422 if (opt->orientation == Qt::Horizontal) { |
4467 arrowOpt.rect.adjust(1, 0, 1, 0 ); |
4469 arrowOpt.rect.adjust(1, 0, 1, 0 ); |
4468 if (completeFrame && doubleControls) |
4470 if (completeFrame && doubleControls) |
4469 arrowOpt.rect.adjust(1, 0, 1, 0); |
4471 arrowOpt.rect.adjust(1, 0, 1, 0); |
4470 q_func()->proxy()->drawPrimitive(QStyle::PE_IndicatorArrowDown, &arrowOpt, p, 0); |
4472 q_func()->proxy()->drawPrimitive(QStyle::PE_IndicatorArrowDown, &arrowOpt, p, 0); |
4471 } |
4473 } |
|
4474 #endif //QT_NO_SCROLLBAR |
4472 } |
4475 } |
4473 |
4476 |
4474 void QWindowsMobileStylePrivate::drawScrollbarGroove(QPainter *p,const QStyleOptionSlider *opt) |
4477 void QWindowsMobileStylePrivate::drawScrollbarGroove(QPainter *p,const QStyleOptionSlider *opt) |
4475 { |
4478 { |
|
4479 #ifndef QT_NO_SCROLLBAR |
4476 #ifdef Q_OS_WINCE_WM |
4480 #ifdef Q_OS_WINCE_WM |
4477 if (wm65) { |
4481 if (wm65) { |
4478 p->fillRect(opt->rect, QColor(231, 231, 231)); |
4482 p->fillRect(opt->rect, QColor(231, 231, 231)); |
4479 return ; |
4483 return ; |
4480 } |
4484 } |
4496 } |
4500 } |
4497 else { |
4501 else { |
4498 fill = opt->palette.light(); |
4502 fill = opt->palette.light(); |
4499 } |
4503 } |
4500 p->fillRect(opt->rect, fill); |
4504 p->fillRect(opt->rect, fill); |
|
4505 #endif //QT_NO_SCROLLBAR |
4501 } |
4506 } |
4502 |
4507 |
4503 QWindowsMobileStyle::QWindowsMobileStyle(QWindowsMobileStylePrivate &dd) : QWindowsStyle(dd) { |
4508 QWindowsMobileStyle::QWindowsMobileStyle(QWindowsMobileStylePrivate &dd) : QWindowsStyle(dd) { |
4504 qApp->setEffectEnabled(Qt::UI_FadeMenu, false); |
4509 qApp->setEffectEnabled(Qt::UI_FadeMenu, false); |
4505 qApp->setEffectEnabled(Qt::UI_AnimateMenu, false); |
4510 qApp->setEffectEnabled(Qt::UI_AnimateMenu, false); |
5345 } |
5350 } |
5346 painter->setPen(option->palette.text().color()); |
5351 painter->setPen(option->palette.text().color()); |
5347 painter->drawLines(a); |
5352 painter->drawLines(a); |
5348 break; } |
5353 break; } |
5349 case PE_Frame: |
5354 case PE_Frame: |
5350 if (d->doubleControls) |
5355 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(), |
5351 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),2,&option->palette.light()); |
5356 d->doubleControls ? 2 : 1, &option->palette.background()); |
5352 else |
|
5353 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),1,&option->palette.light()); |
|
5354 break; |
5357 break; |
5355 case PE_FrameLineEdit: |
5358 case PE_FrameLineEdit: |
5356 case PE_FrameMenu: |
5359 case PE_FrameMenu: |
5357 if (d->doubleControls) |
5360 if (d->doubleControls) |
5358 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),2); |
5361 qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),2); |
6325 |
6328 |
6326 QSize newSize = QWindowsStyle::sizeFromContents(type, option, size, widget); |
6329 QSize newSize = QWindowsStyle::sizeFromContents(type, option, size, widget); |
6327 switch (type) { |
6330 switch (type) { |
6328 case CT_PushButton: |
6331 case CT_PushButton: |
6329 if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(option)) { |
6332 if (const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton *>(option)) { |
6330 newSize = QWindowsStyle::sizeFromContents(type, option, size, widget); |
6333 newSize = QCommonStyle::sizeFromContents(type, option, size, widget); |
6331 int w = newSize.width(), |
6334 int w = newSize.width(), |
6332 h = newSize.height(); |
6335 h = newSize.height(); |
6333 int defwidth = 0; |
6336 int defwidth = 0; |
6334 if (button->features & QStyleOptionButton::AutoDefaultButton) |
6337 if (button->features & QStyleOptionButton::AutoDefaultButton) |
6335 defwidth = 2 * proxy()->pixelMetric(PM_ButtonDefaultIndicator, button, widget); |
6338 defwidth = 2 * proxy()->pixelMetric(PM_ButtonDefaultIndicator, button, widget); |
6336 if (w < 75 + defwidth && button->icon.isNull()) |
6339 |
6337 w = 75 + defwidth; |
6340 int minwidth = int(QStyleHelper::dpiScaled(55.0f)); |
6338 if (h < 23 + defwidth) |
6341 int minheight = int(QStyleHelper::dpiScaled(19.0f)); |
6339 h = 23 + defwidth; |
6342 |
|
6343 if (w < minwidth + defwidth && button->icon.isNull()) |
|
6344 w = minwidth + defwidth; |
|
6345 if (h < minheight + defwidth) |
|
6346 h = minheight + defwidth; |
6340 newSize = QSize(w + 4, h + 4); |
6347 newSize = QSize(w + 4, h + 4); |
6341 } |
6348 } |
6342 break; |
6349 break; |
6343 |
6350 |
6344 #ifndef QT_NO_GROUPBOX |
6351 #ifndef QT_NO_GROUPBOX |
6838 toolBar->setPalette(pal); |
6845 toolBar->setPalette(pal); |
6839 } |
6846 } |
6840 else |
6847 else |
6841 #endif //QT_NO_TOOLBAR |
6848 #endif //QT_NO_TOOLBAR |
6842 |
6849 |
6843 #ifndef QT_NO_PROPERTIES |
6850 QWindowsStyle::polish(widget); |
6844 if (QAbstractButton *pushButton = qobject_cast<QAbstractButton*>(widget)) { |
|
6845 QVariant oldFont = widget->property("_q_styleWindowsMobileFont"); |
|
6846 if (!oldFont.isValid()) { |
|
6847 QFont f = pushButton->font(); |
|
6848 widget->setProperty("_q_styleWindowsMobileFont", f); |
|
6849 f.setBold(true); |
|
6850 int p = f.pointSize(); |
|
6851 if (p > 2) |
|
6852 f.setPointSize(p-1); |
|
6853 pushButton->setFont(f); |
|
6854 } |
|
6855 } |
|
6856 #endif |
|
6857 QWindowsStyle::polish(widget); |
|
6858 } |
6851 } |
6859 |
6852 |
6860 void QWindowsMobileStyle::unpolish(QWidget *widget) |
6853 void QWindowsMobileStyle::unpolish(QWidget *widget) |
6861 { |
6854 { |
6862 #ifndef QT_NO_PROPERTIES |
|
6863 if (QAbstractButton *pushButton = qobject_cast<QAbstractButton*>(widget)) { |
|
6864 QVariant oldFont = widget->property("_q_styleWindowsMobileFont"); |
|
6865 if (oldFont.isValid()) { |
|
6866 widget->setFont(qVariantValue<QFont>(oldFont)); |
|
6867 widget->setProperty("_q_styleWindowsMobileFont", QVariant()); |
|
6868 } |
|
6869 } |
|
6870 #endif |
|
6871 QWindowsStyle::unpolish(widget); |
6855 QWindowsStyle::unpolish(widget); |
6872 } |
6856 } |
6873 |
6857 |
6874 void QWindowsMobileStyle::unpolish(QApplication *app) |
6858 void QWindowsMobileStyle::unpolish(QApplication *app) |
6875 { |
6859 { |