From 40206a9f6d7635bb19305d1c8d74908808e3529e Mon Sep 17 00:00:00 2001 From: Jesus Fernandez Date: Thu, 18 May 2017 15:26:12 +0200 Subject: Modify QSqlQueryModel roleNames QSqlQueryModel::roleNames was exposing the default QAbstractItemModel roles. Only "display" role makes sense because it's a read-only model and it is not providing any other data information. [ChangeLog][Important Behavior Changes] The names of the roles returned by QSqlQueryModel::roleNames now only include a name for the Qt::DisplayRole. Previously all the roles names of QSqlQueryModel were returned. Task-number: QTBUG-60857 Change-Id: Ib18aa0e7083a828648767d700c5af05b6aa84f4f Reviewed-by: Andy Shaw --- src/sql/models/qsqlquerymodel.cpp | 24 ++++++++++++++++++++++++ src/sql/models/qsqlquerymodel.h | 2 ++ 2 files changed, 26 insertions(+) diff --git a/src/sql/models/qsqlquerymodel.cpp b/src/sql/models/qsqlquerymodel.cpp index 864c5b9946..b9c7c3993a 100644 --- a/src/sql/models/qsqlquerymodel.cpp +++ b/src/sql/models/qsqlquerymodel.cpp @@ -212,6 +212,30 @@ bool QSqlQueryModel::canFetchMore(const QModelIndex &parent) const return (!parent.isValid() && !d->atEnd); } +/*! + \since 5.10 + \override + + Returns the model's role names. + + Qt defines only one role for the QSqlQueryModel: + + \table + \header + \li Qt Role + \li QML Role Name + \row + \li Qt::DisplayRole + \li display + \endtable +*/ +QHash QSqlQueryModel::roleNames() const +{ + return QHash { + { Qt::DisplayRole, QByteArrayLiteral("display") } + }; +} + /*! \internal */ void QSqlQueryModel::beginInsertRows(const QModelIndex &parent, int first, int last) diff --git a/src/sql/models/qsqlquerymodel.h b/src/sql/models/qsqlquerymodel.h index f786f71300..b773b90475 100644 --- a/src/sql/models/qsqlquerymodel.h +++ b/src/sql/models/qsqlquerymodel.h @@ -86,6 +86,8 @@ public: void fetchMore(const QModelIndex &parent = QModelIndex()) Q_DECL_OVERRIDE; bool canFetchMore(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; + QHash roleNames() const override; + protected: void beginInsertRows(const QModelIndex &parent, int first, int last); void endInsertRows(); -- cgit v1.2.3