summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Ehrlicher <ch.ehrlicher@gmx.de>2023-10-11 20:39:16 +0200
committerChristian Ehrlicher <ch.ehrlicher@gmx.de>2023-10-12 21:01:09 +0200
commit0b6d2d9187f87bb24c75f6d171f43677e0845201 (patch)
tree827ddd68bf670ee3c83e29f95ba96f3564757a95
parent42bc1f9d273a8b2e129683a84f744920ab31fb59 (diff)
Widgets/QColumnView: use pmf-style connect in QColumnView
Follow-up patch for 39d486171bdda4e9ef8c0e3b4eccda8773841a71 - don't create a temporary container for the connections but add them directly into the final one. Task-number: QTBUG-117698 Change-Id: I6ea3b1a5a834f2581f3929cca13c53f47b8c9805 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
-rw-r--r--src/widgets/itemviews/qcolumnview.cpp27
1 files changed, 11 insertions, 16 deletions
diff --git a/src/widgets/itemviews/qcolumnview.cpp b/src/widgets/itemviews/qcolumnview.cpp
index b83b1cdd34..04bc8f5f88 100644
--- a/src/widgets/itemviews/qcolumnview.cpp
+++ b/src/widgets/itemviews/qcolumnview.cpp
@@ -663,12 +663,11 @@ QAbstractItemView *QColumnViewPrivate::createColumn(const QModelIndex &index, bo
{
Q_Q(QColumnView);
QAbstractItemView *view = nullptr;
- ViewConnections connections;
+ QMetaObject::Connection clickedConnection;
if (model->hasChildren(index)) {
view = q->createColumn(index);
- connections.push_back(
- QObjectPrivate::connect(view, &QAbstractItemView::clicked,
- this, &QColumnViewPrivate::clicked));
+ clickedConnection = QObjectPrivate::connect(view, &QAbstractItemView::clicked,
+ this, &QColumnViewPrivate::clicked);
} else {
if (!previewColumn)
setPreviewWidget(new QWidget(q));
@@ -676,18 +675,14 @@ QAbstractItemView *QColumnViewPrivate::createColumn(const QModelIndex &index, bo
view->setMinimumWidth(qMax(view->minimumWidth(), previewWidget->minimumWidth()));
}
- connections.insert(connections.end(),
- {QObject::connect(view, &QAbstractItemView::activated,
- q, &QColumnView::activated),
- QObject::connect(view, &QAbstractItemView::clicked,
- q, &QColumnView::clicked),
- QObject::connect(view, &QAbstractItemView::doubleClicked,
- q, &QColumnView::doubleClicked),
- QObject::connect(view, &QAbstractItemView::entered,
- q, &QColumnView::entered),
- QObject::connect(view, &QAbstractItemView::pressed,
- q, &QColumnView::pressed)});
- viewConnections.insert(view, std::move(connections));
+ viewConnections[view] = {
+ QObject::connect(view, &QAbstractItemView::activated, q, &QColumnView::activated),
+ QObject::connect(view, &QAbstractItemView::clicked, q, &QColumnView::clicked),
+ QObject::connect(view, &QAbstractItemView::doubleClicked, q, &QColumnView::doubleClicked),
+ QObject::connect(view, &QAbstractItemView::entered, q, &QColumnView::entered),
+ QObject::connect(view, &QAbstractItemView::pressed, q, &QColumnView::pressed),
+ clickedConnection
+ };
view->setFocusPolicy(Qt::NoFocus);
view->setParent(viewport);