diff options
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/effects/qpixmapfilter.cpp | 6 | ||||
-rw-r--r-- | src/widgets/itemviews/qabstractitemview.cpp | 22 | ||||
-rw-r--r-- | src/widgets/itemviews/qabstractitemview_p.h | 1 | ||||
-rw-r--r-- | src/widgets/kernel/qgridlayout.cpp | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qlayoutengine.cpp | 4 | ||||
-rw-r--r-- | src/widgets/kernel/qlayoutitem.cpp | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qopenglwidget.cpp | 6 | ||||
-rw-r--r-- | src/widgets/kernel/qwhatsthis.cpp | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 7 | ||||
-rw-r--r-- | src/widgets/styles/qfusionstyle.cpp | 6 | ||||
-rw-r--r-- | src/widgets/styles/qgtk2painter.cpp | 4 | ||||
-rw-r--r-- | src/widgets/styles/qgtkstyle.cpp | 4 | ||||
-rw-r--r-- | src/widgets/styles/qmacstyle_mac.mm | 1 | ||||
-rw-r--r-- | src/widgets/styles/qstylesheetstyle.cpp | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qabstractspinbox.cpp | 17 | ||||
-rw-r--r-- | src/widgets/widgets/qdockwidget.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qlabel.cpp | 5 | ||||
-rw-r--r-- | src/widgets/widgets/qspinbox.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qsplashscreen.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qtabwidget.cpp | 6 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbox.cpp | 10 |
21 files changed, 70 insertions, 46 deletions
diff --git a/src/widgets/effects/qpixmapfilter.cpp b/src/widgets/effects/qpixmapfilter.cpp index 8956794e06..b21726400f 100644 --- a/src/widgets/effects/qpixmapfilter.cpp +++ b/src/widgets/effects/qpixmapfilter.cpp @@ -329,7 +329,7 @@ static void convolute( QRectF sbounded = srect.adjusted(-kernelWidth / 2, -kernelHeight / 2, (kernelWidth - 1) / 2, (kernelHeight - 1) / 2); QPoint srcStartPoint = sbounded.toAlignedRect().topLeft()+(targetRect.topLeft()-rect.topLeft()); - const uint *sourceStart = (uint*)processImage.scanLine(0); + const uint *sourceStart = (const uint*)processImage.scanLine(0); uint *outputStart = (uint*)destImage->scanLine(0); int yk = srcStartPoint.y(); @@ -946,7 +946,7 @@ static void grayscale(const QImage &image, QImage &dest, const QRect& rect = QRe destRect.moveTo(QPoint(0, 0)); } - unsigned int *data = (unsigned int *)image.bits(); + const unsigned int *data = (const unsigned int *)image.bits(); unsigned int *outData = (unsigned int *)dest.bits(); if (dest.size() == image.size() && image.rect() == srcRect) { @@ -959,7 +959,7 @@ static void grayscale(const QImage &image, QImage &dest, const QRect& rect = QRe } else { int yd = destRect.top(); for (int y = srcRect.top(); y <= srcRect.bottom() && y < image.height(); y++) { - data = (unsigned int*)image.scanLine(y); + data = (const unsigned int*)image.scanLine(y); outData = (unsigned int*)dest.scanLine(yd++); int xd = destRect.left(); for (int x = srcRect.left(); x <= srcRect.right() && x < image.width(); x++) { diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index 6aa2ba08cd..2caf5d1eb3 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -1055,7 +1055,7 @@ void QAbstractItemView::setCurrentIndex(const QModelIndex &index) d->selectionModel->setCurrentIndex(index, command); d->currentIndexSet = true; if ((command & QItemSelectionModel::Current) == 0) - d->pressedPosition = visualRect(currentIndex()).center() + d->offset(); + d->currentSelectionStartIndex = index; } } @@ -1707,10 +1707,12 @@ void QAbstractItemView::mousePressEvent(QMouseEvent *event) QItemSelectionModel::SelectionFlags command = selectionCommand(index, event); d->noSelectionOnMousePress = command == QItemSelectionModel::NoUpdate || !index.isValid(); QPoint offset = d->offset(); - if ((command & QItemSelectionModel::Current) == 0) + if ((command & QItemSelectionModel::Current) == 0) { d->pressedPosition = pos + offset; - else if (!indexAt(d->pressedPosition - offset).isValid()) - d->pressedPosition = visualRect(currentIndex()).center() + offset; + d->currentSelectionStartIndex = index; + } + else if (!d->currentSelectionStartIndex.isValid()) + d->currentSelectionStartIndex = currentIndex(); if (edit(index, NoEditTriggers, event)) return; @@ -1722,7 +1724,7 @@ void QAbstractItemView::mousePressEvent(QMouseEvent *event) d->autoScroll = false; d->selectionModel->setCurrentIndex(index, QItemSelectionModel::NoUpdate); d->autoScroll = autoScroll; - QRect rect(d->pressedPosition - offset, pos); + QRect rect(visualRect(d->currentSelectionStartIndex).center(), pos); if (command.testFlag(QItemSelectionModel::Toggle)) { command &= ~QItemSelectionModel::Toggle; d->ctrlDragSelectionFlag = d->selectionModel->isSelected(index) ? QItemSelectionModel::Deselect : QItemSelectionModel::Select; @@ -2319,16 +2321,16 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) // note that we don't check if the new current index is enabled because moveCursor() makes sure it is if (command & QItemSelectionModel::Current) { d->selectionModel->setCurrentIndex(newCurrent, QItemSelectionModel::NoUpdate); - if (!indexAt(d->pressedPosition - d->offset()).isValid()) - d->pressedPosition = visualRect(oldCurrent).center() + d->offset(); - QRect rect(d->pressedPosition - d->offset(), visualRect(newCurrent).center()); + if (!d->currentSelectionStartIndex.isValid()) + d->currentSelectionStartIndex = oldCurrent; + QRect rect(visualRect(d->currentSelectionStartIndex).center(), visualRect(newCurrent).center()); setSelection(rect, command); } else { d->selectionModel->setCurrentIndex(newCurrent, command); - d->pressedPosition = visualRect(newCurrent).center() + d->offset(); + d->currentSelectionStartIndex = newCurrent; if (newCurrent.isValid()) { // We copy the same behaviour as for mousePressEvent(). - QRect rect(d->pressedPosition - d->offset(), QSize(1, 1)); + QRect rect(visualRect(newCurrent).center(), QSize(1, 1)); setSelection(rect, command); } } diff --git a/src/widgets/itemviews/qabstractitemview_p.h b/src/widgets/itemviews/qabstractitemview_p.h index c5753a91ff..b792228312 100644 --- a/src/widgets/itemviews/qabstractitemview_p.h +++ b/src/widgets/itemviews/qabstractitemview_p.h @@ -370,6 +370,7 @@ public: QPersistentModelIndex enteredIndex; QPersistentModelIndex pressedIndex; + QPersistentModelIndex currentSelectionStartIndex; Qt::KeyboardModifiers pressedModifiers; QPoint pressedPosition; bool pressedAlreadySelected; diff --git a/src/widgets/kernel/qgridlayout.cpp b/src/widgets/kernel/qgridlayout.cpp index 0e0c1588a1..85898ae86c 100644 --- a/src/widgets/kernel/qgridlayout.cpp +++ b/src/widgets/kernel/qgridlayout.cpp @@ -1275,7 +1275,7 @@ QSize QGridLayout::maximumSize() const */ bool QGridLayout::hasHeightForWidth() const { - return ((QGridLayout*)this)->d_func()->hasHeightForWidth(horizontalSpacing(), verticalSpacing()); + return const_cast<QGridLayout*>(this)->d_func()->hasHeightForWidth(horizontalSpacing(), verticalSpacing()); } /*! diff --git a/src/widgets/kernel/qlayoutengine.cpp b/src/widgets/kernel/qlayoutengine.cpp index ae10b84e81..f071ca567e 100644 --- a/src/widgets/kernel/qlayoutengine.cpp +++ b/src/widgets/kernel/qlayoutengine.cpp @@ -370,7 +370,7 @@ Q_WIDGETS_EXPORT QSize qSmartMinSize(const QSize &sizeHint, const QSize &minSize Q_WIDGETS_EXPORT QSize qSmartMinSize(const QWidgetItem *i) { - QWidget *w = ((QWidgetItem *)i)->widget(); + QWidget *w = const_cast<QWidgetItem *>(i)->widget(); return qSmartMinSize(w->sizeHint(), w->minimumSizeHint(), w->minimumSize(), w->maximumSize(), w->sizePolicy()); @@ -408,7 +408,7 @@ Q_WIDGETS_EXPORT QSize qSmartMaxSize(const QSize &sizeHint, Q_WIDGETS_EXPORT QSize qSmartMaxSize(const QWidgetItem *i, Qt::Alignment align) { - QWidget *w = ((QWidgetItem*)i)->widget(); + QWidget *w = const_cast<QWidgetItem*>(i)->widget(); return qSmartMaxSize(w->sizeHint().expandedTo(w->minimumSizeHint()), w->minimumSize(), w->maximumSize(), w->sizePolicy(), align); diff --git a/src/widgets/kernel/qlayoutitem.cpp b/src/widgets/kernel/qlayoutitem.cpp index a79d9bb2c6..0e69bbc8ae 100644 --- a/src/widgets/kernel/qlayoutitem.cpp +++ b/src/widgets/kernel/qlayoutitem.cpp @@ -341,6 +341,8 @@ QSpacerItem * QSpacerItem::spacerItem() } /*! + \since 5.5 + Returns the size policy of this item. */ QSizePolicy QSpacerItem::sizePolicy() const diff --git a/src/widgets/kernel/qopenglwidget.cpp b/src/widgets/kernel/qopenglwidget.cpp index 3b33894627..8faa9f8681 100644 --- a/src/widgets/kernel/qopenglwidget.cpp +++ b/src/widgets/kernel/qopenglwidget.cpp @@ -691,7 +691,7 @@ void QOpenGLWidgetPrivate::beginCompose() if (flushPending) { flushPending = false; q->makeCurrent(); - context->functions()->glFlush(); + static_cast<QOpenGLExtensions *>(context->functions())->flushShared(); } hasBeenComposed = true; emit q->aboutToCompose(); @@ -768,7 +768,7 @@ void QOpenGLWidgetPrivate::resolveSamples() q->makeCurrent(); QRect rect(QPoint(0, 0), fbo->size()); QOpenGLFramebufferObject::blitFramebuffer(resolvedFbo, rect, fbo, rect); - QOpenGLContext::currentContext()->functions()->glFlush(); + flushPending = true; } } @@ -779,7 +779,7 @@ void QOpenGLWidgetPrivate::invokeUserPaint() f->glViewport(0, 0, q->width() * q->devicePixelRatio(), q->height() * q->devicePixelRatio()); q->paintGL(); - f->glFlush(); + flushPending = true; } void QOpenGLWidgetPrivate::render() diff --git a/src/widgets/kernel/qwhatsthis.cpp b/src/widgets/kernel/qwhatsthis.cpp index db9e09c8c2..5fb4695687 100644 --- a/src/widgets/kernel/qwhatsthis.cpp +++ b/src/widgets/kernel/qwhatsthis.cpp @@ -495,7 +495,7 @@ private slots: QWhatsThisAction::QWhatsThisAction(QObject *parent) : QAction(tr("What's This?"), parent) { #ifndef QT_NO_IMAGEFORMAT_XPM - QPixmap p((const char**)button_image); + QPixmap p(button_image); setIcon(p); #endif setCheckable(true); diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 850490ff6b..ad0142c5df 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -4285,7 +4285,7 @@ QPoint QWidget::mapFromParent(const QPoint &pos) const QWidget *QWidget::window() const { - QWidget *w = (QWidget *)this; + QWidget *w = const_cast<QWidget *>(this); QWidget *p = w->parentWidget(); while (!w->isWindow() && p) { w = p; @@ -5353,7 +5353,10 @@ void QWidgetPrivate::render_helper(QPainter *painter, const QPoint &targetOffset if (size.isNull()) return; - QPixmap pixmap(size); + const qreal pixmapDevicePixelRatio = qreal(painter->device()->devicePixelRatio()); + QPixmap pixmap(size * pixmapDevicePixelRatio); + pixmap.setDevicePixelRatio(pixmapDevicePixelRatio); + if (!(renderFlags & QWidget::DrawWindowBackground) || !isOpaque) pixmap.fill(Qt::transparent); q->render(&pixmap, QPoint(), toBePainted, renderFlags); diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index 8589b6b544..1f7a87e23d 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -3707,12 +3707,12 @@ QPixmap QFusionStyle::standardPixmap(StandardPixmap standardPixmap, const QStyle #ifndef QT_NO_IMAGEFORMAT_XPM switch (standardPixmap) { case SP_TitleBarNormalButton: - return QPixmap((const char **)dock_widget_restore_xpm); + return QPixmap(dock_widget_restore_xpm); case SP_TitleBarMinButton: - return QPixmap((const char **)workspace_minimize); + return QPixmap(workspace_minimize); case SP_TitleBarCloseButton: case SP_DockWidgetCloseButton: - return QPixmap((const char **)dock_widget_close_xpm); + return QPixmap(dock_widget_close_xpm); default: break; diff --git a/src/widgets/styles/qgtk2painter.cpp b/src/widgets/styles/qgtk2painter.cpp index 45528cd52c..489d456617 100644 --- a/src/widgets/styles/qgtk2painter.cpp +++ b/src/widgets/styles/qgtk2painter.cpp @@ -234,7 +234,7 @@ void QGtk2Painter::paintBoxGap(GtkWidget *gtkWidget, const gchar* part, shadow, NULL, gtkWidget, - (gchar*)part, + (const gchar*)part, 0, 0, rect.width(), rect.height(), @@ -618,7 +618,7 @@ void QGtk2Painter::paintExtention(GtkWidget *gtkWidget, if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) { DRAW_TO_CACHE(QGtk2PainterPrivate::gtk_paint_extension (style, pixmap, state, shadow, NULL, gtkWidget, - (gchar*)part, 0, 0, + (const gchar*)part, 0, 0, rect.width(), rect.height(), gap_pos)); diff --git a/src/widgets/styles/qgtkstyle.cpp b/src/widgets/styles/qgtkstyle.cpp index a585755ddd..348727b328 100644 --- a/src/widgets/styles/qgtkstyle.cpp +++ b/src/widgets/styles/qgtkstyle.cpp @@ -4056,7 +4056,7 @@ QPixmap QGtkStyle::standardPixmap(StandardPixmap sp, const QStyleOption *option, switch (sp) { case SP_TitleBarNormalButton: { - QImage restoreButton((const char **)dock_widget_restore_xpm); + QImage restoreButton(dock_widget_restore_xpm); QColor alphaCorner = restoreButton.color(2); alphaCorner.setAlpha(80); restoreButton.setColor(2, alphaCorner.rgba()); @@ -4069,7 +4069,7 @@ QPixmap QGtkStyle::standardPixmap(StandardPixmap sp, const QStyleOption *option, case SP_TitleBarCloseButton: // Fall through case SP_DockWidgetCloseButton: { - QImage closeButton((const char **)dock_widget_close_xpm); + QImage closeButton(dock_widget_close_xpm); QColor alphaCorner = closeButton.color(2); alphaCorner.setAlpha(80); closeButton.setColor(2, alphaCorner.rgba()); diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 4f9ed2c325..67970ba33d 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -1753,6 +1753,7 @@ QMacStylePrivate::QMacStylePrivate() QMacStylePrivate::~QMacStylePrivate() { + AutoReleasePool pool; Q_FOREACH (NSView *b, cocoaControls) [b release]; } diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 014333700a..4993457b32 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -1478,7 +1478,7 @@ public: do { const ushort *uc = (const ushort *)nodeName.constData(); const ushort *e = uc + nodeName.length(); - const uchar *c = (uchar *)metaObject->className(); + const uchar *c = (const uchar *)metaObject->className(); while (*c && uc != e && (*uc == *c || (*c == ':' && *uc == '-'))) { ++uc; ++c; @@ -1579,7 +1579,7 @@ QVector<QCss::StyleRule> QStyleSheetStyle::styleRules(const QObject *obj) const styleSelector.styleSheets += objectSs; StyleSelector::NodePtr n; - n.ptr = (void *)obj; + n.ptr = const_cast<QObject *>(obj); QVector<QCss::StyleRule> rules = styleSelector.styleRulesForNode(n); styleSheetCaches->styleRulesCache.insert(obj, rules); return rules; diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index 2f833499d9..c96c779d6a 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -848,10 +848,15 @@ QSize QAbstractSpinBox::sizeHint() const int w = 0; QString s; QString fixedContent = d->prefix + d->suffix + QLatin1Char(' '); - s = d->textFromValue(d->minimum) + fixedContent; + s = d->textFromValue(d->minimum); + s.truncate(18); + s += fixedContent; w = qMax(w, fm.width(s)); - s = d->textFromValue(d->maximum) + fixedContent; + s = d->textFromValue(d->maximum); + s.truncate(18); + s += fixedContent; w = qMax(w, fm.width(s)); + if (d->specialValueText.size()) { s = d->specialValueText; w = qMax(w, fm.width(s)); @@ -884,9 +889,13 @@ QSize QAbstractSpinBox::minimumSizeHint() const QString s; QString fixedContent = d->prefix + QLatin1Char(' '); - s = d->textFromValue(d->minimum) + fixedContent; + s = d->textFromValue(d->minimum); + s.truncate(18); + s += fixedContent; w = qMax(w, fm.width(s)); - s = d->textFromValue(d->maximum) + fixedContent; + s = d->textFromValue(d->maximum); + s.truncate(18); + s += fixedContent; w = qMax(w, fm.width(s)); if (d->specialValueText.size()) { diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index bee12f2d85..db8d167b0d 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -790,7 +790,7 @@ bool QDockWidgetPrivate::isAnimating() const if (mainWinLayout == 0) return false; - return (void*)mainWinLayout->pluggingWidget == (void*)q; + return (const void*)mainWinLayout->pluggingWidget == (const void*)q; } bool QDockWidgetPrivate::mousePressEvent(QMouseEvent *event) diff --git a/src/widgets/widgets/qlabel.cpp b/src/widgets/widgets/qlabel.cpp index 09a1e7983a..83e94c4128 100644 --- a/src/widgets/widgets/qlabel.cpp +++ b/src/widgets/widgets/qlabel.cpp @@ -1080,7 +1080,10 @@ void QLabel::paintEvent(QPaintEvent *) if (!d->cachedimage) d->cachedimage = new QImage(d->pixmap->toImage()); delete d->scaledpixmap; - d->scaledpixmap = new QPixmap(QPixmap::fromImage(d->cachedimage->scaled(cr.size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation))); + QImage scaledImage = + d->cachedimage->scaled(cr.size() * devicePixelRatio(), + Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + d->scaledpixmap = new QPixmap(QPixmap::fromImage(scaledImage)); } pix = *d->scaledpixmap; } else diff --git a/src/widgets/widgets/qspinbox.cpp b/src/widgets/widgets/qspinbox.cpp index 39f0b24307..457e2e1e4c 100644 --- a/src/widgets/widgets/qspinbox.cpp +++ b/src/widgets/widgets/qspinbox.cpp @@ -587,6 +587,9 @@ void QSpinBox::fixup(QString &input) const choice in addition to the range of numeric values. See setSpecialValueText() for how to do this with QDoubleSpinBox. + \note The displayed value of the QDoubleSpinBox is limited to 18 characters + in addition to eventual prefix and suffix content. This limitation is used + to keep the double spin box usable even with extremely large values. \sa QSpinBox, QDateTimeEdit, QSlider, {Spin Boxes Example} */ diff --git a/src/widgets/widgets/qsplashscreen.cpp b/src/widgets/widgets/qsplashscreen.cpp index 1ee69c7635..b8c70f2f0f 100644 --- a/src/widgets/widgets/qsplashscreen.cpp +++ b/src/widgets/widgets/qsplashscreen.cpp @@ -281,7 +281,7 @@ void QSplashScreen::setPixmap(const QPixmap &pixmap) d->pixmap = pixmap; setAttribute(Qt::WA_TranslucentBackground, pixmap.hasAlpha()); - QRect r(QPoint(), d->pixmap.size()); + QRect r(QPoint(), d->pixmap.size() / d->pixmap.devicePixelRatio()); resize(r.size()); move(QApplication::desktop()->screenGeometry().center() - r.center()); if (isVisible()) diff --git a/src/widgets/widgets/qtabwidget.cpp b/src/widgets/widgets/qtabwidget.cpp index 707c430aa8..8ca5f0dc01 100644 --- a/src/widgets/widgets/qtabwidget.cpp +++ b/src/widgets/widgets/qtabwidget.cpp @@ -826,7 +826,7 @@ QSize QTabWidget::sizeHint() const if(d->rightCornerWidget) rc = d->rightCornerWidget->sizeHint(); if (!d->dirty) { - QTabWidget *that = (QTabWidget*)this; + QTabWidget *that = const_cast<QTabWidget*>(this); that->setUpLayout(true); } QSize s(d->stack->sizeHint()); @@ -858,7 +858,7 @@ QSize QTabWidget::minimumSizeHint() const if(d->rightCornerWidget) rc = d->rightCornerWidget->minimumSizeHint(); if (!d->dirty) { - QTabWidget *that = (QTabWidget*)this; + QTabWidget *that = const_cast<QTabWidget*>(this); that->setUpLayout(true); } QSize s(d->stack->minimumSizeHint()); @@ -894,7 +894,7 @@ int QTabWidget::heightForWidth(int width) const if(d->rightCornerWidget) rc = d->rightCornerWidget->sizeHint(); if (!d->dirty) { - QTabWidget *that = (QTabWidget*)this; + QTabWidget *that = const_cast<QTabWidget*>(this); that->setUpLayout(true); } QSize t(d->tabs->sizeHint()); diff --git a/src/widgets/widgets/qtoolbox.cpp b/src/widgets/widgets/qtoolbox.cpp index 0127e0766a..32fcdc3665 100644 --- a/src/widgets/widgets/qtoolbox.cpp +++ b/src/widgets/widgets/qtoolbox.cpp @@ -111,7 +111,7 @@ public: void _q_buttonClicked(); void _q_widgetDestroyed(QObject*); - Page *page(QWidget *widget) const; + const Page *page(QWidget *widget) const; const Page *page(int index) const; Page *page(int index); @@ -123,14 +123,14 @@ public: Page *currentPage; }; -QToolBoxPrivate::Page *QToolBoxPrivate::page(QWidget *widget) const +const QToolBoxPrivate::Page *QToolBoxPrivate::page(QWidget *widget) const { if (!widget) return 0; for (PageList::ConstIterator i = pageList.constBegin(); i != pageList.constEnd(); ++i) if ((*i).widget == widget) - return (Page*) &(*i); + return (const Page*) &(*i); return 0; } @@ -448,7 +448,7 @@ void QToolBoxPrivate::_q_widgetDestroyed(QObject *object) // no verification - vtbl corrupted already QWidget *p = (QWidget*)object; - QToolBoxPrivate::Page *c = page(p); + const QToolBoxPrivate::Page *c = page(p); if (!p || !c) return; @@ -550,7 +550,7 @@ QWidget *QToolBox::widget(int index) const int QToolBox::indexOf(QWidget *widget) const { Q_D(const QToolBox); - QToolBoxPrivate::Page *c = (widget ? d->page(widget) : 0); + const QToolBoxPrivate::Page *c = (widget ? d->page(widget) : 0); return c ? d->pageList.indexOf(*c) : -1; } |