aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2023-09-13 17:02:35 +0800
committerMitch Curtis <mitch.curtis@qt.io>2023-09-19 20:34:44 +0800
commit1fe24b6658c0835ed9fe0bc82f62312f468ec67d (patch)
tree944e77ff6ad386621fdd6b3524eb99c0eb082cbb /src
parent44bf048c9965a3541707a56792b17538be7e0cab (diff)
HeaderView: fix custom role names not being used
QHeaderDataProxyModel did not implement roleNames(), so QAbstractItemModel::roleNames was being used. That function returns the default role names, ignoring any custom ones. Fixes: QTBUG-116748 Pick-to: 6.5 6.6 Change-Id: Iff7e0d7c71c60da7ace54aee5857605e8bea8d0c Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/quicktemplates/qquickheaderview.cpp5
-rw-r--r--src/quicktemplates/qquickheaderview_p_p.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/quicktemplates/qquickheaderview.cpp b/src/quicktemplates/qquickheaderview.cpp
index 7544a5651c..7396e6da59 100644
--- a/src/quicktemplates/qquickheaderview.cpp
+++ b/src/quicktemplates/qquickheaderview.cpp
@@ -304,6 +304,11 @@ bool QHeaderDataProxyModel::hasChildren(const QModelIndex &parent) const
return false;
}
+QHash<int, QByteArray> QHeaderDataProxyModel::roleNames() const
+{
+ return m_model ? m_model->roleNames() : QAbstractItemModel::roleNames();
+}
+
QVariant QHeaderDataProxyModel::variantValue() const
{
return QVariant::fromValue(static_cast<QObject *>(const_cast<QHeaderDataProxyModel *>(this)));
diff --git a/src/quicktemplates/qquickheaderview_p_p.h b/src/quicktemplates/qquickheaderview_p_p.h
index fe33cb0190..6b772dbab8 100644
--- a/src/quicktemplates/qquickheaderview_p_p.h
+++ b/src/quicktemplates/qquickheaderview_p_p.h
@@ -44,6 +44,7 @@ public:
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
bool hasChildren(const QModelIndex &parent = QModelIndex()) const override;
+ QHash<int, QByteArray> roleNames() const override;
inline QVariant variantValue() const;
inline Qt::Orientation orientation() const;