diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-11-04 20:18:14 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-11-04 20:18:14 +0100 |
commit | 4159ee840549df11287294f0928e90f35f3e06ff (patch) | |
tree | 4a3947e37d54bdb78b4042e9ced20dbf181b5a2c /src/widgets | |
parent | 59dbf1786f22ec4ac88d8f9d38cac5cfb82acaea (diff) | |
parent | c8c39ecc37c156ac2677de09a26548dfc274b564 (diff) |
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
config.tests/unix/ptrsize.test
configure
src/corelib/global/qnamespace.h
src/network/socket/qabstractsocket.cpp
tests/auto/other/networkselftest/networkselftest.pro
Change-Id: Ic78abb4a34f9068567cea876861d4220f5a07672
Diffstat (limited to 'src/widgets')
38 files changed, 278 insertions, 337 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 443213d0de..cd26a6759f 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -977,7 +977,7 @@ void QFileDialog::setDirectoryUrl(const QUrl &directory) else if (directory.isLocalFile()) setDirectory(directory.toLocalFile()); else if (d->usingWidgets()) - qWarning() << "Non-native QFileDialog supports only local files"; + qWarning("Non-native QFileDialog supports only local files"); } /*! @@ -1087,7 +1087,7 @@ void QFileDialog::selectUrl(const QUrl &url) else if (url.isLocalFile()) selectFile(url.toLocalFile()); else - qWarning() << "Non-native QFileDialog supports only local files"; + qWarning("Non-native QFileDialog supports only local files"); } #ifdef Q_OS_UNIX diff --git a/src/widgets/dialogs/qfilesystemmodel.cpp b/src/widgets/dialogs/qfilesystemmodel.cpp index 6bbd464398..d0c3edcd69 100644 --- a/src/widgets/dialogs/qfilesystemmodel.cpp +++ b/src/widgets/dialogs/qfilesystemmodel.cpp @@ -488,7 +488,7 @@ void QFileSystemModel::timerEvent(QTimerEvent *event) d->fileInfoGatherer.fetchExtendedInformation(d->toFetch.at(i).dir, QStringList(d->toFetch.at(i).file)); } else { - // qDebug() << "yah!, you saved a little gerbil soul"; + // qDebug("yah!, you saved a little gerbil soul"); } } #endif diff --git a/src/widgets/doc/snippets/code/src_gui_graphicsview_qgraphicsview.cpp b/src/widgets/doc/snippets/code/src_gui_graphicsview_qgraphicsview.cpp index 2f6865c9dd..074b214f80 100644 --- a/src/widgets/doc/snippets/code/src_gui_graphicsview_qgraphicsview.cpp +++ b/src/widgets/doc/snippets/code/src_gui_graphicsview_qgraphicsview.cpp @@ -116,7 +116,7 @@ void CustomView::mousePressEvent(QMouseEvent *event) if (QGraphicsItem *item = itemAt(event->pos())) { qDebug() << "You clicked on item" << item; } else { - qDebug() << "You didn't click on an item."; + qDebug("You didn't click on an item."); } } //! [6] diff --git a/src/widgets/doc/snippets/javastyle.cpp b/src/widgets/doc/snippets/javastyle.cpp index b0b548e731..4997e25ada 100644 --- a/src/widgets/doc/snippets/javastyle.cpp +++ b/src/widgets/doc/snippets/javastyle.cpp @@ -236,9 +236,8 @@ void JavaStyle::drawControl(ControlElement control, const QStyleOption *option, break; } case CE_DockWidgetTitle: { - const QStyleOptionDockWidgetV2 *docker = - new QStyleOptionDockWidgetV2( - *qstyleoption_cast<const QStyleOptionDockWidget *>(option)); + const QStyleOptionDockWidget *docker = + qstyleoption_cast<const QStyleOptionDockWidget *>(option); QRect rect = docker->rect; QRect titleRect = rect; @@ -366,11 +365,9 @@ void JavaStyle::drawControl(ControlElement control, const QStyleOption *option, break; } case CE_ProgressBar: { - const QStyleOptionProgressBar *bar1 = + const QStyleOptionProgressBar *bar = qstyleoption_cast<const QStyleOptionProgressBar *>(option); - QStyleOptionProgressBarV2 *bar = new QStyleOptionProgressBarV2(*bar1); - QRect rect = bar->rect; if (bar->orientation == Qt::Vertical) { rect = QRect(rect.left(), rect.top(), rect.height(), rect.width()); @@ -416,7 +413,6 @@ void JavaStyle::drawControl(ControlElement control, const QStyleOption *option, if (bar->textVisible) drawControl(CE_ProgressBarLabel, &subBar, painter, widget); - delete bar; break; } case CE_ProgressBarGroove: { @@ -2366,18 +2362,17 @@ void JavaStyle::drawPrimitive(PrimitiveElement element, case PE_FrameLineEdit: { const QStyleOptionFrame *frame = qstyleoption_cast<const QStyleOptionFrame *>(option); - const QStyleOptionFrameV2 frameV2(*frame); painter->setPen(frame->palette.color(QPalette::Mid)); - painter->drawRect(frameV2.rect.adjusted(0, 0, -2, -2)); + painter->drawRect(frame->rect.adjusted(0, 0, -2, -2)); painter->setPen(Qt::white); - painter->drawRect(frameV2.rect.adjusted(1, 1, -1, -1)); - painter->setPen(frameV2.palette.color(QPalette::Active, + painter->drawRect(frame->rect.adjusted(1, 1, -1, -1)); + painter->setPen(frame->palette.color(QPalette::Active, QPalette::Background)); - painter->drawLine(frameV2.rect.bottomLeft(), - frameV2.rect.bottomLeft() + QPoint(1, -1)); - painter->drawLine(frameV2.rect.topRight(), - frameV2.rect.topRight() + QPoint(-1, 1)); + painter->drawLine(frame->rect.bottomLeft(), + frame->rect.bottomLeft() + QPoint(1, -1)); + painter->drawLine(frame->rect.topRight(), + frame->rect.topRight() + QPoint(-1, 1)); break; } case PE_FrameFocusRect: { diff --git a/src/widgets/doc/snippets/qstyleoption/main.cpp b/src/widgets/doc/snippets/qstyleoption/main.cpp index aa4220d8ea..05d5ece33d 100644 --- a/src/widgets/doc/snippets/qstyleoption/main.cpp +++ b/src/widgets/doc/snippets/qstyleoption/main.cpp @@ -75,44 +75,11 @@ void MyPushButton::paintEvent(QPaintEvent *) class MyStyle : public QStyle { public: - MyStyle(); void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget); }; -MyStyle::MyStyle() -{ -//! [1] - QStyleOptionFrame *option; - - if (const QStyleOptionFrame *frameOption = - qstyleoption_cast<const QStyleOptionFrame *>(option)) { - QStyleOptionFrameV2 frameOptionV2(*frameOption); - - // draw the frame using frameOptionV2 - } -//! [1] - -//! [2] - if (const QStyleOptionProgressBar *progressBarOption = - qstyleoption_cast<const QStyleOptionProgressBar *>(option)) { - QStyleOptionProgressBarV2 progressBarV2(*progressBarOption); - - // draw the progress bar using progressBarV2 - } -//! [2] - -//! [3] - if (const QStyleOptionTab *tabOption = - qstyleoption_cast<const QStyleOptionTab *>(option)) { - QStyleOptionTabV2 tabV2(*tabOption); - - // draw the tab using tabV2 - } -//! [3] -} - //! [4] void MyStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option, diff --git a/src/widgets/doc/src/widgets-and-layouts/styles.qdoc b/src/widgets/doc/src/widgets-and-layouts/styles.qdoc index 74a5ce3189..a42ee0db61 100644 --- a/src/widgets/doc/src/widgets-and-layouts/styles.qdoc +++ b/src/widgets/doc/src/widgets-and-layouts/styles.qdoc @@ -989,9 +989,7 @@ The style option for tabs (QStyleOptionTab) contains the necessary information for drawing tabs. The option contains the position of the tab in the tab bar, the position of the selected tab, the - shape of the tab, the text, and the icon. After Qt 4.1, the option - should be cast to a QStyleOptionTabV2, which also contains the - icon's size. + shape of the tab, the text, the icon, and the icon's size. As the Java style tabs don't overlap, we also present an image of a tab widget in the common style. Note that if you want the tabs @@ -1024,7 +1022,7 @@ Note that individual tabs may be disabled even if the tab bar is not. The tab will be active if the tab bar is active. - Here follows a table of QStyleOptionTabV2's members: + Here follows a table of QStyleOptionTab's members: \table 90% \header @@ -1450,7 +1448,7 @@ \li Content \row \li features - \li Flags of the QStyleOptionFrameV2::FrameFeatures + \li Flags of the QStyleOptionFrame::FrameFeatures enum describing the frame of the group box. \row \li lineWidth @@ -1501,7 +1499,7 @@ \image javastyle/progressbarimage.png - The style option for QProgressBar is QStyleOptionProgressBarV2. + The style option for QProgressBar is QStyleOptionProgressBar. The bar does not set any state flags, but the other members of the option are: diff --git a/src/widgets/graphicsview/qgraphicslinearlayout.cpp b/src/widgets/graphicsview/qgraphicslinearlayout.cpp index efdf6a595c..0384364ad4 100644 --- a/src/widgets/graphicsview/qgraphicslinearlayout.cpp +++ b/src/widgets/graphicsview/qgraphicslinearlayout.cpp @@ -512,7 +512,7 @@ void QGraphicsLinearLayout::setGeometry(const QRectF &rect) d->engine.setGeometries(effectiveRect, d->styleInfo()); #ifdef QGRIDLAYOUTENGINE_DEBUG if (qt_graphicsLayoutDebug()) { - qDebug() << "post dump"; + qDebug("post dump"); dump(1); } #endif diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.cpp b/src/widgets/graphicsview/qgraphicsproxywidget.cpp index edb0f4e0ff..88bed7cf0e 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget.cpp +++ b/src/widgets/graphicsview/qgraphicsproxywidget.cpp @@ -1168,7 +1168,7 @@ void QGraphicsProxyWidget::hoverMoveEvent(QGraphicsSceneHoverEvent *event) { Q_D(QGraphicsProxyWidget); #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::hoverMoveEvent"; + qDebug("QGraphicsProxyWidget::hoverMoveEvent"); #endif // Ignore events on the window frame. if (!d->widget || !rect().contains(event->pos())) { @@ -1208,7 +1208,7 @@ void QGraphicsProxyWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { Q_D(QGraphicsProxyWidget); #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::mouseMoveEvent"; + qDebug("QGraphicsProxyWidget::mouseMoveEvent"); #endif d->sendWidgetMouseEvent(event); } @@ -1220,7 +1220,7 @@ void QGraphicsProxyWidget::mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_D(QGraphicsProxyWidget); #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::mousePressEvent"; + qDebug("QGraphicsProxyWidget::mousePressEvent"); #endif d->sendWidgetMouseEvent(event); } @@ -1232,7 +1232,7 @@ void QGraphicsProxyWidget::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event { Q_D(QGraphicsProxyWidget); #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::mouseDoubleClickEvent"; + qDebug("QGraphicsProxyWidget::mouseDoubleClickEvent"); #endif d->sendWidgetMouseEvent(event); } @@ -1245,7 +1245,7 @@ void QGraphicsProxyWidget::wheelEvent(QGraphicsSceneWheelEvent *event) { Q_D(QGraphicsProxyWidget); #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::wheelEvent"; + qDebug("QGraphicsProxyWidget::wheelEvent"); #endif if (!d->widget) return; @@ -1283,7 +1283,7 @@ void QGraphicsProxyWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { Q_D(QGraphicsProxyWidget); #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::mouseReleaseEvent"; + qDebug("QGraphicsProxyWidget::mouseReleaseEvent"); #endif d->sendWidgetMouseEvent(event); } @@ -1295,7 +1295,7 @@ void QGraphicsProxyWidget::keyPressEvent(QKeyEvent *event) { Q_D(QGraphicsProxyWidget); #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::keyPressEvent"; + qDebug("QGraphicsProxyWidget::keyPressEvent"); #endif d->sendWidgetKeyEvent(event); } @@ -1307,7 +1307,7 @@ void QGraphicsProxyWidget::keyReleaseEvent(QKeyEvent *event) { Q_D(QGraphicsProxyWidget); #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::keyReleaseEvent"; + qDebug("QGraphicsProxyWidget::keyReleaseEvent"); #endif d->sendWidgetKeyEvent(event); } @@ -1318,7 +1318,7 @@ void QGraphicsProxyWidget::keyReleaseEvent(QKeyEvent *event) void QGraphicsProxyWidget::focusInEvent(QFocusEvent *event) { #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::focusInEvent"; + qDebug("QGraphicsProxyWidget::focusInEvent"); #endif Q_D(QGraphicsProxyWidget); @@ -1357,7 +1357,7 @@ void QGraphicsProxyWidget::focusInEvent(QFocusEvent *event) void QGraphicsProxyWidget::focusOutEvent(QFocusEvent *event) { #ifdef GRAPHICSPROXYWIDGET_DEBUG - qDebug() << "QGraphicsProxyWidget::focusOutEvent"; + qDebug("QGraphicsProxyWidget::focusOutEvent"); #endif Q_D(QGraphicsProxyWidget); if (d->widget) { diff --git a/src/widgets/graphicsview/qgraphicswidget.cpp b/src/widgets/graphicsview/qgraphicswidget.cpp index 67311ed2c3..8ffb60411c 100644 --- a/src/widgets/graphicsview/qgraphicswidget.cpp +++ b/src/widgets/graphicsview/qgraphicswidget.cpp @@ -2398,7 +2398,7 @@ bool QGraphicsWidget::close() #if 0 void QGraphicsWidget::dumpFocusChain() { - qDebug() << "=========== Dumping focus chain =============="; + qDebug("=========== Dumping focus chain =============="); int i = 0; QGraphicsWidget *next = this; QSet<QGraphicsWidget*> visited; diff --git a/src/widgets/graphicsview/qsimplex_p.cpp b/src/widgets/graphicsview/qsimplex_p.cpp index 1aeade6640..b827ab1400 100644 --- a/src/widgets/graphicsview/qsimplex_p.cpp +++ b/src/widgets/graphicsview/qsimplex_p.cpp @@ -140,7 +140,7 @@ bool QSimplex::setConstraints(const QList<QSimplexConstraint *> &newConstraints) // Remove constraints of type Var == K and replace them for their value. if (!simplifyConstraints(&constraints)) { - qWarning() << "QSimplex: No feasible solution!"; + qWarning("QSimplex: No feasible solution!"); clearDataStructures(); return false; } @@ -230,7 +230,7 @@ bool QSimplex::setConstraints(const QList<QSimplexConstraint *> &newConstraints) matrix = (qreal *)malloc(sizeof(qreal) * columns * rows); if (!matrix) { - qWarning() << "QSimplex: Unable to allocate memory!"; + qWarning("QSimplex: Unable to allocate memory!"); return false; } for (int i = columns * rows - 1; i >= 0; --i) @@ -281,7 +281,7 @@ bool QSimplex::setConstraints(const QList<QSimplexConstraint *> &newConstraints) // Otherwise, we clean up our structures and report there is // no feasible solution. if ((valueAt(0, columns - 1) != 0.0) && (qAbs(valueAt(0, columns - 1)) > 0.00001)) { - qWarning() << "QSimplex: No feasible solution!"; + qWarning("QSimplex: No feasible solution!"); clearDataStructures(); return false; } @@ -471,7 +471,7 @@ bool QSimplex::iterate() // Find Pivot row for column int pivotRow = pivotRowForColumn(pivotColumn); if (pivotRow == -1) { - qWarning() << "QSimplex: Unbounded problem!"; + qWarning("QSimplex: Unbounded problem!"); return false; } diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index 3bb4d0624f..ad7be840d0 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -2636,6 +2636,11 @@ void QAbstractItemView::updateEditorGeometries() Q_D(QAbstractItemView); if(d->editorIndexHash.isEmpty()) return; + if (d->delayedPendingLayout) { + // doItemsLayout() will end up calling this function again + d->executePostedLayout(); + return; + } QStyleOptionViewItem option = d->viewOptionsV1(); QEditorIndexHash::iterator it = d->editorIndexHash.begin(); QWidgetList editorsToRelease; diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp index 0af4a26494..89bd9dbcb1 100644 --- a/src/widgets/itemviews/qtableview.cpp +++ b/src/widgets/itemviews/qtableview.cpp @@ -670,13 +670,14 @@ void QTableViewPrivate::trimHiddenSelections(QItemSelectionRange *range) const void QTableViewPrivate::setSpan(int row, int column, int rowSpan, int columnSpan) { if (row < 0 || column < 0 || rowSpan <= 0 || columnSpan <= 0) { - qWarning() << "QTableView::setSpan: invalid span given: (" << row << ',' << column << ',' << rowSpan << ',' << columnSpan << ')'; + qWarning("QTableView::setSpan: invalid span given: (%d, %d, %d, %d)", + row, column, rowSpan, columnSpan); return; } QSpanCollection::Span *sp = spans.spanAt(column, row); if (sp) { if (sp->top() != row || sp->left() != column) { - qWarning() << "QTableView::setSpan: span cannot overlap"; + qWarning("QTableView::setSpan: span cannot overlap"); return; } if (rowSpan == 1 && columnSpan == 1) { @@ -688,7 +689,7 @@ void QTableViewPrivate::setSpan(int row, int column, int rowSpan, int columnSpan spans.updateSpan(sp, old_height); return; } else if (rowSpan == 1 && columnSpan == 1) { - qWarning() << "QTableView::setSpan: single cell span won't be added"; + qWarning("QTableView::setSpan: single cell span won't be added"); return; } sp = new QSpanCollection::Span(row, column, rowSpan, columnSpan); diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index db4451c99a..676893ebf0 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -3281,7 +3281,7 @@ QMimeData *QTreeWidget::mimeData(const QList<QTreeWidgetItem*> items) const for (int i = 0; i < items.count(); ++i) { QTreeWidgetItem *item = items.at(i); if (!item) { - qWarning() << "QTreeWidget::mimeData: Null-item passed"; + qWarning("QTreeWidget::mimeData: Null-item passed"); return 0; } diff --git a/src/widgets/kernel/qopenglwidget.cpp b/src/widgets/kernel/qopenglwidget.cpp index 65a70ceb02..389539bb18 100644 --- a/src/widgets/kernel/qopenglwidget.cpp +++ b/src/widgets/kernel/qopenglwidget.cpp @@ -647,8 +647,8 @@ GLuint QOpenGLWidgetPrivate::textureId() const { Q_Q(const QOpenGLWidget); if (!q->isWindow() && q->internalWinId()) { - qWarning() << "QOpenGLWidget cannot be used as a native child widget." - << "Consider setting Qt::WA_DontCreateNativeAncestors and Qt::AA_DontCreateNativeWidgetSiblings."; + qWarning("QOpenGLWidget cannot be used as a native child widget. Consider setting " + "Qt::WA_DontCreateNativeAncestors and Qt::AA_DontCreateNativeWidgetSiblings"); return 0; } return resolvedFbo ? resolvedFbo->texture() : (fbo ? fbo->texture() : 0); diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index a4335e1f2d..efa032453f 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -7182,7 +7182,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) bool needsShow = false; - if (q->isWindow()) { + if (q->isWindow() || q->windowHandle()) { if (!(data.window_state & Qt::WindowFullScreen) && (w == 0 || h == 0)) { q->setAttribute(Qt::WA_OutsideWSRange, true); if (q->isVisible() && q->testAttribute(Qt::WA_Mapped)) @@ -7889,8 +7889,9 @@ void QWidgetPrivate::show_sys() if (q->testAttribute(Qt::WA_DontShowOnScreen)) { invalidateBuffer(q->rect()); q->setAttribute(Qt::WA_Mapped); - if (q->isWindow() && q->windowModality() != Qt::NonModal && window) { - // add our window to the modal window list + // add our window the modal window list (native dialogs) + if ((q->isWindow() && (!extra || !extra->proxyWidget)) + && q->windowModality() != Qt::NonModal && window) { QGuiApplicationPrivate::showModalWindow(window); } return; @@ -8021,8 +8022,9 @@ void QWidgetPrivate::hide_sys() if (q->testAttribute(Qt::WA_DontShowOnScreen)) { q->setAttribute(Qt::WA_Mapped, false); - if (q->isWindow() && q->windowModality() != Qt::NonModal && window) { - // remove our window from the modal window list + // remove our window from the modal window list (native dialogs) + if ((q->isWindow() && (!extra || !extra->proxyWidget)) + && q->windowModality() != Qt::NonModal && window) { QGuiApplicationPrivate::hideModalWindow(window); } // do not return here, if window non-zero, we must hide it @@ -12116,7 +12118,7 @@ QOpenGLContext *QWidgetPrivate::shareContext() const return 0; #else if (!extra || !extra->topextra || !extra->topextra->window) { - qWarning() << "Asking for share context for widget that does not have a window handle"; + qWarning("Asking for share context for widget that does not have a window handle"); return 0; } QWidgetPrivate *that = const_cast<QWidgetPrivate *>(this); diff --git a/src/widgets/styles/qandroidstyle.cpp b/src/widgets/styles/qandroidstyle.cpp index c73908d0a5..4489f36ab7 100644 --- a/src/widgets/styles/qandroidstyle.cpp +++ b/src/widgets/styles/qandroidstyle.cpp @@ -298,8 +298,7 @@ void QAndroidStyle::drawPrimitive(PrimitiveElement pe, } } else if (pe == PE_FrameGroupBox) { if (const QStyleOptionFrame *frame = qstyleoption_cast<const QStyleOptionFrame *>(opt)) { - const QStyleOptionFrameV2 *frame2 = qstyleoption_cast<const QStyleOptionFrameV2 *>(opt); - if (frame2 && (frame2->features & QStyleOptionFrameV2::Flat)) { + if (frame->features & QStyleOptionFrame::Flat) { QRect fr = frame->rect; QPoint p1(fr.x(), fr.y() + 1); QPoint p2(fr.x() + fr.width(), p1.y()); @@ -403,7 +402,7 @@ void QAndroidStyle::drawComplexControl(ComplexControl cc, if (groupBox->subControls & SC_GroupBoxCheckBox) checkBoxRect = subControlRect(CC_GroupBox, opt, SC_GroupBoxCheckBox, widget); if (groupBox->subControls & QStyle::SC_GroupBoxFrame) { - QStyleOptionFrameV2 frame; + QStyleOptionFrame frame; frame.QStyleOption::operator=(*groupBox); frame.features = groupBox->features; frame.lineWidth = groupBox->lineWidth; @@ -1617,15 +1616,13 @@ void QAndroidStyle::AndroidProgressBarControl::drawControl(const QStyleOption *o if (const QStyleOptionProgressBar *progressBarOption = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) { - QStyleOptionProgressBarV2 progressBarV2(*progressBarOption); if (m_progressDrawable->type() == QAndroidStyle::Layer) { + const double fraction = progressBarOption->progress / double(progressBarOption->maximum - progressBarOption->minimum); QAndroidStyle::AndroidDrawable *clipDrawable = static_cast<QAndroidStyle::AndroidLayerDrawable *>(m_progressDrawable)->layer(m_progressId); if (clipDrawable->type() == QAndroidStyle::Clip) - static_cast<QAndroidStyle::AndroidClipDrawable *>(clipDrawable)->setFactor(double(progressBarV2.progress) / double(progressBarV2.maximum - progressBarV2.minimum), - progressBarV2.orientation); + static_cast<AndroidClipDrawable *>(clipDrawable)->setFactor(fraction, progressBarOption->orientation); else - static_cast<QAndroidStyle::AndroidLayerDrawable *>(m_progressDrawable)->setFactor(m_progressId, double(progressBarV2.progress) / double(progressBarV2.maximum - progressBarV2.minimum), - progressBarV2.orientation); + static_cast<AndroidLayerDrawable *>(m_progressDrawable)->setFactor(m_progressId, fraction, progressBarOption->orientation); } m_progressDrawable->draw(p, option); } @@ -1637,8 +1634,7 @@ QRect QAndroidStyle::AndroidProgressBarControl::subElementRect(QStyle::SubElemen { if (const QStyleOptionProgressBar *progressBarOption = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) { - QStyleOptionProgressBarV2 progressBarV2(*progressBarOption); - const bool horizontal = progressBarV2.orientation == Qt::Vertical; + const bool horizontal = progressBarOption->orientation == Qt::Vertical; if (!m_background) return option->rect; @@ -1680,8 +1676,7 @@ QSize QAndroidStyle::AndroidProgressBarControl::sizeFromContents(const QStyleOpt if (const QStyleOptionProgressBar *progressBarOption = qstyleoption_cast<const QStyleOptionProgressBar *>(opt)) { - QStyleOptionProgressBarV2 progressBarV2(*progressBarOption); - if (progressBarV2.orientation == Qt::Vertical) { + if (progressBarOption->orientation == Qt::Vertical) { if (sz.height() > m_maxSize.height()) sz.setHeight(m_maxSize.height()); } else { diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index a4ecfc547b..83e68d5f5f 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -80,6 +80,11 @@ QT_BEGIN_NAMESPACE +static QWindow *qt_getWindow(const QWidget *widget) +{ + return widget ? widget->window()->windowHandle() : 0; +} + /*! \class QCommonStyle \brief The QCommonStyle class encapsulates the common Look and Feel of a GUI. @@ -395,7 +400,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q mode = QIcon::Disabled; QIcon::State state = opt->state & State_Sunken ? QIcon::On : QIcon::Off; - QPixmap pixmap = d->tabBarcloseButtonIcon.pixmap(size, mode, state); + QPixmap pixmap = d->tabBarcloseButtonIcon.pixmap(qt_getWindow(widget), QSize(size, size), mode, state); proxy()->drawItemPixmap(p, opt->rect, Qt::AlignCenter, pixmap); break; } @@ -1237,7 +1242,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, if (button->state & State_On) state = QIcon::On; - QPixmap pixmap = button->icon.pixmap(button->iconSize, mode, state); + QPixmap pixmap = button->icon.pixmap(qt_getWindow(widget), button->iconSize, mode, state); int pixmapWidth = pixmap.width() / pixmap.devicePixelRatio(); int pixmapHeight = pixmap.height() / pixmap.devicePixelRatio(); @@ -1314,7 +1319,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, QPixmap pix; QRect textRect = btn->rect; if (!btn->icon.isNull()) { - pix = btn->icon.pixmap(btn->iconSize, btn->state & State_Enabled ? QIcon::Normal : QIcon::Disabled); + pix = btn->icon.pixmap(qt_getWindow(widget), btn->iconSize, btn->state & State_Enabled ? QIcon::Normal : QIcon::Disabled); proxy()->drawItemPixmap(p, btn->rect, alignment, pix); if (btn->direction == Qt::RightToLeft) textRect.setRight(textRect.right() - btn->iconSize.width() - 4); @@ -1355,7 +1360,8 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, | Qt::TextSingleLine; if (!proxy()->styleHint(SH_UnderlineShortcut, mbi, widget)) alignment |= Qt::TextHideMnemonic; - QPixmap pix = mbi->icon.pixmap(proxy()->pixelMetric(PM_SmallIconSize), (mbi->state & State_Enabled) ? QIcon::Normal : QIcon::Disabled); + int iconExtent = proxy()->pixelMetric(PM_SmallIconSize); + QPixmap pix = mbi->icon.pixmap(qt_getWindow(widget), QSize(iconExtent, iconExtent), (mbi->state & State_Enabled) ? QIcon::Normal : QIcon::Disabled); if (!pix.isNull()) proxy()->drawItemPixmap(p,mbi->rect, alignment, pix); else @@ -1519,8 +1525,9 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, if (const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(opt)) { QRect rect = header->rect; if (!header->icon.isNull()) { + int iconExtent = proxy()->pixelMetric(PM_SmallIconSize); QPixmap pixmap - = header->icon.pixmap(proxy()->pixelMetric(PM_SmallIconSize), (header->state & State_Enabled) ? QIcon::Normal : QIcon::Disabled); + = header->icon.pixmap(qt_getWindow(widget), QSize(iconExtent, iconExtent), (header->state & State_Enabled) ? QIcon::Normal : QIcon::Disabled); int pixw = pixmap.width() / pixmap.devicePixelRatio(); QRect aligned = alignedRect(header->direction, QFlag(header->iconAlignment), pixmap.size() / pixmap.devicePixelRatio(), rect); @@ -1579,7 +1586,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, mode = QIcon::Active; else mode = QIcon::Normal; - pm = toolbutton->icon.pixmap(toolbutton->rect.size().boundedTo(toolbutton->iconSize), + pm = toolbutton->icon.pixmap(qt_getWindow(widget), toolbutton->rect.size().boundedTo(toolbutton->iconSize), mode, state); pmSize = pm.size() / pm.devicePixelRatio(); } @@ -1800,7 +1807,8 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, if (const QStyleOptionToolBox *tb = qstyleoption_cast<const QStyleOptionToolBox *>(opt)) { bool enabled = tb->state & State_Enabled; bool selected = tb->state & State_Selected; - QPixmap pm = tb->icon.pixmap(proxy()->pixelMetric(QStyle::PM_SmallIconSize, tb, widget), + int iconExtent = proxy()->pixelMetric(QStyle::PM_SmallIconSize, tb, widget); + QPixmap pm = tb->icon.pixmap(qt_getWindow(widget), QSize(iconExtent, iconExtent), enabled ? QIcon::Normal : QIcon::Disabled); QRect cr = subElementRect(QStyle::SE_ToolBoxTabContents, tb, widget); @@ -1875,7 +1883,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, tr = proxy()->subElementRect(SE_TabBarTabText, opt, widget); //we compute tr twice because the style may override subElementRect if (!tabV2.icon.isNull()) { - QPixmap tabIcon = tabV2.icon.pixmap(tabV2.iconSize, + QPixmap tabIcon = tabV2.icon.pixmap(qt_getWindow(widget), tabV2.iconSize, (tabV2.state & State_Enabled) ? QIcon::Normal : QIcon::Disabled, (tabV2.state & State_Selected) ? QIcon::On @@ -2077,7 +2085,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, if (!cb->currentIcon.isNull()) { QIcon::Mode mode = cb->state & State_Enabled ? QIcon::Normal : QIcon::Disabled; - QPixmap pixmap = cb->currentIcon.pixmap(cb->iconSize, mode); + QPixmap pixmap = cb->currentIcon.pixmap(qt_getWindow(widget), cb->iconSize, mode); QRect iconRect(editRect); iconRect.setWidth(cb->iconSize.width() + 4); iconRect = alignedRect(cb->direction, @@ -2376,7 +2384,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, if (!btn->icon.isNull()) { iconRect = itemPixmapRect(cr, Qt::AlignAbsolute | Qt::AlignLeft | Qt::AlignVCenter | Qt::TextShowMnemonic, - btn->icon.pixmap(btn->iconSize, QIcon::Normal)); + btn->icon.pixmap(qt_getWindow(widget), btn->iconSize, QIcon::Normal)); if (!textRect.isEmpty()) textRect.translate(iconRect.right() + 4, 0); } @@ -2424,7 +2432,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, } if (!btn->icon.isNull()) { iconRect = itemPixmapRect(cr, Qt::AlignAbsolute | Qt::AlignLeft | Qt::AlignVCenter | Qt::TextShowMnemonic, - btn->icon.pixmap(btn->iconSize, QIcon::Normal)); + btn->icon.pixmap(qt_getWindow(widget), btn->iconSize, QIcon::Normal)); if (!textRect.isEmpty()) textRect.translate(iconRect.right() + 4, 0); } @@ -3398,9 +3406,9 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl || qobject_cast<const QDockWidget *>(widget) #endif ) - pm = proxy()->standardIcon(SP_DockWidgetCloseButton, &tool, widget).pixmap(10, 10); + pm = proxy()->standardIcon(SP_DockWidgetCloseButton, &tool, widget).pixmap(qt_getWindow(widget), QSize(10, 10)); else - pm = proxy()->standardIcon(SP_TitleBarCloseButton, &tool, widget).pixmap(10, 10); + pm = proxy()->standardIcon(SP_TitleBarCloseButton, &tool, widget).pixmap(qt_getWindow(widget), QSize(10, 10)); tool.rect = ir; tool.state = down ? State_Sunken : State_Raised; proxy()->drawPrimitive(PE_PanelButtonTool, &tool, p, widget); @@ -3419,7 +3427,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl ir = proxy()->subControlRect(CC_TitleBar, tb, SC_TitleBarMaxButton, widget); down = tb->activeSubControls & SC_TitleBarMaxButton && (opt->state & State_Sunken); - pm = proxy()->standardIcon(SP_TitleBarMaxButton, &tool, widget).pixmap(10, 10); + pm = proxy()->standardIcon(SP_TitleBarMaxButton, &tool, widget).pixmap(qt_getWindow(widget), QSize(10, 10)); tool.rect = ir; tool.state = down ? State_Sunken : State_Raised; proxy()->drawPrimitive(PE_PanelButtonTool, &tool, p, widget); @@ -3437,7 +3445,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl && !(tb->titleBarState & Qt::WindowMinimized)) { ir = proxy()->subControlRect(CC_TitleBar, tb, SC_TitleBarMinButton, widget); down = tb->activeSubControls & SC_TitleBarMinButton && (opt->state & State_Sunken); - pm = proxy()->standardIcon(SP_TitleBarMinButton, &tool, widget).pixmap(10, 10); + pm = proxy()->standardIcon(SP_TitleBarMinButton, &tool, widget).pixmap(qt_getWindow(widget), QSize(10, 10)); tool.rect = ir; tool.state = down ? State_Sunken : State_Raised; proxy()->drawPrimitive(PE_PanelButtonTool, &tool, p, widget); @@ -3459,7 +3467,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl if (drawNormalButton) { ir = proxy()->subControlRect(CC_TitleBar, tb, SC_TitleBarNormalButton, widget); down = tb->activeSubControls & SC_TitleBarNormalButton && (opt->state & State_Sunken); - pm = proxy()->standardIcon(SP_TitleBarNormalButton, &tool, widget).pixmap(10, 10); + pm = proxy()->standardIcon(SP_TitleBarNormalButton, &tool, widget).pixmap(qt_getWindow(widget), QSize(10, 10)); tool.rect = ir; tool.state = down ? State_Sunken : State_Raised; proxy()->drawPrimitive(PE_PanelButtonTool, &tool, p, widget); @@ -3477,7 +3485,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl && !(tb->titleBarState & Qt::WindowMinimized)) { ir = proxy()->subControlRect(CC_TitleBar, tb, SC_TitleBarShadeButton, widget); down = (tb->activeSubControls & SC_TitleBarShadeButton && (opt->state & State_Sunken)); - pm = proxy()->standardIcon(SP_TitleBarShadeButton, &tool, widget).pixmap(10, 10); + pm = proxy()->standardIcon(SP_TitleBarShadeButton, &tool, widget).pixmap(qt_getWindow(widget), QSize(10, 10)); tool.rect = ir; tool.state = down ? State_Sunken : State_Raised; proxy()->drawPrimitive(PE_PanelButtonTool, &tool, p, widget); @@ -3495,7 +3503,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl ir = proxy()->subControlRect(CC_TitleBar, tb, SC_TitleBarUnshadeButton, widget); down = tb->activeSubControls & SC_TitleBarUnshadeButton && (opt->state & State_Sunken); - pm = proxy()->standardIcon(SP_TitleBarUnshadeButton, &tool, widget).pixmap(10, 10); + pm = proxy()->standardIcon(SP_TitleBarUnshadeButton, &tool, widget).pixmap(qt_getWindow(widget), QSize(10, 10)); tool.rect = ir; tool.state = down ? State_Sunken : State_Raised; proxy()->drawPrimitive(PE_PanelButtonTool, &tool, p, widget); @@ -3511,7 +3519,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl ir = proxy()->subControlRect(CC_TitleBar, tb, SC_TitleBarContextHelpButton, widget); down = tb->activeSubControls & SC_TitleBarContextHelpButton && (opt->state & State_Sunken); - pm = proxy()->standardIcon(SP_TitleBarContextHelpButton, &tool, widget).pixmap(10, 10); + pm = proxy()->standardIcon(SP_TitleBarContextHelpButton, &tool, widget).pixmap(qt_getWindow(widget), QSize(10, 10)); tool.rect = ir; tool.state = down ? State_Sunken : State_Raised; proxy()->drawPrimitive(PE_PanelButtonTool, &tool, p, widget); @@ -3528,7 +3536,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl tb->icon.paint(p, ir); } else { int iconSize = proxy()->pixelMetric(PM_SmallIconSize, tb, widget); - pm = proxy()->standardIcon(SP_TitleBarMenuButton, &tool, widget).pixmap(iconSize, iconSize); + pm = proxy()->standardIcon(SP_TitleBarMenuButton, &tool, widget).pixmap(qt_getWindow(widget), QSize(iconSize, iconSize)); tool.rect = ir; p->save(); proxy()->drawItemPixmap(p, ir, Qt::AlignCenter, pm); @@ -3715,7 +3723,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl } btnOpt.rect = proxy()->subControlRect(CC_MdiControls, opt, SC_MdiCloseButton, widget); proxy()->drawPrimitive(PE_PanelButtonCommand, &btnOpt, p, widget); - QPixmap pm = proxy()->standardIcon(SP_TitleBarCloseButton).pixmap(16, 16); + QPixmap pm = proxy()->standardIcon(SP_TitleBarCloseButton).pixmap(qt_getWindow(widget), QSize(16, 16)); proxy()->drawItemPixmap(p, btnOpt.rect.translated(bsx, bsy), Qt::AlignCenter, pm); } if (opt->subControls & QStyle::SC_MdiNormalButton) { @@ -3732,7 +3740,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl } btnOpt.rect = proxy()->subControlRect(CC_MdiControls, opt, SC_MdiNormalButton, widget); proxy()->drawPrimitive(PE_PanelButtonCommand, &btnOpt, p, widget); - QPixmap pm = proxy()->standardIcon(SP_TitleBarNormalButton).pixmap(16, 16); + QPixmap pm = proxy()->standardIcon(SP_TitleBarNormalButton).pixmap(qt_getWindow(widget), QSize(16, 16)); proxy()->drawItemPixmap(p, btnOpt.rect.translated(bsx, bsy), Qt::AlignCenter, pm); } if (opt->subControls & QStyle::SC_MdiMinButton) { @@ -3749,7 +3757,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl } btnOpt.rect = proxy()->subControlRect(CC_MdiControls, opt, SC_MdiMinButton, widget); proxy()->drawPrimitive(PE_PanelButtonCommand, &btnOpt, p, widget); - QPixmap pm = proxy()->standardIcon(SP_TitleBarMinButton).pixmap(16, 16); + QPixmap pm = proxy()->standardIcon(SP_TitleBarMinButton).pixmap(qt_getWindow(widget), QSize(16, 16)); proxy()->drawItemPixmap(p, btnOpt.rect.translated(bsx, bsy), Qt::AlignCenter, pm); } } @@ -5762,8 +5770,8 @@ QIcon QCommonStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption const QList<QSize> sizes = baseIcon.availableSizes(QIcon::Normal, QIcon::Off); for (int i = 0 ; i < sizes.size() ; ++i) { int size = sizes[i].width(); - QPixmap basePixmap = baseIcon.pixmap(size); - QPixmap linkPixmap = linkIcon.pixmap(size/2); + QPixmap basePixmap = baseIcon.pixmap(qt_getWindow(widget), QSize(size, size)); + QPixmap linkPixmap = linkIcon.pixmap(qt_getWindow(widget), QSize(size / 2, size / 2)); QPainter painter(&basePixmap); painter.drawPixmap(size/2, size/2, linkPixmap); icon.addPixmap(basePixmap); @@ -5779,8 +5787,8 @@ QIcon QCommonStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption const QList<QSize> sizes = baseIcon.availableSizes(QIcon::Normal, QIcon::Off); for (int i = 0 ; i < sizes.size() ; ++i) { int size = sizes[i].width(); - QPixmap basePixmap = baseIcon.pixmap(size); - QPixmap linkPixmap = linkIcon.pixmap(size/2); + QPixmap basePixmap = baseIcon.pixmap(qt_getWindow(widget), QSize(size, size)); + QPixmap linkPixmap = linkIcon.pixmap(qt_getWindow(widget), QSize(size / 2, size / 2)); QPainter painter(&basePixmap); painter.drawPixmap(size/2, size/2, linkPixmap); icon.addPixmap(basePixmap); diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index b5e3596de9..c20639d20e 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -93,6 +93,11 @@ QT_USE_NAMESPACE +static QWindow *qt_getWindow(const QWidget *widget) +{ + return widget ? widget->window()->windowHandle() : 0; +} + @interface QT_MANGLE_NAMESPACE(NotificationReceiver) : NSObject { QMacStylePrivate *mPrivate; } @@ -260,7 +265,7 @@ QRect rotateTabPainter(QPainter *p, QTabBar::Shape shape, QRect tabRect) return tabRect; } -void drawTabShape(QPainter *p, const QStyleOptionTabV3 *tabOpt, bool isUnified) +void drawTabShape(QPainter *p, const QStyleOptionTab *tabOpt, bool isUnified) { QRect r = tabOpt->rect; p->translate(tabOpt->rect.x(), tabOpt->rect.y()); @@ -364,7 +369,7 @@ void drawTabShape(QPainter *p, const QStyleOptionTabV3 *tabOpt, bool isUnified) } } -void drawTabBase(QPainter *p, const QStyleOptionTabBarBaseV2 *tbb, const QWidget *w) +void drawTabBase(QPainter *p, const QStyleOptionTabBarBase *tbb, const QWidget *w) { QRect r = tbb->rect; if (isVerticalTabs(tbb->shape)) { @@ -2820,7 +2825,7 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w ret = QEvent::MouseButtonRelease; break; case SH_TabBar_SelectMouseType: - if (const QStyleOptionTabBarBaseV2 *opt2 = qstyleoption_cast<const QStyleOptionTabBarBaseV2 *>(opt)) { + if (const QStyleOptionTabBarBase *opt2 = qstyleoption_cast<const QStyleOptionTabBarBase *>(opt)) { ret = opt2->documentMode ? QEvent::MouseButtonPress : QEvent::MouseButtonRelease; } else { ret = QEvent::MouseButtonRelease; @@ -3093,7 +3098,7 @@ QPixmap QMacStyle::standardPixmap(StandardPixmap standardPixmap, const QStyleOpt size = 64; break; } - return icon.pixmap(size, size); + return icon.pixmap(qt_getWindow(widget), QSize(size, size)); } void QMacStyle::setFocusRectPolicy(QWidget *w, FocusRectPolicy policy) @@ -3186,8 +3191,8 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai p->restore(); break; } case PE_FrameTabBarBase: - if (const QStyleOptionTabBarBaseV2 *tbb - = qstyleoption_cast<const QStyleOptionTabBarBaseV2 *>(opt)) { + if (const QStyleOptionTabBarBase *tbb + = qstyleoption_cast<const QStyleOptionTabBarBase *>(opt)) { if (tbb->documentMode) { p->save(); drawTabBase(p, tbb, w); @@ -3225,8 +3230,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai break; case PE_FrameGroupBox: if (const QStyleOptionFrame *groupBox = qstyleoption_cast<const QStyleOptionFrame *>(opt)) { - const QStyleOptionFrameV2 *frame2 = qstyleoption_cast<const QStyleOptionFrameV2 *>(opt); - if (frame2 && frame2->features & QStyleOptionFrameV2::Flat) { + if (groupBox->features & QStyleOptionFrame::Flat) { QCommonStyle::drawPrimitive(pe, groupBox, p, w); } else { HIThemeGroupBoxDrawInfo gdi; @@ -3654,7 +3658,8 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter QIcon::Mode mode = QIcon::Disabled; if (opt->state & State_Enabled) mode = QIcon::Normal; - QPixmap pixmap = header->icon.pixmap(proxy()->pixelMetric(PM_SmallIconSize), mode); + int iconExtent = proxy()->pixelMetric(PM_SmallIconSize); + QPixmap pixmap = header->icon.pixmap(window, QSize(iconExtent, iconExtent), mode); QRect pixr = header->rect; pixr.setY(header->rect.center().y() - (pixmap.height() / pixmap.devicePixelRatio() - 1) / 2); @@ -3706,7 +3711,9 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter : QIcon::Disabled; QIcon::State iconState = (tb->state & State_On) ? QIcon::On : QIcon::Off; - QPixmap pixmap = tb->icon.pixmap(tb->rect.size().boundedTo(tb->iconSize), iconMode, iconState); + QPixmap pixmap = tb->icon.pixmap(window, + tb->rect.size().boundedTo(tb->iconSize), + iconMode, iconState); // Draw the text if it's needed. if (tb->toolButtonStyle != Qt::ToolButtonIconOnly) { @@ -4036,7 +4043,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter QIcon::State state = QIcon::Off; if (btn.state & State_On) state = QIcon::On; - QPixmap pixmap = btn.icon.pixmap(btn.iconSize, mode, state); + QPixmap pixmap = btn.icon.pixmap(window, btn.iconSize, mode, state); int pixmapWidth = pixmap.width() / pixmap.devicePixelRatio(); int pixmapHeight = pixmap.height() / pixmap.devicePixelRatio(); contentW += pixmapWidth + QMacStylePrivate::PushButtonContentPadding; @@ -4074,20 +4081,18 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter case CE_TabBarTabShape: if (const QStyleOptionTab *tabOpt = qstyleoption_cast<const QStyleOptionTab *>(opt)) { - if (const QStyleOptionTabV3 *tabOptV3 = qstyleoption_cast<const QStyleOptionTabV3 *>(opt)) { - if (tabOptV3->documentMode) { - p->save(); - bool isUnified = false; - if (w) { - QRect tabRect = tabOptV3->rect; - QPoint windowTabStart = w->mapTo(w->window(), tabRect.topLeft()); - isUnified = isInMacUnifiedToolbarArea(w->window()->windowHandle(), windowTabStart.y()); - } - - drawTabShape(p, tabOptV3, isUnified); - p->restore(); - return; + if (tabOpt->documentMode) { + p->save(); + bool isUnified = false; + if (w) { + QRect tabRect = tabOpt->rect; + QPoint windowTabStart = w->mapTo(w->window(), tabRect.topLeft()); + isUnified = isInMacUnifiedToolbarArea(w->window()->windowHandle(), windowTabStart.y()); } + + drawTabShape(p, tabOpt, isUnified); + p->restore(); + return; } HIThemeTabDrawInfo tdi; @@ -4197,7 +4202,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter break; case CE_TabBarTabLabel: if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(opt)) { - QStyleOptionTabV3 myTab = *tab; + QStyleOptionTab myTab = *tab; ThemeTabDirection ttd = getTabDirection(myTab.shape); bool verticalTabs = ttd == kThemeTabWest || ttd == kThemeTabEast; bool selected = (myTab.state & QStyle::State_Selected); @@ -4324,9 +4329,8 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter // Draw the text... if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast<const QStyleOptionDockWidget *>(opt)) { if (!dwOpt->title.isEmpty()) { - const QStyleOptionDockWidgetV2 *v2 - = qstyleoption_cast<const QStyleOptionDockWidgetV2*>(dwOpt); - bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar; + + const bool verticalTitleBar = dwOpt->verticalTitleBar; QRect titleRect = subElementRect(SE_DockWidgetTitleBarText, opt, w); if (verticalTitleBar) { @@ -4486,7 +4490,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter if (const QComboBox *comboBox = qobject_cast<const QComboBox *>(w)) { iconSize = comboBox->iconSize(); } - QPixmap pixmap = mi->icon.pixmap(iconSize, mode); + QPixmap pixmap = mi->icon.pixmap(window, iconSize, mode); int pixw = pixmap.width() / pixmap.devicePixelRatio(); int pixh = pixmap.height() / pixmap.devicePixelRatio(); QRect cr(xpos, contentRect.y(), checkcol, contentRect.height()); @@ -4591,10 +4595,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter } if (!mi->icon.isNull()) { + int iconExtent = proxy()->pixelMetric(PM_SmallIconSize); drawItemPixmap(p, mi->rect, Qt::AlignCenter | Qt::TextHideMnemonic | Qt::TextDontClip | Qt::TextSingleLine, - mi->icon.pixmap(proxy()->pixelMetric(PM_SmallIconSize), + mi->icon.pixmap(window, QSize(iconExtent, iconExtent), (mi->state & State_Enabled) ? QIcon::Normal : QIcon::Disabled)); } else { drawItemText(p, mi->rect, @@ -4622,12 +4627,8 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter tdi.version = qt_mac_hitheme_version; tdi.reserved = 0; bool isIndeterminate = (pb->minimum == 0 && pb->maximum == 0); - bool vertical = false; - bool inverted = false; - if (const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(opt)) { - vertical = (pb2->orientation == Qt::Vertical); - inverted = pb2->invertedAppearance; - } + const bool vertical = pb->orientation == Qt::Vertical; + const bool inverted = pb->invertedAppearance; bool reverse = (!vertical && (pb->direction == Qt::RightToLeft)); if (inverted) reverse = !reverse; @@ -5090,7 +5091,7 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt, } break; case SE_FrameLayoutItem: - // hack because QStyleOptionFrameV2 doesn't have a frameStyle member + // hack because QStyleOptionFrame doesn't have a frameStyle member if (const QFrame *frame = qobject_cast<const QFrame *>(widget)) { rect = opt->rect; switch (frame->frameStyle() & QFrame::Shape_Mask) { @@ -5153,9 +5154,8 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt, = qstyleoption_cast<const QStyleOptionDockWidget*>(opt); bool canClose = dwOpt == 0 ? true : dwOpt->closable; bool canFloat = dwOpt == 0 ? false : dwOpt->floatable; - const QStyleOptionDockWidgetV2 *v2 - = qstyleoption_cast<const QStyleOptionDockWidgetV2*>(opt); - bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar; + + const bool verticalTitleBar = dwOpt->verticalTitleBar; // If this is a vertical titlebar, we transpose and work as if it was // horizontal, then transpose again. @@ -5836,9 +5836,11 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex x += iw; else x += br.width() / 2 - p->fontMetrics().width(titlebar->text) / 2; - if (iw) + if (iw) { + int iconExtent = proxy()->pixelMetric(PM_SmallIconSize); p->drawPixmap(x - iw, y, - titlebar->icon.pixmap(proxy()->pixelMetric(PM_SmallIconSize), QIcon::Normal)); + titlebar->icon.pixmap(window, QSize(iconExtent, iconExtent), QIcon::Normal)); + } drawItemText(p, br, Qt::AlignCenter, opt->palette, tds == kThemeStateActive, titlebar->text, QPalette::Text); p->restore(); @@ -5851,7 +5853,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex = qstyleoption_cast<const QStyleOptionGroupBox *>(opt)) { QStyleOptionGroupBox groupBox(*gb); - bool flat = (groupBox.features & QStyleOptionFrameV2::Flat); + const bool flat = groupBox.features & QStyleOptionFrame::Flat; if (!flat) groupBox.state |= QStyle::State_Mini; // Force mini-sized checkbox to go with small-sized label else @@ -6303,7 +6305,7 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op case CC_GroupBox: if (const QStyleOptionGroupBox *groupBox = qstyleoption_cast<const QStyleOptionGroupBox *>(opt)) { bool checkable = groupBox->subControls & SC_GroupBoxCheckBox; - bool flat = (groupBox->features & QStyleOptionFrameV2::Flat); + const bool flat = groupBox->features & QStyleOptionFrame::Flat; bool hasNoText = !checkable && groupBox->text.isEmpty(); switch (sc) { case SC_GroupBoxLabel: @@ -6582,7 +6584,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, break; case QStyle::CT_TabBarTab: - if (const QStyleOptionTabV3 *tab = qstyleoption_cast<const QStyleOptionTabV3 *>(opt)) { + if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(opt)) { const QAquaWidgetSize AquaSize = d->aquaSizeConstrain(opt, widget); const bool differentFont = (widget && widget->testAttribute(Qt::WA_SetFont)) || !QApplication::desktopSettingsAware(); @@ -7160,7 +7162,7 @@ CGContextRef qt_mac_cg_context(const QPaintDevice *pdev) ret = CGBitmapContextCreate(image->bits(), image->width(), image->height(), 8, image->bytesPerLine(), colorspace, flags); } else { - qDebug() << "qt_mac_cg_context: Unsupported pixmap class"; + qDebug("qt_mac_cg_context: Unsupported pixmap class"); } CGContextTranslateCTM(ret, 0, pm->height()); @@ -7172,7 +7174,7 @@ CGContextRef qt_mac_cg_context(const QPaintDevice *pdev) //CGContextRef ret = static_cast<CGContextRef>(static_cast<const QWidget *>(pdev)->macCGHandle()); ///CGContextRetain(ret); //return ret; - qDebug() << "qt_mac_cg_context: not implemented: Widget class"; + qDebug("qt_mac_cg_context: not implemented: Widget class"); return 0; } return 0; diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index c9440efc8c..0c255f231e 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -1958,24 +1958,24 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption } #endif // QT_NO_TOOLBAR #ifndef QT_NO_TOOLBOX - else if (const QStyleOptionToolBoxV2 *tab = qstyleoption_cast<const QStyleOptionToolBoxV2 *>(opt)) { - if (tab->position == QStyleOptionToolBoxV2::OnlyOneTab) + else if (const QStyleOptionToolBox *tb = qstyleoption_cast<const QStyleOptionToolBox *>(opt)) { + if (tb->position == QStyleOptionToolBox::OnlyOneTab) extraClass |= PseudoClass_OnlyOne; - else if (tab->position == QStyleOptionToolBoxV2::Beginning) + else if (tb->position == QStyleOptionToolBox::Beginning) extraClass |= PseudoClass_First; - else if (tab->position == QStyleOptionToolBoxV2::End) + else if (tb->position == QStyleOptionToolBox::End) extraClass |= PseudoClass_Last; - else if (tab->position == QStyleOptionToolBoxV2::Middle) + else if (tb->position == QStyleOptionToolBox::Middle) extraClass |= PseudoClass_Middle; - if (tab->selectedPosition == QStyleOptionToolBoxV2::NextIsSelected) + if (tb->selectedPosition == QStyleOptionToolBox::NextIsSelected) extraClass |= PseudoClass_NextSelected; - else if (tab->selectedPosition == QStyleOptionToolBoxV2::PreviousIsSelected) + else if (tb->selectedPosition == QStyleOptionToolBox::PreviousIsSelected) extraClass |= PseudoClass_PreviousSelected; } #endif // QT_NO_TOOLBOX #ifndef QT_NO_DOCKWIDGET - else if (const QStyleOptionDockWidgetV2 *dw = qstyleoption_cast<const QStyleOptionDockWidgetV2 *>(opt)) { + else if (const QStyleOptionDockWidget *dw = qstyleoption_cast<const QStyleOptionDockWidget *>(opt)) { if (dw->verticalTitleBar) extraClass |= PseudoClass_Vertical; else @@ -3866,7 +3866,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q case CE_ProgressBarContents: { QRenderRule subRule = renderRule(w, opt, PseudoElement_ProgressBarChunk); if (subRule.hasDrawable()) { - if (const QStyleOptionProgressBarV2 *pb = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(opt)) { + if (const QStyleOptionProgressBar *pb = qstyleoption_cast<const QStyleOptionProgressBar *>(opt)) { p->save(); p->setClipRect(pb->rect); @@ -3947,12 +3947,12 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q break; case CE_ProgressBarLabel: - if (const QStyleOptionProgressBarV2 *pb = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(opt)) { + if (const QStyleOptionProgressBar *pb = qstyleoption_cast<const QStyleOptionProgressBar *>(opt)) { if (rule.hasBox() || rule.hasBorder() || hasStyleRule(w, PseudoElement_ProgressBarChunk)) { drawItemText(p, pb->rect, pb->textAlignment | Qt::TextSingleLine, pb->palette, pb->state & State_Enabled, pb->text, QPalette::Text); } else { - QStyleOptionProgressBarV2 pbCopy(*pb); + QStyleOptionProgressBar pbCopy(*pb); rule.configurePalette(&pbCopy.palette, QPalette::HighlightedText, QPalette::Highlight); baseStyle()->drawControl(ce, &pbCopy, p, w); } @@ -4075,13 +4075,13 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q case CE_TabBarTabLabel: case CE_TabBarTabShape: if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(opt)) { - QStyleOptionTabV3 tabCopy(*tab); QRenderRule subRule = renderRule(w, opt, PseudoElement_TabBarTab); QRect r = positionRect(w, subRule, PseudoElement_TabBarTab, opt->rect, opt->direction); if (ce == CE_TabBarTabShape && subRule.hasDrawable()) { subRule.drawRule(p, r); return; } + QStyleOptionTab tabCopy(*tab); subRule.configurePalette(&tabCopy.palette, QPalette::WindowText, QPalette::Window); QFont oldFont = p->font(); if (subRule.hasFont) @@ -4109,14 +4109,14 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q break; case CE_DockWidgetTitle: - if (const QStyleOptionDockWidgetV2 *dwOpt = qstyleoption_cast<const QStyleOptionDockWidgetV2 *>(opt)) { + if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast<const QStyleOptionDockWidget *>(opt)) { QRenderRule subRule = renderRule(w, opt, PseudoElement_DockWidgetTitle); if (!subRule.hasDrawable() && !subRule.hasPosition()) break; if (subRule.hasDrawable()) { subRule.drawRule(p, opt->rect); } else { - QStyleOptionDockWidgetV2 dwCopy(*dwOpt); + QStyleOptionDockWidget dwCopy(*dwOpt); dwCopy.title = QString(); baseStyle()->drawControl(ce, &dwCopy, p, w); } @@ -4452,7 +4452,7 @@ void QStyleSheetStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *op QRenderRule subRule = renderRule(w, opt, PseudoElement_TabWidgetPane); if (subRule.hasNativeBorder()) { subRule.drawBackground(p, opt->rect); - QStyleOptionTabWidgetFrameV2 frmCopy(*frm); + QStyleOptionTabWidgetFrame frmCopy(*frm); subRule.configurePalette(&frmCopy.palette, QPalette::WindowText, QPalette::Window); baseStyle()->drawPrimitive(pe, &frmCopy, p, w); } else { @@ -5768,7 +5768,7 @@ QRect QStyleSheetStyle::subElementRect(SubElement se, const QStyleOption *opt, c case SE_ProgressBarGroove: case SE_ProgressBarContents: case SE_ProgressBarLabel: - if (const QStyleOptionProgressBarV2 *pb = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(opt)) { + if (const QStyleOptionProgressBar *pb = qstyleoption_cast<const QStyleOptionProgressBar *>(opt)) { if (rule.hasBox() || !rule.hasNativeBorder() || rule.hasPosition() || hasStyleRule(w, PseudoElement_ProgressBarChunk)) { if (se == SE_ProgressBarGroove) return rule.borderRect(pb->rect); diff --git a/src/widgets/styles/qwindowscestyle.cpp b/src/widgets/styles/qwindowscestyle.cpp index fd9ac6fecf..e26925807f 100644 --- a/src/widgets/styles/qwindowscestyle.cpp +++ b/src/widgets/styles/qwindowscestyle.cpp @@ -1536,7 +1536,7 @@ void QWindowsCEStyle::drawComplexControl(ComplexControl control, const QStyleOpt QRect textRect = subControlRect(CC_GroupBox, &groupBoxFont, SC_GroupBoxLabel, widget); QRect checkBoxRect = subControlRect(CC_GroupBox, option, SC_GroupBoxCheckBox, widget); if (groupBox->subControls & QStyle::SC_GroupBoxFrame) { - QStyleOptionFrameV2 frame; + QStyleOptionFrame frame; frame.QStyleOption::operator=(*groupBox); frame.features = groupBox->features; frame.lineWidth = groupBox->lineWidth; @@ -2002,7 +2002,7 @@ QRect QWindowsCEStyle::subControlRect(ComplexControl control, const QStyleOption } int frameWidth = 0; - if ((groupBox->features & QStyleOptionFrameV2::Flat) == 0) + if ((groupBox->features & QStyleOptionFrame::Flat) == 0) frameWidth = pixelMetric(PM_DefaultFrameWidth, groupBox, widget); rect = frameRect.adjusted(frameWidth, frameWidth + topHeight, -frameWidth, -frameWidth - noLabelMargin); break; @@ -2013,7 +2013,7 @@ QRect QWindowsCEStyle::subControlRect(ComplexControl control, const QStyleOption QFontMetrics fontMetrics = groupBox->fontMetrics; int h = fontMetrics.height(); int tw = fontMetrics.size(Qt::TextShowMnemonic, groupBox->text + QLatin1Char(' ')).width(); - int marg = (groupBox->features & QStyleOptionFrameV2::Flat) ? 0 : 8; + const int marg = (groupBox->features & QStyleOptionFrame::Flat) ? 0 : 8; rect = groupBox->rect.adjusted(marg, 0, -marg, 0); rect.setHeight(h); diff --git a/src/widgets/styles/qwindowsmobilestyle.cpp b/src/widgets/styles/qwindowsmobilestyle.cpp index 2f5ea7a54c..e34c2dfe00 100644 --- a/src/widgets/styles/qwindowsmobilestyle.cpp +++ b/src/widgets/styles/qwindowsmobilestyle.cpp @@ -4682,8 +4682,8 @@ void QWindowsMobileStyle::drawPrimitive(PrimitiveElement element, const QStyleOp #ifndef QT_NO_PROGRESSBAR case PE_IndicatorProgressChunk: { bool vertical = false; - if (const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) - vertical = (pb2->orientation == Qt::Vertical); + if (const QStyleOptionProgressBar *pb = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) + vertical = pb->orientation == Qt::Vertical; if (!vertical) { painter->fillRect(option->rect.x(), option->rect.y()+2, option->rect.width(), option->rect.height()-4, option->palette.brush(QPalette::Highlight)); @@ -4806,8 +4806,7 @@ void QWindowsMobileStyle::drawPrimitive(PrimitiveElement element, const QStyleOp case PE_FrameGroupBox: if (const QStyleOptionFrame *frame = qstyleoption_cast<const QStyleOptionFrame *>(option)) { - const QStyleOptionFrameV2 *frame2 = qstyleoption_cast<const QStyleOptionFrameV2 *>(option); - if (frame2 && !(frame2->features & QStyleOptionFrameV2::Flat)) { + if (!(frame->features & QStyleOptionFrame::Flat)) { QPen oldPen = painter->pen(); QRect r = frame->rect; painter->setPen(frame->palette.shadow().color()); @@ -5678,9 +5677,8 @@ void QWindowsMobileStyle::drawControl(ControlElement element, const QStyleOption #ifndef QT_NO_DOCKWIDGET case CE_DockWidgetTitle: if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast<const QStyleOptionDockWidget *>(option)) { - const QStyleOptionDockWidgetV2 *v2 - = qstyleoption_cast<const QStyleOptionDockWidgetV2*>(option); - bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar; + + const bool verticalTitleBar = dwOpt->verticalTitleBar; QRect rect = dwOpt->rect; QRect r = rect; @@ -6168,7 +6166,7 @@ void QWindowsMobileStyle::drawComplexControl(ComplexControl control, const QStyl QRect textRect = proxy()->subControlRect(CC_GroupBox, &groupBoxFont, SC_GroupBoxLabel, widget); QRect checkBoxRect = proxy()->subControlRect(CC_GroupBox, option, SC_GroupBoxCheckBox, widget).adjusted(0,0,0,0); if (groupBox->subControls & QStyle::SC_GroupBoxFrame) { - QStyleOptionFrameV2 frame; + QStyleOptionFrame frame; frame.QStyleOption::operator=(*groupBox); frame.features = groupBox->features; frame.lineWidth = groupBox->lineWidth; @@ -6800,8 +6798,8 @@ QRect QWindowsMobileStyle::subControlRect(ComplexControl control, const QStyleOp QFontMetrics fontMetrics = groupBox->fontMetrics; int h = fontMetrics.height(); int textWidth = fontMetrics.size(Qt::TextShowMnemonic, groupBox->text + QLatin1Char(' ')).width(); - int margX = (groupBox->features & QStyleOptionFrameV2::Flat) ? 0 : 2; - int margY = (groupBox->features & QStyleOptionFrameV2::Flat) ? 0 : 2; + const int margX = (groupBox->features & QStyleOptionFrame::Flat) ? 0 : 2; + const int margY = (groupBox->features & QStyleOptionFrame::Flat) ? 0 : 2; rect = groupBox->rect.adjusted(margX, margY, -margX, 0); if (groupBox->text.size()) rect.setHeight(h); diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index db8a649931..01b82424c8 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -1024,9 +1024,9 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, case PE_IndicatorProgressChunk: { bool vertical = false, inverted = false; - if (const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(opt)) { - vertical = (pb2->orientation == Qt::Vertical); - inverted = pb2->invertedAppearance; + if (const QStyleOptionProgressBar *pb = qstyleoption_cast<const QStyleOptionProgressBar *>(opt)) { + vertical = pb->orientation == Qt::Vertical; + inverted = pb->invertedAppearance; } int space = 2; @@ -1689,15 +1689,9 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai if (!rect.isValid()) return; - bool vertical = false; - bool inverted = false; + const bool vertical = pb->orientation == Qt::Vertical; + const bool inverted = pb->invertedAppearance; - // Get extra style options if version 2 - const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(opt); - if (pb2) { - vertical = (pb2->orientation == Qt::Vertical); - inverted = pb2->invertedAppearance; - } QMatrix m; if (vertical) { rect = QRect(rect.y(), rect.x(), rect.height(), rect.width()); // flip width and height @@ -1716,7 +1710,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai Q_D(const QWindowsStyle); if (pb->minimum == 0 && pb->maximum == 0) { const int unit_width = proxy()->pixelMetric(PM_ProgressBarChunkWidth, pb, widget); - QStyleOptionProgressBarV2 pbBits = *pb; + QStyleOptionProgressBar pbBits = *pb; Q_ASSERT(unit_width >0); pbBits.rect = rect; @@ -1773,9 +1767,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast<const QStyleOptionDockWidget *>(opt)) { Q_D(const QWindowsStyle); - const QStyleOptionDockWidgetV2 *v2 - = qstyleoption_cast<const QStyleOptionDockWidgetV2*>(opt); - bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar; + const bool verticalTitleBar = dwOpt->verticalTitleBar; QRect rect = dwOpt->rect; QRect r = rect; @@ -1874,9 +1866,9 @@ QRect QWindowsStyle::subElementRect(SubElement sr, const QStyleOption *opt, cons break; case SE_DockWidgetTitleBarText: { r = QCommonStyle::subElementRect(sr, opt, w); - const QStyleOptionDockWidgetV2 *v2 - = qstyleoption_cast<const QStyleOptionDockWidgetV2*>(opt); - bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar; + const QStyleOptionDockWidget *dwOpt + = qstyleoption_cast<const QStyleOptionDockWidget*>(opt); + const bool verticalTitleBar = dwOpt && dwOpt->verticalTitleBar; int m = proxy()->pixelMetric(PM_DockWidgetTitleMargin, opt, w); if (verticalTitleBar) { r.adjust(0, 0, 0, -m); diff --git a/src/widgets/styles/qwindowsvistastyle.cpp b/src/widgets/styles/qwindowsvistastyle.cpp index ab4b4245c6..a7a0830fb9 100644 --- a/src/widgets/styles/qwindowsvistastyle.cpp +++ b/src/widgets/styles/qwindowsvistastyle.cpp @@ -1007,12 +1007,8 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption if (const QStyleOptionProgressBar *bar = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) { bool isIndeterminate = (bar->minimum == 0 && bar->maximum == 0); - bool vertical = false; - bool inverted = false; - if (const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) { - vertical = (pb2->orientation == Qt::Vertical); - inverted = pb2->invertedAppearance; - } + const bool vertical = bar->orientation == Qt::Vertical; + const bool inverted = bar->invertedAppearance; if (isIndeterminate || (bar->progress > 0 && (bar->progress < bar->maximum) && d->transitionsEnabled())) { if (!d->animation(styleObject(option))) @@ -1378,9 +1374,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption break; //otherwise fall through } - const QStyleOptionDockWidgetV2 *v2 - = qstyleoption_cast<const QStyleOptionDockWidgetV2*>(dwOpt); - bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar; + const bool verticalTitleBar = dwOpt->verticalTitleBar; if (verticalTitleBar) { rect.setSize(rect.size().transposed()); diff --git a/src/widgets/styles/qwindowsxpstyle.cpp b/src/widgets/styles/qwindowsxpstyle.cpp index 7776773b87..0b33213378 100644 --- a/src/widgets/styles/qwindowsxpstyle.cpp +++ b/src/widgets/styles/qwindowsxpstyle.cpp @@ -1690,7 +1690,7 @@ case PE_Frame: // This should work, but currently there's an error in the ::drawBackgroundDirectly() // code, when using the HDC directly.. if (useGradient) { - QStyleOptionTabWidgetFrameV2 frameOpt = *tab; + QStyleOptionTabWidgetFrame frameOpt = *tab; frameOpt.rect = widget->rect(); QRect contentsRect = subElementRect(SE_TabWidgetTabContents, &frameOpt, widget); QRegion reg = option->rect; @@ -1810,8 +1810,7 @@ case PE_Frame: else stateId = GBS_NORMAL; if (const QStyleOptionFrame *frame = qstyleoption_cast<const QStyleOptionFrame *>(option)) { - const QStyleOptionFrameV2 *frame2 = qstyleoption_cast<const QStyleOptionFrameV2 *>(option); - if (frame2->features & QStyleOptionFrameV2::Flat) { + if (frame->features & QStyleOptionFrame::Flat) { // Windows XP does not have a theme part for a flat GroupBox, paint it with the windows style QRect fr = frame->rect; QPoint p1(fr.x(), fr.y() + 1); @@ -1826,10 +1825,9 @@ case PE_Frame: { Qt::Orientation orient = Qt::Horizontal; bool inverted = false; - if (const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) { - orient = pb2->orientation; - if (pb2->invertedAppearance) - inverted = true; + if (const QStyleOptionProgressBar *pb = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) { + orient = pb->orientation; + inverted = pb->invertedAppearance; } if (orient == Qt::Horizontal) { partId = PP_CHUNK; @@ -2207,8 +2205,8 @@ void QWindowsXPStyle::drawControl(ControlElement element, const QStyleOption *op case CE_ProgressBarGroove: { Qt::Orientation orient = Qt::Horizontal; - if (const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) - orient = pb2->orientation; + if (const QStyleOptionProgressBar *pb = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) + orient = pb->orientation; partId = (orient == Qt::Horizontal) ? PP_BAR : PP_BARVERT; themeNumber = QWindowsXPStylePrivate::ProgressTheme; stateId = 1; @@ -2378,9 +2376,7 @@ void QWindowsXPStyle::drawControl(ControlElement element, const QStyleOption *op bool isFloating = widget && widget->isWindow(); bool isActive = dwOpt->state & State_Active; - const QStyleOptionDockWidgetV2 *v2 - = qstyleoption_cast<const QStyleOptionDockWidgetV2*>(dwOpt); - bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar; + const bool verticalTitleBar = dwOpt->verticalTitleBar; if (verticalTitleBar) { rect.setSize(rect.size().transposed()); @@ -3316,8 +3312,8 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo static inline Qt::Orientation progressBarOrientation(const QStyleOption *option = 0) { - if (const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) - return pb2->orientation; + if (const QStyleOptionProgressBar *pb = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) + return pb->orientation; return Qt::Horizontal; } diff --git a/src/widgets/util/qflickgesture.cpp b/src/widgets/util/qflickgesture.cpp index 4648278910..6d23977dc0 100644 --- a/src/widgets/util/qflickgesture.cpp +++ b/src/widgets/util/qflickgesture.cpp @@ -156,9 +156,9 @@ public: mouseTarget = QApplication::widgetAt(pressDelayEvent->globalPos()); mouseButton = pressDelayEvent->button(); mouseEventSource = pressDelayEvent->source(); - qFGDebug() << "QFG: consuming/delaying mouse press"; + qFGDebug("QFG: consuming/delaying mouse press"); } else { - qFGDebug() << "QFG: NOT consuming/delaying mouse press"; + qFGDebug("QFG: NOT consuming/delaying mouse press"); } e->setAccepted(true); } @@ -195,7 +195,7 @@ public: void scrollerWasIntercepted() { - qFGDebug() << "QFG: deleting delayed mouse press, since scroller was only intercepted"; + qFGDebug("QFG: deleting delayed mouse press, since scroller was only intercepted"); if (pressDelayEvent) { // we still haven't even sent the press, so just throw it away now if (pressDelayTimer) { @@ -211,7 +211,7 @@ public: { if (pressDelayEvent) { // we still haven't even sent the press, so just throw it away now - qFGDebug() << "QFG: deleting delayed mouse press, since scroller is active now"; + qFGDebug("QFG: deleting delayed mouse press, since scroller is active now"); if (pressDelayTimer) { killTimer(pressDelayTimer); pressDelayTimer = 0; diff --git a/src/widgets/util/qscroller.cpp b/src/widgets/util/qscroller.cpp index 563c501356..0065ccf6b3 100644 --- a/src/widgets/util/qscroller.cpp +++ b/src/widgets/util/qscroller.cpp @@ -1668,7 +1668,7 @@ bool QScrollerPrivate::releaseWhileDragging(const QPointF &position, qint64 time void QScrollerPrivate::timerEventWhileScrolling() { - qScrollerDebug() << "QScroller::timerEventWhileScrolling()"; + qScrollerDebug("QScroller::timerEventWhileScrolling()"); setContentPositionHelperScrolling(); if (xSegments.isEmpty() && ySegments.isEmpty()) diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp index 0a00086138..06c20adb9d 100644 --- a/src/widgets/widgets/qdockarealayout.cpp +++ b/src/widgets/widgets/qdockarealayout.cpp @@ -2105,6 +2105,8 @@ bool QDockAreaLayoutInfo::updateTabBar() const const QSignalBlocker blocker(tabBar); bool gap = false; + const quintptr oldCurrentId = currentTabId(); + int tab_idx = 0; for (int i = 0; i < item_list.count(); ++i) { const QDockAreaLayoutItem &item = item_list.at(i); @@ -2153,6 +2155,9 @@ bool QDockAreaLayoutInfo::updateTabBar() const tabBar->removeTab(tab_idx); } + if (oldCurrentId > 0 && currentTabId() != oldCurrentId) + that->setCurrentTabId(oldCurrentId); + //returns if the tabbar is visible or not return ( (gap ? 1 : 0) + tabBar->count()) > 1; } diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 8b0263fc0c..292681584d 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -245,7 +245,7 @@ bool QDockWidgetLayout::nativeWindowDeco(bool floating) const void QDockWidgetLayout::addItem(QLayoutItem*) { - qWarning() << "QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()"; + qWarning("QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()"); return; } @@ -507,7 +507,7 @@ void QDockWidgetLayout::setGeometry(const QRect &geometry) if (QLayoutItem *item = item_list[TitleBar]) { item->setGeometry(_titleArea); } else { - QStyleOptionDockWidgetV2 opt; + QStyleOptionDockWidget opt; q->initStyleOption(&opt); if (QLayoutItem *item = item_list[CloseButton]) { @@ -650,10 +650,7 @@ void QDockWidget::initStyleOption(QStyleOptionDockWidget *option) const option->floatable = hasFeature(this, QDockWidget::DockWidgetFloatable); QDockWidgetLayout *l = qobject_cast<QDockWidgetLayout*>(layout()); - QStyleOptionDockWidgetV2 *v2 - = qstyleoption_cast<QStyleOptionDockWidgetV2*>(option); - if (v2 != 0) - v2->verticalTitleBar = l->verticalTitleBar; + option->verticalTitleBar = l->verticalTitleBar; } void QDockWidgetPrivate::_q_toggleView(bool b) @@ -1437,7 +1434,7 @@ void QDockWidget::paintEvent(QPaintEvent *event) // Title must be painted after the frame, since the areas overlap, and // the title may wish to extend out to all sides (eg. XP style) - QStyleOptionDockWidgetV2 titleOpt; + QStyleOptionDockWidget titleOpt; initStyleOption(&titleOpt); p.drawControl(QStyle::CE_DockWidgetTitle, titleOpt); } diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index e6dd4b8f3b..599ebce0ab 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -335,7 +335,7 @@ void QLineEditIconButton::actionEvent(QActionEvent *e) switch (e->type()) { case QEvent::ActionChanged: { const QAction *action = e->action(); - if (isVisible() != action->isVisible()) { + if (isVisibleTo(parentWidget()) != action->isVisible()) { setVisible(action->isVisible()); if (QLineEdit *le = qobject_cast<QLineEdit *>(parentWidget())) static_cast<QLineEditPrivate *>(qt_widget_private(le))->positionSideWidgets(); @@ -439,13 +439,13 @@ void QLineEditPrivate::positionSideWidgets() QRect widgetGeometry(QPoint(QLineEditIconButton::IconMargin, (contentRect.height() - iconSize.height()) / 2), iconSize); foreach (const SideWidgetEntry &e, leftSideWidgetList()) { e.widget->setGeometry(widgetGeometry); - if (e.widget->isVisible()) + if (e.action->isVisible()) widgetGeometry.moveLeft(widgetGeometry.left() + delta); } widgetGeometry.moveLeft(contentRect.width() - iconSize.width() - QLineEditIconButton::IconMargin); foreach (const SideWidgetEntry &e, rightSideWidgetList()) { e.widget->setGeometry(widgetGeometry); - if (e.widget->isVisible()) + if (e.action->isVisible()) widgetGeometry.moveLeft(widgetGeometry.left() - delta); } } diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 6e37f91197..b29d7de5f5 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -1265,7 +1265,7 @@ void QMenuPrivate::_q_platformMenuAboutToShow() #ifdef Q_OS_OSX if (platformMenu) Q_FOREACH (QAction *action, q->actions()) - if (QWidget *widget = widgetItems.value(const_cast<QAction *>(action))) + if (QWidget *widget = widgetItems.value(action)) if (widget->parent() == q) { QPlatformMenuItem *menuItem = platformMenu->menuItemForTag(reinterpret_cast<quintptr>(action)); moveWidgetToPlatformItem(widget, menuItem); @@ -3143,7 +3143,7 @@ void QMenu::mouseMoveEvent(QMouseEvent *e) d->activeMenu->d_func()->setCurrentAction(0); QMenuSloppyState::MouseEventResult sloppyEventResult = d->sloppyState.processMouseEvent(e->localPos(), action, d->currentAction); - if (sloppyEventResult == QMenuSloppyState::EventShouldBePropogated) { + if (sloppyEventResult == QMenuSloppyState::EventShouldBePropagated) { d->setCurrentAction(action, d->mousePopupDelay); } else if (sloppyEventResult == QMenuSloppyState::EventDiscardsSloppyState) { d->sloppyState.reset(); diff --git a/src/widgets/widgets/qmenu_mac.mm b/src/widgets/widgets/qmenu_mac.mm index e30eda130b..9278099e18 100644 --- a/src/widgets/widgets/qmenu_mac.mm +++ b/src/widgets/widgets/qmenu_mac.mm @@ -115,6 +115,7 @@ void QMenuPrivate::moveWidgetToPlatformItem(QWidget *widget, QPlatformMenuItem* QObject::connect(platformMenu, SIGNAL(destroyed()), container, SLOT(deleteLater())); container->resize(widget->sizeHint()); widget->setParent(container); + widget->setVisible(true); NSView *containerView = container->nativeView(); QWindow *containerWindow = container->windowHandle(); diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h index 3acf73af90..e717d923ae 100644 --- a/src/widgets/widgets/qmenu_p.h +++ b/src/widgets/widgets/qmenu_p.h @@ -126,7 +126,7 @@ public: enum MouseEventResult { EventIsProcessed, - EventShouldBePropogated, + EventShouldBePropagated, EventDiscardsSloppyState }; @@ -187,14 +187,14 @@ public: m_parent->stopTimer(); if (!m_enabled) - return EventShouldBePropogated; + return EventShouldBePropagated; if (!m_time.isActive()) startTimer(); if (!m_sub_menu) { reset(); - return EventShouldBePropogated; + return EventShouldBePropagated; } QSetValueOnDestroy<bool> setFirstMouse(m_first_mouse, false); @@ -208,7 +208,7 @@ public: if (m_action_rect.contains(mousePos)) { startTimer(); - return currentAction == m_menu->menuAction() ? EventIsProcessed : EventShouldBePropogated; + return currentAction == m_menu->menuAction() ? EventIsProcessed : EventShouldBePropagated; } if (m_uni_directional && !m_first_mouse && resetAction != m_origin_action) { @@ -247,7 +247,7 @@ public: } - return m_select_other_actions ? EventShouldBePropogated : EventIsProcessed; + return m_select_other_actions ? EventShouldBePropagated : EventIsProcessed; } void setSubMenuPopup(const QRect &actionRect, QAction *resetAction, QMenu *subMenu); diff --git a/src/widgets/widgets/qprogressbar.cpp b/src/widgets/widgets/qprogressbar.cpp index 8034a0237a..5b06e75abe 100644 --- a/src/widgets/widgets/qprogressbar.cpp +++ b/src/widgets/widgets/qprogressbar.cpp @@ -107,10 +107,8 @@ void QProgressBarPrivate::resetLayoutItemMargins() /*! Initialize \a option with the values from this QProgressBar. This method is useful - for subclasses when they need a QStyleOptionProgressBar or QStyleOptionProgressBarV2, - but don't want to fill in all the information themselves. This function will check the version - of the QStyleOptionProgressBar and fill in the additional values for a - QStyleOptionProgressBarV2. + for subclasses when they need a QStyleOptionProgressBar, + but don't want to fill in all the information themselves. \sa QStyleOption::initFrom() */ @@ -129,13 +127,9 @@ void QProgressBar::initStyleOption(QStyleOptionProgressBar *option) const option->textAlignment = d->alignment; option->textVisible = d->textVisible; option->text = text(); - - if (QStyleOptionProgressBarV2 *optionV2 - = qstyleoption_cast<QStyleOptionProgressBarV2 *>(option)) { - optionV2->orientation = d->orientation; // ### Qt 6: remove this member from QStyleOptionProgressBarV2 - optionV2->invertedAppearance = d->invertedAppearance; - optionV2->bottomToTop = (d->textDirection == QProgressBar::BottomToTop); - } + option->orientation = d->orientation; // ### Qt 6: remove this member from QStyleOptionProgressBar + option->invertedAppearance = d->invertedAppearance; + option->bottomToTop = d->textDirection == QProgressBar::BottomToTop; } bool QProgressBarPrivate::repaintRequired() const @@ -158,7 +152,7 @@ bool QProgressBarPrivate::repaintRequired() const } // Check if the bar needs to be repainted - QStyleOptionProgressBarV2 opt; + QStyleOptionProgressBar opt; q->initStyleOption(&opt); int cw = q->style()->pixelMetric(QStyle::PM_ProgressBarChunkWidth, &opt, q); QRect groove = q->style()->subElementRect(QStyle::SE_ProgressBarGroove, &opt, q); @@ -410,7 +404,7 @@ Qt::Alignment QProgressBar::alignment() const void QProgressBar::paintEvent(QPaintEvent *) { QStylePainter paint(this); - QStyleOptionProgressBarV2 opt; + QStyleOptionProgressBar opt; initStyleOption(&opt); paint.drawControl(QStyle::CE_ProgressBar, opt); d_func()->lastPaintedValue = d_func()->value; @@ -423,7 +417,7 @@ QSize QProgressBar::sizeHint() const { ensurePolished(); QFontMetrics fm = fontMetrics(); - QStyleOptionProgressBarV2 opt; + QStyleOptionProgressBar opt; initStyleOption(&opt); int cw = style()->pixelMetric(QStyle::PM_ProgressBarChunkWidth, &opt, this); QSize size = QSize(qMax(9, cw) * 7 + fm.width(QLatin1Char('0')) * 4, fm.height() + 8); diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index f2e98474b3..7ea5455bf7 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -118,10 +118,8 @@ void QTabBarPrivate::updateMacBorderMetrics() /*! Initialize \a option with the values from the tab at \a tabIndex. This method - is useful for subclasses when they need a QStyleOptionTab, QStyleOptionTabV2, - or QStyleOptionTabV3 but don't want to fill in all the information themselves. - This function will check the version of the QStyleOptionTab and fill in the - additional values for a QStyleOptionTabV2 and QStyleOptionTabV3. + is useful for subclasses when they need a QStyleOptionTab, + but don't want to fill in all the information themselves. \sa QStyleOption::initFrom(), QTabWidget::initStyleOption() */ @@ -158,14 +156,11 @@ void QTabBar::initStyleOption(QStyleOptionTab *option, int tabIndex) const option->palette.setColor(foregroundRole(), tab.textColor); option->icon = tab.icon; - if (QStyleOptionTabV2 *optionV2 = qstyleoption_cast<QStyleOptionTabV2 *>(option)) - optionV2->iconSize = iconSize(); // Will get the default value then. + option->iconSize = iconSize(); // Will get the default value then. - if (QStyleOptionTabV3 *optionV3 = qstyleoption_cast<QStyleOptionTabV3 *>(option)) { - optionV3->leftButtonSize = tab.leftWidget ? tab.leftWidget->size() : QSize(); - optionV3->rightButtonSize = tab.rightWidget ? tab.rightWidget->size() : QSize(); - optionV3->documentMode = d->documentMode; - } + option->leftButtonSize = tab.leftWidget ? tab.leftWidget->size() : QSize(); + option->rightButtonSize = tab.rightWidget ? tab.rightWidget->size() : QSize(); + option->documentMode = d->documentMode; if (tabIndex > 0 && tabIndex - 1 == d->currentIndex) option->selectedPosition = QStyleOptionTab::PreviousIsSelected; @@ -600,7 +595,7 @@ void QTabBarPrivate::layoutTab(int index) if (!(tab.leftWidget || tab.rightWidget)) return; - QStyleOptionTabV3 opt; + QStyleOptionTab opt; q->initStyleOption(&opt, index); if (tab.leftWidget) { QRect rect = q->style()->subElementRect(QStyle::SE_TabBarTabLeftButton, &opt, q); @@ -778,7 +773,7 @@ void QTabBar::setShape(Shape shape) If true then QTabBar draws a base in relation to the styles overlab. Otherwise only the tabs are drawn. - \sa QStyle::pixelMetric(), QStyle::PM_TabBarBaseOverlap, QStyleOptionTabBarBaseV2 + \sa QStyle::pixelMetric(), QStyle::PM_TabBarBaseOverlap, QStyleOptionTabBarBase */ void QTabBar::setDrawBase(bool drawBase) @@ -857,7 +852,7 @@ int QTabBar::insertTab(int index, const QIcon& icon, const QString &text) ++d->currentIndex; if (d->closeButtonOnTabs) { - QStyleOptionTabV3 opt; + QStyleOptionTab opt; initStyleOption(&opt, index); ButtonPosition closeSide = (ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, this); QAbstractButton *closeButton = new CloseButton(this); @@ -1363,7 +1358,7 @@ QSize QTabBar::tabSizeHint(int index) const //Note: this must match with the computations in QCommonStylePrivate::tabLayout Q_D(const QTabBar); if (const QTabBarPrivate::Tab *tab = d->at(index)) { - QStyleOptionTabV3 opt; + QStyleOptionTab opt; initStyleOption(&opt, index); opt.text = d->tabList.at(index).text; QSize iconSize = tab->icon.isNull() ? QSize(0, 0) : opt.iconSize; @@ -1571,7 +1566,7 @@ void QTabBar::paintEvent(QPaintEvent *) { Q_D(QTabBar); - QStyleOptionTabBarBaseV2 optTabBase; + QStyleOptionTabBarBase optTabBase; QTabBarPrivate::initStyleBaseOption(&optTabBase, this, size()); QStylePainter p(this); @@ -1593,7 +1588,7 @@ void QTabBar::paintEvent(QPaintEvent *) p.drawPrimitive(QStyle::PE_FrameTabBarBase, optTabBase); for (int i = 0; i < d->tabList.count(); ++i) { - QStyleOptionTabV3 tab; + QStyleOptionTab tab; initStyleOption(&tab, i); if (d->paintWithOffsets && d->tabList[i].dragOffset != 0) { if (vertical) { @@ -1626,7 +1621,7 @@ void QTabBar::paintEvent(QPaintEvent *) // Draw the selected tab last to get it "on top" if (selected >= 0) { - QStyleOptionTabV3 tab; + QStyleOptionTab tab; initStyleOption(&tab, selected); if (d->paintWithOffsets && d->tabList[selected].dragOffset != 0) { if (vertical) @@ -1806,7 +1801,7 @@ void QTabBar::mousePressEvent(QMouseEvent *event) d->previousPressedIndex = d->pressedIndex; #endif if (d->validIndex(d->pressedIndex)) { - QStyleOptionTabBarBaseV2 optTabBase; + QStyleOptionTabBarBase optTabBase; optTabBase.init(this); optTabBase.documentMode = d->documentMode; if (event->type() == style()->styleHint(QStyle::SH_TabBar_SelectMouseType, &optTabBase, this)) @@ -1902,7 +1897,7 @@ void QTabBar::mouseMoveEvent(QMouseEvent *event) event->ignore(); return; } - QStyleOptionTabBarBaseV2 optTabBase; + QStyleOptionTabBarBase optTabBase; optTabBase.init(this); optTabBase.documentMode = d->documentMode; } @@ -1922,7 +1917,7 @@ void QTabBarPrivate::setupMovableTab() QStylePainter p(&grabImage, q); p.initFrom(q); - QStyleOptionTabV3 tab; + QStyleOptionTab tab; q->initStyleOption(&tab, pressedIndex); tab.rect.moveTopLeft(QPoint(taboverlap, 0)); p.drawControl(QStyle::CE_TabBarTab, tab); @@ -2006,7 +2001,7 @@ void QTabBar::mouseReleaseEvent(QMouseEvent *event) int i = d->indexAtPos(event->pos()) == d->pressedIndex ? d->pressedIndex : -1; d->pressedIndex = -1; - QStyleOptionTabBarBaseV2 optTabBase; + QStyleOptionTabBarBase optTabBase; optTabBase.initFrom(this); optTabBase.documentMode = d->documentMode; if (style()->styleHint(QStyle::SH_TabBar_SelectMouseType, &optTabBase, this) == QEvent::MouseButtonRelease) diff --git a/src/widgets/widgets/qtabbar_p.h b/src/widgets/widgets/qtabbar_p.h index d5a59b05ad..38a3c138cc 100644 --- a/src/widgets/widgets/qtabbar_p.h +++ b/src/widgets/widgets/qtabbar_p.h @@ -206,7 +206,7 @@ public: int previousPressedIndex; #endif // shared by tabwidget and qtabbar - static void initStyleBaseOption(QStyleOptionTabBarBaseV2 *optTabBase, QTabBar *tabbar, QSize size) + static void initStyleBaseOption(QStyleOptionTabBarBase *optTabBase, QTabBar *tabbar, QSize size) { QStyleOptionTab tabOverlap; tabOverlap.shape = tabbar->shape(); diff --git a/src/widgets/widgets/qtabwidget.cpp b/src/widgets/widgets/qtabwidget.cpp index 1edb548206..0379bad723 100644 --- a/src/widgets/widgets/qtabwidget.cpp +++ b/src/widgets/widgets/qtabwidget.cpp @@ -331,13 +331,11 @@ void QTabWidget::initStyleOption(QStyleOptionTabWidgetFrame *option) const option->tabBarSize = t; - if (QStyleOptionTabWidgetFrameV2 *tabframe = qstyleoption_cast<QStyleOptionTabWidgetFrameV2*>(option)) { - QRect tbRect = tabBar()->geometry(); - QRect selectedTabRect = tabBar()->tabRect(tabBar()->currentIndex()); - tabframe->tabBarRect = tbRect; - selectedTabRect.moveTopLeft(selectedTabRect.topLeft() + tbRect.topLeft()); - tabframe->selectedTabRect = selectedTabRect; - } + QRect tbRect = tabBar()->geometry(); + QRect selectedTabRect = tabBar()->tabRect(tabBar()->currentIndex()); + option->tabBarRect = tbRect; + selectedTabRect.moveTopLeft(selectedTabRect.topLeft() + tbRect.topLeft()); + option->selectedTabRect = selectedTabRect; } /*! @@ -768,7 +766,7 @@ void QTabWidget::setUpLayout(bool onlyCheck) if (onlyCheck && !d->dirty) return; // nothing to do - QStyleOptionTabWidgetFrameV2 option; + QStyleOptionTabWidgetFrame option; initStyleOption(&option); // this must be done immediately, because QWidgetItem relies on it (even if !isVisible()) @@ -817,7 +815,7 @@ QSize QTabWidget::sizeHint() const { Q_D(const QTabWidget); QSize lc(0, 0), rc(0, 0); - QStyleOptionTabWidgetFrameV2 opt; + QStyleOptionTabWidgetFrame opt; initStyleOption(&opt); opt.state = QStyle::State_None; @@ -866,7 +864,7 @@ QSize QTabWidget::minimumSizeHint() const QSize sz = basicSize(d->pos == North || d->pos == South, lc, rc, s, t); - QStyleOptionTabWidgetFrameV2 opt; + QStyleOptionTabWidgetFrame opt; initStyleOption(&opt); opt.palette = palette(); opt.state = QStyle::State_None; @@ -880,7 +878,7 @@ QSize QTabWidget::minimumSizeHint() const int QTabWidget::heightForWidth(int width) const { Q_D(const QTabWidget); - QStyleOptionTabWidgetFrameV2 opt; + QStyleOptionTabWidgetFrame opt; initStyleOption(&opt); opt.state = QStyle::State_None; @@ -1226,14 +1224,14 @@ void QTabWidget::paintEvent(QPaintEvent *) if (documentMode()) { QStylePainter p(this, tabBar()); if (QWidget *w = cornerWidget(Qt::TopLeftCorner)) { - QStyleOptionTabBarBaseV2 opt; + QStyleOptionTabBarBase opt; QTabBarPrivate::initStyleBaseOption(&opt, tabBar(), w->size()); opt.rect.moveLeft(w->x() + opt.rect.x()); opt.rect.moveTop(w->y() + opt.rect.y()); p.drawPrimitive(QStyle::PE_FrameTabBarBase, opt); } if (QWidget *w = cornerWidget(Qt::TopRightCorner)) { - QStyleOptionTabBarBaseV2 opt; + QStyleOptionTabBarBase opt; QTabBarPrivate::initStyleBaseOption(&opt, tabBar(), w->size()); opt.rect.moveLeft(w->x() + opt.rect.x()); opt.rect.moveTop(w->y() + opt.rect.y()); @@ -1243,7 +1241,7 @@ void QTabWidget::paintEvent(QPaintEvent *) } QStylePainter p(this); - QStyleOptionTabWidgetFrameV2 opt; + QStyleOptionTabWidgetFrame opt; initStyleOption(&opt); opt.rect = d->panelRect; p.drawPrimitive(QStyle::PE_FrameTabWidget, opt); diff --git a/src/widgets/widgets/qtoolbarlayout.cpp b/src/widgets/widgets/qtoolbarlayout.cpp index d478b028a6..42fd93fda2 100644 --- a/src/widgets/widgets/qtoolbarlayout.cpp +++ b/src/widgets/widgets/qtoolbarlayout.cpp @@ -153,7 +153,7 @@ void QToolBarLayout::checkUsePopupMenu() void QToolBarLayout::addItem(QLayoutItem*) { - qWarning() << "QToolBarLayout::addItem(): please use addAction() instead"; + qWarning("QToolBarLayout::addItem(): please use addAction() instead"); return; } diff --git a/src/widgets/widgets/qtoolbox.cpp b/src/widgets/widgets/qtoolbox.cpp index 32fcdc3665..beb70f1283 100644 --- a/src/widgets/widgets/qtoolbox.cpp +++ b/src/widgets/widgets/qtoolbox.cpp @@ -206,26 +206,24 @@ void QToolBoxButton::initStyleOption(QStyleOptionToolBox *option) const option->text = text(); option->icon = icon(); - if (QStyleOptionToolBoxV2 *optionV2 = qstyleoption_cast<QStyleOptionToolBoxV2 *>(option)) { - QToolBox *toolBox = static_cast<QToolBox *>(parentWidget()); // I know I'm in a tool box. - int widgetCount = toolBox->count(); - int currIndex = toolBox->currentIndex(); - if (widgetCount == 1) { - optionV2->position = QStyleOptionToolBoxV2::OnlyOneTab; - } else if (indexInPage == 0) { - optionV2->position = QStyleOptionToolBoxV2::Beginning; - } else if (indexInPage == widgetCount - 1) { - optionV2->position = QStyleOptionToolBoxV2::End; - } else { - optionV2->position = QStyleOptionToolBoxV2::Middle; - } - if (currIndex == indexInPage - 1) { - optionV2->selectedPosition = QStyleOptionToolBoxV2::PreviousIsSelected; - } else if (currIndex == indexInPage + 1) { - optionV2->selectedPosition = QStyleOptionToolBoxV2::NextIsSelected; - } else { - optionV2->selectedPosition = QStyleOptionToolBoxV2::NotAdjacent; - } + QToolBox *toolBox = static_cast<QToolBox *>(parentWidget()); // I know I'm in a tool box. + const int widgetCount = toolBox->count(); + const int currIndex = toolBox->currentIndex(); + if (widgetCount == 1) { + option->position = QStyleOptionToolBox::OnlyOneTab; + } else if (indexInPage == 0) { + option->position = QStyleOptionToolBox::Beginning; + } else if (indexInPage == widgetCount - 1) { + option->position = QStyleOptionToolBox::End; + } else { + option->position = QStyleOptionToolBox::Middle; + } + if (currIndex == indexInPage - 1) { + option->selectedPosition = QStyleOptionToolBox::PreviousIsSelected; + } else if (currIndex == indexInPage + 1) { + option->selectedPosition = QStyleOptionToolBox::NextIsSelected; + } else { + option->selectedPosition = QStyleOptionToolBox::NotAdjacent; } } @@ -233,7 +231,7 @@ void QToolBoxButton::paintEvent(QPaintEvent *) { QPainter paint(this); QPainter *p = &paint; - QStyleOptionToolBoxV2 opt; + QStyleOptionToolBox opt; initStyleOption(&opt); style()->drawControl(QStyle::CE_ToolBoxTab, &opt, p, parentWidget()); } |