From f88ed762a0bbe373d7acf3d71ea50c4efdd2ef5b Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 16 Oct 2024 12:00:25 +0200 Subject: [PATCH] ExtensionManager: Simplify ExtensionItemDelegate a bit Lifetime of m_itemWidget is the same as the delegate's. Also the need to have it mutable now makes it clear that the widget is in fact mutated. Change-Id: Ia24d0787cbf43e7b02652f17e89baeb20c0fc079 Reviewed-by: Alessandro Portale --- .../extensionmanager/extensionsbrowser.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/plugins/extensionmanager/extensionsbrowser.cpp b/src/plugins/extensionmanager/extensionsbrowser.cpp index 69ce63268f2..222cd7b9542 100644 --- a/src/plugins/extensionmanager/extensionsbrowser.cpp +++ b/src/plugins/extensionmanager/extensionsbrowser.cpp @@ -375,30 +375,23 @@ class ExtensionItemDelegate : public QItemDelegate public: explicit ExtensionItemDelegate(QObject *parent) : QItemDelegate(parent) - { - m_itemWidget = new ExtensionItemWidget; - } - - ~ExtensionItemDelegate() - { - delete m_itemWidget; - } + {} void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override { - m_itemWidget->paint(painter, option, index); + m_itemWidget.paint(painter, option, index); } QSize sizeHint([[maybe_unused]] const QStyleOptionViewItem &option, const QModelIndex &index) const override { - m_itemWidget->setData(index); - return {cellWidth, m_itemWidget->minimumSizeHint().height() + gapSize}; + m_itemWidget.setData(index); + return {cellWidth, m_itemWidget.minimumSizeHint().height() + gapSize}; } private: - ExtensionItemWidget *m_itemWidget; + mutable ExtensionItemWidget m_itemWidget; }; class SortFilterProxyModel : public QSortFilterProxyModel