diff options
| author | Mitch Curtis <mitch.curtis@qt.io> | 2023-09-13 17:02:35 +0800 |
|---|---|---|
| committer | Mitch Curtis <mitch.curtis@qt.io> | 2023-09-19 20:34:44 +0800 |
| commit | 1fe24b6658c0835ed9fe0bc82f62312f468ec67d (patch) | |
| tree | 944e77ff6ad386621fdd6b3524eb99c0eb082cbb /src | |
| parent | 44bf048c9965a3541707a56792b17538be7e0cab (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.cpp | 5 | ||||
| -rw-r--r-- | src/quicktemplates/qquickheaderview_p_p.h | 1 |
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; |
