diff options
5 files changed, 21 insertions, 11 deletions
diff --git a/examples/declarative/modelviews/abstractitemmodel/model.cpp b/examples/declarative/modelviews/abstractitemmodel/model.cpp index dd103d26..0684ff63 100644 --- a/examples/declarative/modelviews/abstractitemmodel/model.cpp +++ b/examples/declarative/modelviews/abstractitemmodel/model.cpp @@ -58,10 +58,6 @@ QString Animal::size() const AnimalModel::AnimalModel(QObject *parent) : QAbstractListModel(parent) { - QHash<int, QByteArray> roles; - roles[TypeRole] = "type"; - roles[SizeRole] = "size"; - setRoleNames(roles); } //![0] @@ -88,3 +84,11 @@ QVariant AnimalModel::data(const QModelIndex & index, int role) const { return QVariant(); } +QHash<int, QByteArray> AnimalModel::roleNames() const +{ + QHash<int, QByteArray> roles; + roles[TypeRole] = "type"; + roles[SizeRole] = "size"; + return roles; +} + diff --git a/examples/declarative/modelviews/abstractitemmodel/model.h b/examples/declarative/modelviews/abstractitemmodel/model.h index 1378c448..82c1c651 100644 --- a/examples/declarative/modelviews/abstractitemmodel/model.h +++ b/examples/declarative/modelviews/abstractitemmodel/model.h @@ -74,6 +74,8 @@ public: QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const; + QHash<int,QByteArray> roleNames() const; + private: QList<Animal> m_animals; //![2] diff --git a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp index 6f5ddee6..a5d1907a 100644 --- a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp +++ b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp @@ -155,11 +155,6 @@ public: QDeclarativeFolderListModel::QDeclarativeFolderListModel(QObject *parent) : QAbstractListModel(parent) { - QHash<int, QByteArray> roles; - roles[FileNameRole] = "fileName"; - roles[FilePathRole] = "filePath"; - setRoleNames(roles); - d = new QDeclarativeFolderListModelPrivate; d->model.setFilter(QDir::AllDirs | QDir::Files | QDir::Drives | QDir::NoDotAndDotDot); connect(&d->model, SIGNAL(rowsInserted(const QModelIndex&,int,int)) @@ -190,6 +185,14 @@ QVariant QDeclarativeFolderListModel::data(const QModelIndex &index, int role) c return rv; } +QHash<int, QByteArray> QDeclarativeFolderListModel::roleNames() const +{ + QHash<int, QByteArray> roles; + roles[FileNameRole] = "fileName"; + roles[FilePathRole] = "filePath"; + return roles; +} + /*! \qmlproperty int FolderListModel::count diff --git a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h index e15d717b..79a3d387 100644 --- a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h +++ b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h @@ -88,6 +88,7 @@ public: int rowCount(const QModelIndex &parent) const; QVariant data(const QModelIndex &index, int role) const; + QHash<int,QByteArray> roleNames() const; //![abslistmodel] //![count] diff --git a/src/imports/shaders/shadereffectitem.cpp b/src/imports/shaders/shadereffectitem.cpp index ae44b312..140b576d 100644 --- a/src/imports/shaders/shadereffectitem.cpp +++ b/src/imports/shaders/shadereffectitem.cpp @@ -733,12 +733,12 @@ void ShaderEffectItem::setSource(const QVariant &var, int index) source.item = 0; if (var.isNull()) { return; - } else if (!qVariantCanConvert<QObject *>(var)) { + } else if (!var.canConvert<QObject *>()) { qWarning("Could not assign source of type '%s' to property '%s'.", var.typeName(), source.name.constData()); return; } - QObject *obj = qVariantValue<QObject *>(var); + QObject *obj = var.value<QObject *>(); source.source = qobject_cast<ShaderEffectSource *>(obj); source.item = qobject_cast<QDeclarativeItem *>(obj); |