diff options
author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2023-09-24 19:37:06 +0200 |
---|---|---|
committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2023-09-29 20:07:10 +0200 |
commit | a126d3627cc347500c1a6bd82027efa6d451ccbd (patch) | |
tree | 33055c9aa071909626aeb23f15d28cb96cb71d9a /src/widgets/itemviews/qabstractitemview_p.h | |
parent | b289d669a5025c7969ee35f2ee0d4284d173dec5 (diff) |
Widgets/Itemviews: use pmf-style connect in QAbstractItemView
Replace all connect() calls with pmf-style connection syntax. This also
means that we have to properly disconnect everything in the ctor to not
trigger an assertion in QtPrivate::assertObjectType().
Change-Id: I8f2d64b77849bf5fea01b7f80bbd5d0c0a09c4fa
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Diffstat (limited to 'src/widgets/itemviews/qabstractitemview_p.h')
-rw-r--r-- | src/widgets/itemviews/qabstractitemview_p.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/widgets/itemviews/qabstractitemview_p.h b/src/widgets/itemviews/qabstractitemview_p.h index 7852a8a227..852ceb6ab2 100644 --- a/src/widgets/itemviews/qabstractitemview_p.h +++ b/src/widgets/itemviews/qabstractitemview_p.h @@ -28,6 +28,8 @@ #include "QtCore/qbasictimer.h" #include "QtCore/qelapsedtimer.h" +#include <array> + QT_REQUIRE_CONFIG(itemviews); QT_BEGIN_NAMESPACE @@ -178,8 +180,8 @@ public: inline void releaseEditor(QWidget *editor, const QModelIndex &index = QModelIndex()) const { if (editor) { Q_Q(const QAbstractItemView); - QObject::disconnect(editor, SIGNAL(destroyed(QObject*)), - q_func(), SLOT(editorDestroyed(QObject*))); + QObject::disconnect(editor, &QWidget::destroyed, + q, &QAbstractItemView::editorDestroyed); editor->removeEventFilter(itemDelegate); editor->hide(); QAbstractItemDelegate *delegate = q->itemDelegateForIndex(index); @@ -418,7 +420,16 @@ public: virtual QRect visualRect(const QModelIndex &index) const { return q_func()->visualRect(index); } + std::array<QMetaObject::Connection, 14> modelConnections; + std::array<QMetaObject::Connection, 4> scrollbarConnections; +#if QT_CONFIG(gestures) && QT_CONFIG(scroller) + QMetaObject::Connection scollerConnection; +#endif + private: + void connectDelegate(QAbstractItemDelegate *delegate); + void disconnectDelegate(QAbstractItemDelegate *delegate); + void disconnectAll(); inline QAbstractItemDelegate *delegateForIndex(const QModelIndex &index) const { QMap<int, QPointer<QAbstractItemDelegate> >::ConstIterator it; |