diff options
-rw-r--r-- | src/widgets/itemviews/qabstractitemdelegate.cpp | 1 | ||||
-rw-r--r-- | src/widgets/itemviews/qabstractitemdelegate.h | 9 | ||||
-rw-r--r-- | src/widgets/itemviews/qabstractitemview.cpp | 14 |
3 files changed, 9 insertions, 15 deletions
diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp index bdc5d69f56..514e98ed2f 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.cpp +++ b/src/widgets/itemviews/qabstractitemdelegate.cpp @@ -347,7 +347,6 @@ QString QAbstractItemDelegate::elidedText(const QFontMetrics &fontMetrics, int w \sa QHelpEvent */ -// ### Qt 5: Make this a virtual non-slot function bool QAbstractItemDelegate::helpEvent(QHelpEvent *event, QAbstractItemView *view, const QStyleOptionViewItem &option, diff --git a/src/widgets/itemviews/qabstractitemdelegate.h b/src/widgets/itemviews/qabstractitemdelegate.h index f494f0b8c8..a4859f2ff0 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.h +++ b/src/widgets/itemviews/qabstractitemdelegate.h @@ -108,11 +108,10 @@ public: static QString elidedText(const QFontMetrics &fontMetrics, int width, Qt::TextElideMode mode, const QString &text); -public Q_SLOTS: - bool helpEvent(QHelpEvent *event, - QAbstractItemView *view, - const QStyleOptionViewItem &option, - const QModelIndex &index); + virtual bool helpEvent(QHelpEvent *event, + QAbstractItemView *view, + const QStyleOptionViewItem &option, + const QModelIndex &index); Q_SIGNALS: void commitData(QWidget *editor); diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index 06544e3146..0776ca61f0 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -1658,15 +1658,11 @@ bool QAbstractItemView::viewportEvent(QEvent *event) QStyleOptionViewItemV4 option = d->viewOptionsV4(); option.rect = visualRect(index); option.state |= (index == currentIndex() ? QStyle::State_HasFocus : QStyle::State_None); - bool retval = false; - // ### Qt 5: make this a normal function call to a virtual function - QMetaObject::invokeMethod(d->delegateForIndex(index), "helpEvent", - Q_RETURN_ARG(bool, retval), - Q_ARG(QHelpEvent *, he), - Q_ARG(QAbstractItemView *, this), - Q_ARG(QStyleOptionViewItem, option), - Q_ARG(QModelIndex, index)); - return retval; + + QAbstractItemDelegate *delegate = d->delegateForIndex(index); + if (!delegate) + return false; + return delegate->helpEvent(he, this, option, index); } case QEvent::FontChange: d->doDelayedItemsLayout(); // the size of the items will change |